Hadoop伪集群搭建过程中遇到的一点小问题
程序员文章站
2024-02-28 08:20:28
...
Hadoop伪集群搭建过程中遇到的一点小问题)
Hdfs中live DataNode 为0的问题
产生原因
由于在hdfs-site.xml中自定义dataNode dir 后hdfs对改文件夹没有操作权限导致。
解决办法
将文件的拥有者改变为hadoop启动用户。系统请使用一下命令修改文件夹所有者:sudo chown -R 用户 文件夹(DN存储文件夹)
Yarn 伪集群中Active Nodes 为0,Unhealthy Nodes为1的问题
背景
NodeManager默认会每两分钟检查本地磁盘(local-dirs),找出那些目录可以使用。注意如果判定这个磁盘不可用,会把这台机器变成unhealthy,将不会再给这台机器分配任务。
产生原因
DataNode和NodeManager共享本地目录,DN数据占满空间后,NM则无法工作。Yarn默认会去检查NM使用的磁盘使用率,默认超过90%则会告警。默认超过75%磁盘的使用率都超过90%,则标记该节点不可用,则该节点的NM停止工作。
排查办法
在yarn的web界面点击Unhealthy Nodes的目录进入详情页面,在详情页面healthy report中会有具体的问题原因。
解决办法
把Yarn的监控比率调高到98%,修改yarn-site.xml
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98</value>
</property>
伪集群执行mr程序InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist问题解决
解决办法
修改yarn-site.xml配置文件
<configuration>
<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>
</configuration>