Я пытаюсь установить Hadoop в версии Ubuntu 12.04. Следуя инструкциям
http://michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ , я установил их java-6-openjdk
из программного центра Ubuntu. Я поставил java_home
в .bashrc
. Также установлен java_home
в Hadoop conf/env.sh
. При форматировании наменода я получаю следующую ошибку:
usr/lib/jvm/java-6-openjdk/bin/java no such file or directory.
Спасибо. Но это 64-битная ОС.
Ответы:
Руководства, за которыми я следовал, когда у меня было 12.04, были:
На самом деле я был против MyLearning, потому что первым, что он порекомендовал, была Oracle Java 7 вместо OpenJDK 7, но у меня были некоторые проблемы с OpenJDK 7, когда я пробовал это, поэтому мне пришлось пойти с Oracle.
Руководство в основном прямо вперед и вот оно:
Установить Java
Создать пользователя Hadoop
Где hduser - это пользователь Hadoop, которого вы хотите иметь.
Настройка SSH
Чтобы убедиться, что установка SSH прошла успешно, вы можете открыть новый терминал и попытаться создать сессию ssh, используя
hduser
следующую команду:переустановите ssh, если localhost не подключается (вам может потребоваться добавить
hduser
в sudo, как показано ниже)Редактировать Судо
Добавьте в конце строку, чтобы добавить hduser в sudoers
Для сохранения нажмите CTRL+ X, введите Yи нажмитеENTER
Отключить IPv6
или
Скопируйте следующие строки в конец файла:
Если у вас возникли проблемы с сообщением, у вас нет прав, просто запустите предыдущую команду с учетной записью root (на случай, если sudo недостаточно. Для меня это было)
Теперь перезагрузитесь.
Вы тоже можете сделать,
sudo sysctl -p
но я лучше перезагрузить.После перезагрузки убедитесь, что IPv6 выключен:
это должно сказать 1 . Если он говорит 0 , вы что-то пропустили.
Установка Hadoop
Есть несколько способов сделать это, один из которых предлагает Руководство, это загрузить его с сайта Apache Hadoop и распаковать файл в вашей
hduser
домашней папке. Переименуйте извлеченную папку вhadoop
.Другой способ - использовать PPA, протестированный на 12.04:
ПРИМЕЧАНИЕ: PPA может работать для некоторых, а для других - нет. Тот, который я попробовал, был загружен с официального сайта, потому что я не знал о PPA.
Обновить
$HOME/.bashrc
Вам нужно будет обновить
.bashrc
дляhduser
(и для каждого пользователя вам нужно администрировать Hadoop). Чтобы открыть.bashrc
файл, вам нужно открыть его как root:или
Затем вы добавите следующие конфигурации в конец
.bashrc
файлаТеперь, если у вас есть OpenJDK7, это будет выглядеть примерно так:
Здесь следует обратить внимание на папку, в которой находится Java с версией AMD64. Если вышеупомянутое не работает, вы можете попробовать поискать в этой конкретной папке или настроить Java, который будет использоваться с:
Теперь для некоторого полезного псевдонима:
Конфигурирование Hadoop
Ниже приведены файлы конфигурации, которые мы можем использовать для правильной настройки. Вот некоторые из файлов, которые вы будете использовать с Hadoop (дополнительная информация на этом сайте ):
start-dfs.sh
- Запускает демоны Hadoop DFS, наменоды и датододы. Используйте это перед start-mapred.shstop-dfs.sh
- Останавливает демоны Hadoop DFS.start-mapred.sh
- Запускает Hadoop Map / Снижение демонов, трекеров и треккеров.stop-mapred.sh
- Останавливает карту Hadoop / Уменьшает демонов.start-all.sh
- Запускает все демоны Hadoop, namenode, датододы, трекеры и треккеры. Устаревшие; используйте start-dfs.sh, затем start-mapred.shstop-all.sh
- Останавливает все демоны Hadoop. Устаревшие; используйте stop-mapred.sh, затем stop-dfs.shНо прежде чем мы начнем их использовать, нам нужно изменить несколько файлов в
/conf
папке.hadoop-env.sh
Ищите файл
hadoop-env.sh
, нам нужно только обновить переменную JAVA_HOME в этом файле:или
или в последних версиях он будет в
или
Затем измените следующую строку:
к
Примечание: если вы получили сообщение об
Error: JAVA_HOME is not set
ошибке при запуске служб, вы забыли раскомментировать предыдущую строку (просто удалите #).ядро-site.xml
Теперь нам нужно создать временный каталог для фреймворка Hadoop. Если вам нужна эта среда для тестирования или быстрого прототипа (например, разработка простых программ hadoop для вашего личного теста ...), я предлагаю создать эту папку в
/home/hduser/
каталоге, в противном случае вам следует создать эту папку в общем месте в общей папке ( как / usr / local ...) но вы можете столкнуться с некоторыми проблемами безопасности. Но чтобы преодолеть исключения, которые могут быть вызваны безопасностью (например, java.io.IOException), я создал папку tmp в пространстве hduser.Чтобы создать эту папку, введите следующую команду:
Обратите внимание, что если вы хотите сделать другого пользователя-администратора (например, hduser2 в группе hadoop), вы должны предоставить ему разрешение на чтение и запись для этой папки, используя следующие команды:
Теперь мы можем открыть
hadoop/conf/core-site.xml
для редактирования записи hadoop.tmp.dir. Мы можем открыть core-site.xml с помощью текстового редактора:или
Затем добавьте следующие конфигурации между
<configure>
элементами xml :Сейчас редактирую
mapred-site.xml
Сейчас редактирую
hdfs-site.xml
Форматирование NameNode
Теперь вы можете начать работу над узлом. Первый формат:
или
Вы должны отформатировать NameNode в вашей HDFS. Вы не должны делать этот шаг, когда система работает. Обычно это делается один раз при первой установке.
Запуск кластера Hadoop
Вам нужно будет перейти в каталог hadoop / bin и запустить
./start-all.sh
скрипт.Если у вас есть версия, отличная от показанной в руководствах (которая, скорее всего, будет у вас, если вы сделаете это с PPA или более новой версией), попробуйте это следующим образом:
Это запустит Namenode, Datanode, Jobtracker и Tasktracker на вашей машине.
Проверка, работает ли Hadoop
Есть хороший инструмент под названием
jps
. Вы можете использовать его, чтобы убедиться, что все услуги работают. В вашей папке hadoop bin введите:Он должен показать вам все процессы, связанные с Hadoop.
ПРИМЕЧАНИЕ: Поскольку это было сделано около 6 месяцев назад для меня, если какая-либо часть не работает, дайте мне знать.
Hadoop Используя Juju (Очарование Джуджу для Hadoop)
Взято из очаровательного Hadoop
Я предполагаю, что следующее уже установлено:
~/.juju/environments.yaml
информацию, касающуюся сервера, который вы будете использовать, включая источник PPA.Хорошо, теперь выполните следующие действия, чтобы запустить сервис Hadoop:
Загрузите среду для Hadoop
Подождите, пока он не закончится, затем проверьте, правильно ли он подключается:
Развернуть Hadoop (Мастер и Раб)
Создать отношения
Expose Hadoop (поскольку вы уже развернули и создали отношения, служба должна работать)
И проверьте статус, чтобы увидеть, работает ли он правильно:
До сих пор у вас работает Hadoop. Есть еще много вещей, которые вы можете сделать, которые можно найти в приведенной ссылке или в официальном Чаржу Джуджу для Hadoop.
Чтобы ознакомиться с последними версиями JuJu Charms (настройки, пошаговое руководство и т. Д.), Посетите: JuJu Charms и создайте собственную среду JuJu и посмотрите, как настраивается каждый файл и как подключается каждая служба.
источник
hduser (ALL)=(ALL:ALL) ALL
выдает синтаксическую ошибку ...hduser ALL=(ALL:ALL) ALL
, убери первую пару скобок.bachrc
- подожди, пока Иоганн Себастьян услышит это. Ой, подождите, он не может ... потому что он глухой. :-DЯ успешно установил Hadoop, установив путь
JAVA_HOME
какusr/lib/jvm/java-6-openjdk-amd64
.источник
Производная от @Luis Альварадо ответа , вот моя версия для Ubuntu 14.04 и Hadoop 2.5.1
Вкратце
hduser
hduser
с этого моментаhduser
удаленный доступ через ssh с паролемВыполнено. Удачи!
Подробные шаги
Установить Java
Загрузить и установить
Убедитесь, что у вас установлена Java7
мы должны
java
указать на/usr/lib/jvm/java-7-oracle/jre/bin/java
Подготовить исполнительного пользователя для Hadoop
hduser
Создать пользователя
hduser
в группеhadoop
Грант
hduser
на SUDO привилегииРедактировать sudo
Добавьте в конец эту строку
Переключиться на
hduser
с этого моментаРазрешить
hduser
удаленный доступ через ssh с паролемУстановить openssh
Генерируйте открытый / закрытый ключ RSA для соединения SSH; парольная фраза пуста как
parameter -P ""
Убедитесь, что
hduser
ssh может удаленно удаленно без пароляОтключить IPv6
Отредактируйте файл конфигурации
Копировать до конца
Убедитесь, что IPv6 выключен перезагрузкой или вызовом
Тогда позвони
Должен сказать 1, что означает ОК ^^
Скачать и настроить пакет Hadoop
Загрузите пакеты Hadoop 2.5.1 с сайта Apache Hadoop
Прямой URL для этого пакета - это ссылка
Итак, давайте загрузим в
hduser
домашнюю папку, распакуем ее и переименуем вhadoop
Убедитесь, что Hadoop хранится
hduser
домаПодготовьте системный путь $ HADOOP_HOME и $ JAVA_HOME
Редактировать
hduser
файл .bashrcПоложить в конец значения для
$HADOOP_HOME
и$JAVA_HOME
Добавьте
binary
папки Hadoop в систему$PATH
Откройте новый терминал, войдите как
hduser
и убедитесь, что у вас есть $ HADOOP_HOME с доступными командамиМы должны увидеть полный путь этих имен.
Конфиг услуги Hadoop
Каждый компонент в Hadoop настраивается с использованием файла XML.
Общие свойства находятся в core-site.xml
Свойства HDFS находятся в hdfs-site.xml
Свойства MapReduce находятся в mapred-site.xml
Все эти файлы находятся в папке $ HADOOP_HOME / etc / hadoop
Опять определим JAVA_HOME
hadoop-env.sh
, отредактировав строкуОпределите Hadoop
temp folder
иfile system
имя в core-site.xml вНам нужно подготовить это
temp folder
как настроено в/home/hduser/tmp
Определение
file system
«Sblock replication
в HDFS-site.xmlОпределить
map-reduce job
в mapred-site.xmlФормат
name node
Запустить сервис Hadoop
Вызов
Эти две команды находятся в каталоге $ HADOOP_HOME / sbin, который мы добавили в систему $ PATH ранее.
Убедитесь, что сервисы Hadoop запущены правильно
мы должны увидеть
источник
mapred-site.xml
не существует в начале. Он должен быть созданcp mapred-site.xml.template mapred-site.xml
Чтобы установить
sun-java
с помощьюapt-get
команды, вам нужно добавить строку в файл с именемsources.list
. Этот файл можно найти в/etc/apt/sources.list
.Откройте файл с помощью этой команды:
Затем в самом конце (внизу) этого файла вы копируете / вставляете строку:
Теперь нажмите Ctrl+ Xдля выхода и yсохранения.
Теперь введите команду:
И когда это будет сделано, вы можете успешно запустить команду:
источник
Для более современного урока (не уверенного в различиях) посмотрите видео-уроки по скриншотам hadoop . Они предоставляют видео и фактические команды для установки снизу. Также, если вы напишите автору по электронной почте, он будет очень рад ответить и помочь вам, если вы застряли с чем-либо.
Эти инструкции в значительной степени похожи на те, на которые ответил @Luis.
источник