2015-05-17 4 views
2

Я пытаюсь обновить HDFS с 1.2.1 до версии 2.6. Однако всякий раз, когда я запускаю команду start-dfs.sh -upgrade, я получаю следующую ошибку:Namenode не запускается

hduser @ Cluster1-NN: /usr/local/hadoop2/hadoop-2.6.0/etc_bkp/hadoop$ $ HADOOP_NEW_HOME/SBIN/start-dfs.sh -upgrade

15/05/17 12:45:58 WARN util.NativeCodeLoader: Не удалось загрузить библиотеку нативной Hadoop для платформы ... с помощью классов Java-встроенная, где это применимо

Стартовые namenodes на [пп]

Ошибка: Пожалуйста, укажите один из --hosts или --hostnames неавтоматического ионов, а не обоих.

пп: начиная DataNode, войдя в /var/hadoop/logs/hadoop-hduser-datanode-Cluster1-NN.out dn1: начиная DataNode, войдя в/вар/Hadoop/журналы/Hadoop-hduser-DataNode -Cluster1-DN1.out dN2: начиная DataNode, войдя в /var/hadoop/logs/hadoop-hduser-datanode-Cluster1-DN2.out

Запуск вторичных namenodes [0.0.0.0]

Ошибка: укажите один из вариантов -hosts или --hostnames, а не оба.

Пожалуйста, дайте мне знать, если кто-либо из вас столкнулся с такой ошибкой.

ответ

0

Возможно, это недостаток в какой-либо библиотеке hadoop. Можете ли вы показать подробную информацию о журналах namenode?

2

У меня такая же проблема на Arch Linux с недавно установленным Hadoop 2.7.1. Я не уверен, совпадает ли мой случай с вашим или нет, но мой опыт должен помочь. Я просто закомментирую строку HADOOP_SLAVES=/etc/hadoop/slaves в /etc/profile.d/hadoop.sh и заново зарегистрирую. Работа с HDFS и работающими потоковыми работами работает для меня.

Причина в том, что скрипт /etc/profile.d/hadoop.sh, специфичный для Arch, объявляет переменную окружения $HADOOP_SLAVES. И в start-dfs.sh, hadoop-daemons.sh вызывается с аргументами --hostnames. Это смущает libexec/hadoop-config.sh.

Возможно, вы захотите ввести echo $HADOOP_SLAVES в качестве пользователя hadoop. Если есть непустые выходы, проверьте свои .bashrc и/или другие сценарии запуска оболочки. Надеюсь, что это поможет :)