Ubuntu 16.04上的Hadoop 2.8.1 – 资源pipe理器在NameNode上崩溃

得到了以下问题:我有一个hadoop集群(2.8.1,java 8),我的资源pipe理器在大约30秒-1分钟后仍然断开,或者当我尝试向hdfs添加任何文件时。

我有3个VPS(Ubuntu 16.04.2 LTS),1个用于Namenode,2个用于数据节点。 这些主要是为了玩游戏,所以只有20GB的空间(我相信应该足以看到mapreduce工作的一些微小的影响)

我的文件内容:

/ etc / hosts在每个服务器上:

135.59.171.41 01-slave 01-slave 188.166.167.150 02-master 02-master 155.59.170.39 03-slave 03-slave 

master上的hdfs-site.xml

 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/store/hdfs/namenode</value> </property> </configuration> 

从站上的hdfs-site.xml

 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/store/hdfs/namenode</value> </property> </configuration> 

主站和从站上的core-site.xml

 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.default.name</name> <value>hdfs://stegosaurus-server-02-master:9000</value> </property> </configuration> 

JAVA HOME在hadoop-env全部3台服务器)

 # The java implementation to use. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 

.bashrc hadoop相关的所有3个服务器)

 # -- HADOOP ENVIRONMENT VARIABLES START -- # export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" export CLASSPATH=$CLASSPATH:/usr/local/hadoop/lib/*:. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_OPTS="$HADOOP_OPTS -Djava.security.egd=file:/dev/../dev/urandom" 

mapred-site.xml内容(所有3个服务器)

 <?xml version="1.0"?> <!-- mapred-site.xml --> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>02-master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>02-master:19888</value> </property> <property> <name>mapred.child.java.opts</name> <value>-Djava.security.egd=file:/dev/../dev/urandom</value> </property> </configuration> 

yarn-site.xml内容(全部3个服务器)

 <?xml version="1.0"?> <configuration> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>02-master:8025</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>02-master:8030</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>02-master:8051</value> </property> </configuration> 

我正在使用上面的51端口,因为我试用了所有不同的端口,包括标准端口。

看着端口给出了以下结果

 02-master:/usr/local/hadoop/etc/hadoop$ sudo lsof -i -P -n | grep LISTEN sshd 1310 root 3u IPv4 13858 0t0 TCP *:22 (LISTEN) sshd 1310 root 4u IPv6 13871 0t0 TCP *:22 (LISTEN) apache2 1452 root 3u IPv4 15075 0t0 TCP *:80 (LISTEN) apache2 1455 www-data 3u IPv4 15075 0t0 TCP *:80 (LISTEN) apache2 1456 www-data 3u IPv4 15075 0t0 TCP *:80 (LISTEN) apache2 1457 www-data 3u IPv4 15075 0t0 TCP *:80 (LISTEN) apache2 1458 www-data 3u IPv4 15075 0t0 TCP *:80 (LISTEN) apache2 1459 www-data 3u IPv4 15075 0t0 TCP *:80 (LISTEN) java 7491 hduser 210u IPv4 170841 0t0 TCP *:50070 (LISTEN) java 7491 hduser 226u IPv4 171053 0t0 TCP 188.166.169.154:9000 (LISTEN) java 7718 hduser 220u IPv4 171925 0t0 TCP *:50090 (LISTEN) apache2 19108 www-data 3u IPv4 15075 0t0 TCP *:80 (LISTEN) 

主人和奴隶只有在主人:主人

 02-master 

奴隶

 01-slave 03-slave 

现在,所有3台服务器上的防火墙也都closures了。

我想到的是,当RM崩溃时,如果我通过由纱线使用的端口从主人的远程login主人,它将被“连接拒绝”

如果我尝试

 yarn application -list 

它会尝试连接到资源pipe理器地址端口并在10次尝试中死亡。

当它加载时,我可以看到端口8088和50070上的Web应用程序,但当纱明显死亡8088不可用我不知道还有什么我可以在这里添加。 现在这是相当混乱,因为我觉得我现在已经尝试过任何东西。 你可以帮我吗?

在namenode上运行jps(请注意资源pipe理器启动,然后在尝试时死掉):

 7491 NameNode 7718 SecondaryNameNode 12091 Jps 

ResourceManager日志中的最后一行通常是

 scheduler: class org.apache.hadoop.ipc.DefaultRpcScheduler 2017-10-25 21:01:13,025 INFO org.apache.hadoop.ipc.Server: Starting Socket Reader #1 for port 8033 2017-10-25 21:01:13,054 INFO org.apache.hadoop.yarn.factories.impl.pb.RpcServerFactoryPBImpl: Adding protocol org.apache.hadoop.yarn.server.api.ResourceManagerAdministrationProtocolPB to the server 2017-10-25 21:01:13,055 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting 2017-10-25 21:01:13,055 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 8033: starting 

IP V6closures

请帮忙.. :(