Docker Hadoop 配置常见错误及解决办法

Docker Hadoop 配置常见错误及解决办法

 


问题1:wordcount运行卡住,hadoop 任务运行到running job就卡住了 INFO mapreduce.Job: Running job: job_....

 

 

 解决如下:

1. 修改mapred-site.xml配置,配置文件在Hadoop安装目录下,etc/hadoop/mapred-site.xml

将以下配置

<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

改成

<property>
      <name>mapreduce.job.tracker</name>
      <value>hdfs://master:8001</value>
      <final>true</final>
 </property>

master是hadoop主机master的地址,也可以是IP,例如:192.168.1.110

2. 修改完以上配置,重启下服务试试看

stop-all.sh

start-all.sh

3. 如果还是不行,则修改yarn-site.xml,新增如下配置

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>20480</value>
</property>
<property>
   <name>yarn.scheduler.minimum-allocation-mb</name>
   <value>2048</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
</property>

4. 解决完成

 

问题2:INFO ipc.Client: Retrying connect to server: h01/172.18.0.2:8032. Already tried 0 time(s); retry policy is RetryUpToMax

 

 解决如下:

1. 重启yarn

start-yarn.sh

2. 输入jps查看是否启动完成

3. 解决完成

 

问题3:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode 

解决如下:

hadoop dfsadmin -safemode leave 

 

用户可以通过dfsadmin -safemode value   来操作安全模式,参数value的说明如下:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get -   返回安全模式是否开启的信息
wait - 等待,一直到安全模式结束

 

问题4:hadoop 启动错误 org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage java.io.IOException: NameNode is not formatted.

 

 

解决如下:

1.关闭所有的节点:

stop-all.sh

2.namenode格式化 

 hadoop namenode -format

3.开启所有的节点:

start-all.sh

4. 解决完成

 

问题5:hadoop集群配置datanode无法启动的原因

解决如下:

1. 停止服务

stop-all.sh

 

2. 找到hadoop安装目录下配置的tmp,/etc/hadoop/core-site.xml,查看tmp目录

 

3. 删除/data/hadoop/tmp目录下的文件

4. 找到hadoop安装目录下配置的name、data目录,/etc/hadoop/hdfs-site.xml ,查看目录

 

5. 删除/data/hadoop/hdfs/data/和/data/hadoop/hdfs/name目录下的文件

6. 启动服务

start-all.sh

 

问题6:master: ssh: connect to host master port 22: Connection timed out

 

 

解决如下:

 1. 安装ssh

2. 启动服务

service ssh start

 

问题7:启动start-all.sh,发现namenode没启动,查看hadoop-root-namenode-hd_master.log,发现ERROR如下

 

 原因是:Hostname不能包含_。且不要重复绑定

解决如下:

1. 重新配置打包镜像,将hosts的下划线"_"去掉,即,“hd_master”改“hdmaster”

 

问题8:org.apache.hadoop.http.HttpRequestLog: Http request log for http.requests.resourcemanager is not defined

 

 

 

解决如下:

1. 检查yarn-site.xml配置文件的yarn.resourcemanager.hostname配置是否正确。如

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hdmaster</value>
    </property>

2. 检查容器启动的-h 是否正确。如

docker run -it --network hadoop_network --name hdmaster -h hd_master -p 9871:9870 -p 8089:8088 registry.cn-han...... /bin/bash

这里的-h参数错了,应该改成hdmaster,即

docker run -it --network hadoop_network --name hdmaster -h hd_master -p 9871:9870 -p 8089:8088 registry.cn-hangzhou.aliyuncs.com/will-web/ubuntu_hadoop_signle:2.6 /bin/bash

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章