搭建hadoop完全分布式集群时踩过的坑

一、使用yarn-start命令启动yarn时没有提示,当yarn-stop关闭时,提示:

stopping yarn daemons

no resourcemanager to stop

bigdata-senior04.localdomain: no nodemanager to stop

bigdata-senior02.localdomain: no nodemanager to stop

bigdata-senior03.localdomain: no nodemanager to stop

bigdata-senior01.localdomain: no nodemanager to stop

原因:这是hadoop nodemanager没有配置正确导致的,我的错误原因是在

<property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

中,将下划线"_"写成了横杠"-"

方法:检查nodemanager的各个属性配置,查找错误。将横杠"-"改为下划线"_"即可。

二、启动yarn之后,出现提示

INFO client.RMProxy: Connecting to ResourceManager at bigdata-senior02.localdomain/172.168.0.6:8081

INFO ipc.Client: Retrying connect to server: bigdata-senior02.localdomain/172.168.0.6:8081

同时jps命令下有nodeManager,无resourceManger,说明resourceManger没有启动起来,通过查看日志/usr/local/hadoop-2.8.4/logs/yarn-root-resourcemanager-bigdata-senior02.chybinmy.com.log发现不能初始化FairScheduler。

原因:FairScheduler配置路径的问题

方法:我将    <property>

        <name>yarn.resourcemanager.scheduler.class</name>

        <value>FairScheduler</value>

    </property>

注释掉这个属性之后就没事儿了,后来发现应该把value值写为

org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler

也可以。

三、使用hadoop fs -put命令上传文件时出现错误:

WARN ipc.Client: Failed to connect to server: bigdata-senior01.localdomain/172.168.0.5:8020:

原因:put命令写错了,

方法:hadoop fs -put ./shakespeare.txt hdfs://172.168.0.5:9000/或者hadoop fs -put ./shakespeare.txt /

四、启动yarn时,提示错误:status=ERROR, status message , ack with firstBadLink as 172.168.0.8:50010

原因:172.168.0.8的防火墙未关闭。

方法:关闭防火墙即可。

五、运行MapReduce作业时出现错误:

java.io.IOException: org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource request, requested memory < 0, or requested memory > max configured, requestedMemory=1536, maxMemory=256

原因:程序申请的内存资源超出了yarn的设置

方法:修改etc/hadoop/yarn-site.xml里面yarn.nodemanager.resource.memory-mb的值,使其大于mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的值即可

六、hadoop Streaing的python文件运行时出现错误提示:

PipeMapRed.waitOutputThreads(): subprocess failed with code 2

原因:在从window上将文件传送至linux之后,python文件格式出现了错误

方法:在传送文件时选用text方式,不使用binary方式即可。

七、

错误:PipeMapRed.waitOutputThreads(): subprocess failed with code 1

原因:程序内部问题,本地就是失败的,出现了异常

方法:修改本地python代码即可

猜你喜欢

转载自blog.csdn.net/ddsszzy/article/details/81279463