Получение ошибки при запуске hadoop - PullRequest
2 голосов
/ 07 декабря 2011

У меня есть Hadoop 0.20, я запускаю его с помощью $ HADOOP / bin / start-all.sh.Каждый демон работает, но в то время как в датоде он выдает ошибку

localhost: Нераспознанная опция: -jvm
localhost: Ошибка: не удалось создать виртуальную машину Java.
localhost: Ошибка: произошла неустранимая исключительная ситуация.Программа закроется.

Но я установил Java.

[root @ ulhshr1ld1 bin] # java -version
Java-версия "1.7.0_01" Java (TM) Среда выполнения SE (сборка 1.7.0_01-b08)
Серверная виртуальная машина Java HotSpot (TM) (сборка 21.1-b02, смешанный режим)

И я также могу получить доступ http://localhost:50070/dfshealth.jsp И http://localhost:50030/jobtracker.jsp

Может кто-нибудь подсказать, в чем проблема?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2011

Это ошибка в Hadoop при запуске от имени пользователя root.Это было исправлено в новых версиях.Вот это JIRA .Используйте последнюю версию Hadoop.

Root предоставляет полный доступ к системе.Создайте отдельного пользователя и запустите демонов.Зачем запускать демоны как root?

Кроме того, Apache рекомендует использовать Java 6 из Oracle.Похоже, вы работаете с Java 7. Hadoop с Java 7 не был тщательно протестирован.

3 голосов
/ 09 декабря 2011

Параметры -jvm должны быть переданы jsvc, когда мы запускаем защищенный канал данных, но он по-прежнему передается в java, когда start-dfs.sh запускается пользователем root, а безопасный канал данных отключен.

Этоошибка bin / hdfs.or bin / hadoop.

примените следующий патч.

патч HDFS-1943.

diff --git bin / hdfs bin/ hdfs index 76ff689..ce9dc0a 100755 --- bin / hdfs +++ bin / hdfs @@ -71,7 +71,7 @@ elif ["$ COMMAND" = "primarynamenode"];then> HADOOP_OPTS = "$ HADOOP_OPTS $ HADOOP_SECONDARYNAMENODE_OPTS" elif ["$ COMMAND" = "datanode"];затем
CLASS = 'org.apache.hadoop.hdfs.server.datanode.DataNode' - if [[$ EUID -eq 0]];затем + if ["$ initial_secure_dn" = "true"];then HADOOP_OPTS = "$ HADOOP_OPTS -jvm server $ HADOOP_DATANODE_OPTS" else HADOOP_OPTS = "$ HADOOP_OPTS -server $ HADOOP_DATANODE_OPTS"

скопируйте вышеприведенный патч в файл с именем HDo.1014 *

patch -p0 </ path / to / patch / file / path / to / file / to / be / patched </p>

/ path / to / file / to /быть / исправлено будет ../bin/hadoop или ... / bin / hdfs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...