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

 

 

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