2015-06-11 5 views
1

В настоящее время я пытаюсь запустить Hadoop 2.6.0 на экземплярах Amazon EC2 (многоузловой кластер). Я запускаю два экземпляра Ubuntu 14.04. Один из них как хозяин, а другой как раб. Ниже моя конфигурация:Hadoop NameNode не запускается

Мастер

-core-site.xml

<configuration> 
     <property> 
       <name>fs.defaultFS</name> 
       <value>hdfs://hadoopmaster:9000</value> 
     </property> 
</configuration> 

-hdfs-site.xml

<configuration> 
     <property> 
       <name>dfs.replication</name> 
       <value>1</value> 
     </property> 
     <property> 
       <name>dfs.namenode.name.dir</name> 
       <value>file:/home/ubuntu/hadoop-2.6.0/hadoop_data/hdfs/namenode</value> 
     </property> 
</configuration> 

-yarn-site.xml

<property> 
     <name>yarn.nodemanager.aux-services</name> 
     <value>mapreduce_shuffle</value> 
</property> 
<property> 
     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
     <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
<property> 
     <name>yarn.resourcemanager.resource-tracker.address</name> 
     <value>hadoopmaster:8025</value> 
</property> 
<property> 
     <name>yarn.resourcemanager.scheduler.address</name> 
     <value>hadoopmaster:8030</value> 
</property> 
<property> 
     <name>yarn.resourcemanager.address</name> 
     <value>hadoopmaster:8050</value> 
</property> 

-mapred-site.xml

<configuration> 
     <property> 
       <name>mapred.job.tracker</name> 
       <value>hadoopmaster:54311</value> 
     </property> 
</configuration> 

-masters

hadoopmaster 

-slaves

hadoopslave1 

Ведомый

-hdfs-site.xml

<configuration> 
     <property> 
       <name>dfs.replication</name> 
       <value>1</value> 
     </property> 
     <property> 
       <name>dfs.datanode.data.dir</name> 
       <value>file:/home/ubuntu/hadoop-2.6.0/hadoop_data/hdfs/datanode</value> 
     </property> 
</configuration> 

Другие такие же, как и у мастера.

Когда я бегу hdfs namenode -format она выглядит хорошо и выйти со статусом 0. Когда я запускаю start-all.sh дает следующий вывод:

[email protected]:~/hadoop-2.6.0$ sbin/start-all.sh 
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh 
Starting namenodes on [hadoopmaster] 
hadoopmaster: starting namenode, logging to /home/ubuntu/hadoop-2.6.0/logs/hadoop-ubuntu-namenode-hadoopmaster.out 
hadoopslave1: starting datanode, logging to /home/ubuntu/hadoop-2.6.0/logs/hadoop-ubuntu-datanode-hadoopslave1.out 
Starting secondary namenodes [0.0.0.0] 
0.0.0.0: starting secondarynamenode, logging to /home/ubuntu/hadoop-2.6.0/logs/hadoop-ubuntu-secondarynamenode-hadoopmaster.out 
starting yarn daemons 
starting resourcemanager, logging to /home/ubuntu/hadoop-2.6.0/logs/yarn-ubuntu-resourcemanager-hadoopmaster.out 
hadoopslave1: starting nodemanager, logging to /home/ubuntu/hadoop-2.6.0/logs/yarn-ubuntu-nodemanager-hadoopslave1.out 

Это звучит хорошо, и не сообщил никакой ошибки. Однако, когда я бегу jps на главном сайте, это дает следующий результат:

[email protected]:~/hadoop-2.6.0$ jps 
3640 ResourceManager 
3501 SecondaryNameNode 
3701 Jps 

NameNode не хватает! Когда я бегу jps на подчиненном сайте, я получил следующее

[email protected]:~/hadoop-2.6.0$ jps 
1686 DataNode 
1870 Jps 
1817 NodeManager 

Ниже приведен файл журнала NameNode:

2015-06-11 04:16:18,987 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting NameNode 
STARTUP_MSG: host = hadoopmaster/54.172.40.127 
STARTUP_MSG: args = [] 
STARTUP_MSG: version = 2.6.0 

и файл .out:

ulimit -a for user ubuntu 
core file size   (blocks, -c) 0 
data seg size   (kbytes, -d) unlimited 
scheduling priority    (-e) 0 
file size    (blocks, -f) unlimited 
pending signals     (-i) 13357 
max locked memory  (kbytes, -l) 64 
max memory size   (kbytes, -m) unlimited 
open files      (-n) 1024 
pipe size   (512 bytes, -p) 8 
POSIX message queues  (bytes, -q) 819200 
real-time priority    (-r) 0 
stack size    (kbytes, -s) 8192 
cpu time    (seconds, -t) unlimited 
max user processes    (-u) 13357 
virtual memory   (kbytes, -v) unlimited 
file locks      (-x) unlimited 

Я повторил это несколько раз, и я получил тот же результат. ИмяNode всегда отсутствует. Может ли кто-нибудь дать мне некоторое предложение об этой проблеме? Спасибо огромное!

ответ

0

ли вы проверить разрешения для папок под траекторией файл: /home/ubuntu/hadoop-2.6.0/hadoop_data/hdfs/

+0

Да, он должен иметь возможность читать/писать в эту папку, иначе «hdfs namenode -format» завершится с ошибкой. – user3019792

1

Я предполагаю, что вы уже выяснили решение, но это для кто-нибудь другой, который сталкивается с этим с той же проблемой (как и я).

Сначала снимите свой кластер с использованием stop-yarn.sh и stop-dfs.sh (в указанном порядке). Теперь все, что вам нужно сделать, это перейти в каталог temp. Если вы не настроены пользователем, то он будет в /usr/local/hadoop/tmp/.

Else найти его от core-site.xml от собственности hadoop.tmp.dir. Тогда просто наберите:

гт -rf *

Теперь запустите кластер и альт, NameNode запускается.

Смежные вопросы