問題1:
報(bào)錯(cuò)信息如下:
Container exited with a non-zero exit code 143 Killed by external signal
解決方案:
分配的資源不夠芽突,加大內(nèi)存或者調(diào)整代碼驼侠,盡量避免類似JsonObject這樣的大對(duì)象過度消耗內(nèi)存输吏,或者Include below properties in yarn-site.xml and restart VM
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<description>Whether virtual memory limits will be enforced for containers</description>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>4</value>
<description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
</property>
</br>
</br>
問題2:
報(bào)錯(cuò)信息如下:
HDFS進(jìn)入安全模式: Name node is in safemode mode
解決方案:
退出安全模式, 執(zhí)行命令: hadoop dfsadmin -safemode leave
</br>
</br>
問題3:
報(bào)錯(cuò)信息如下:
INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable -- hadoop的本地庫加載失敗履腋。
解決方案:
檢查native庫的版本信息帖蔓,32bit的版本和64bit的版本在不匹配的機(jī)器上會(huì)加載失敗企软,檢查的命令是file <native-so-file>
native庫依賴的glibc的版本問題庐扫。如果在高版本gcc(glibc)的機(jī)器上編譯的native庫,放到低版本的機(jī)器上使用仗哨,會(huì)由于glibc版本不一致導(dǎo)致該錯(cuò)誤形庭。
Hadoop默認(rèn)會(huì)從$HADOOP_HOME/lib/native/Linux-*
目錄中加載本地庫。
如果加載成功厌漂,輸出為:
DEBUG util.NativeCodeLoader - Trying to load the custom-built native-hadoop library...
INFO util.NativeCodeLoader - Loaded the native-hadoop library
如果加載失敗萨醒,則報(bào)錯(cuò)為
Unable to load native-hadoop library for your platform...
相關(guān)的配置:
- 在Hadoop的配置文件core-site.xml中可以設(shè)置是否使用本地庫:(Hadoop默認(rèn)的配置為啟用本地庫)
<property>
<name>hadoop.native.lib</name>
<value>true</value>
<description>Should native hadoop libraries, if present, be used.</description>
</property>
- 另外,可以在環(huán)境變量中設(shè)置使用本地庫的位置:
export JAVA_LIBRARY_PATH=/path/to/hadoop-native-libs
</br>
</br>
問題4:
報(bào)錯(cuò)信息如下:
maps to localhost, but this does not map back
解決方案:
原因: 因?yàn)镈NS服務(wù)器把 192.168.x.x 的地址都反向解析成 localhost 苇倡,而DNS服務(wù)器不是自己的富纸,不能改。
辦法: 編輯ssh 客戶端的 /etc/hosts 文件旨椒,把出問題的IP 地址和主機(jī)名加進(jìn)去晓褪,就不會(huì)報(bào)這樣的錯(cuò)了。
</br>
</br>
問題5:
報(bào)錯(cuò)信息如下:
java.io.IOException: Incompatible clusterIDsin /home/wangming/hadoop-data/dfs/data
解決方案:
格式化HDFS前, 先將原來的hadoop目錄刪除
</br>
</br>
問題6:
報(bào)錯(cuò)信息如下:
jps命令正常综慎,但是8088端口的WEB頁面無法訪問
解決方案:
檢查一下防火墻和selinux狀態(tài), 將防火墻和selinux關(guān)閉
防火墻:
service iptables status
關(guān)閉selinux:
- 永久修改
修改/etc/selinux/config文件中設(shè)置SELINUX=disabled 涣仿,然后重啟服務(wù)器。
- 臨時(shí)修改,執(zhí)行以下命令:
setenforce 0
內(nèi)容擴(kuò)展:
setenforce 1: 設(shè)置SELinux 成為enforcing模式
setenforce 0: 設(shè)置SELinux 成為permissive模式
</br>
</br>
問題7:
報(bào)錯(cuò)信息如下:
8088端口訪問正常哲身,但是看不到datanode節(jié)點(diǎn)
解決方案:
可能出現(xiàn)的問題和解決方案:
1.8080端口沒有打開, 手動(dòng)啟動(dòng)yarn
2.8080端口被其他進(jìn)程占用, kill掉占用該端口的進(jìn)程, 然后重啟yarn
3.8080端口被其他進(jìn)程占用, 若(2)中占用的程序不能kill調(diào)用,則在yarn-site.xml配置文件中配置yarn.resourcemanager.address項(xiàng), 將8080端口改為其他端口號(hào), 比如: 8085
</br>
</br>
問題8:
報(bào)錯(cuò)信息如下:
org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.216.131:54310
解決方案:
hostname的問題硬耍,同時(shí),namenode與datanode的/etc/hosts
內(nèi)容都必須是ip位址與hostname的對(duì)應(yīng)浮定,不能使用127.0.0.1代替本機(jī)的ip地址钧汹,否則hadoop使用hostname找IP時(shí)丈探,會(huì)以127.0.0.1
作為IP地址.
1. 檢查slave機(jī)器到master機(jī)器的連通性;
2. 檢查master機(jī)器上拔莱,是否打開了192.168.216.131:54310的監(jiān)聽(netstat -nap | grep 54310)
</br>
</br>
問題9:
報(bào)錯(cuò)信息如下:
FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain:
解決方案:
檢查hostname是否在/etc/hosts文件中配置, 若無則將hostname配置到/etc/hosts文件中
</br>
</br>
問題10:
1.報(bào)錯(cuò)信息如下:
java.net.NoRouteToHostException: No route to host
解決方案:
zookeeper的IP要配對(duì)
</br>
</br>
問題11:
報(bào)錯(cuò)信息如下:
CALL TO LOCALHOST/127.0.0.1:9000
解決方案:
檢查網(wǎng)卡,主機(jī)名,主機(jī)名與IP的映射是否正確:
/etc/sysconfig/network-scripts/ifcfg-eth0 網(wǎng)卡:
/etc/sysconfig/network 主機(jī)名:
/etc/hosts 主機(jī)名與IP的映射:
</br>
</br>
問題12:
報(bào)錯(cuò)信息如下:
打開namenode:50070頁面碗降,Datanode Infomation只顯示一個(gè)節(jié)點(diǎn)
解決方案:
檢查主機(jī)名,主機(jī)名與IP的映射,SSH配置是夠正確
主機(jī)名:/etc/sysconfig/network
主機(jī)名與IP的映射:/etc/hosts
SSH配置:
~/.ssh/config
~/.ssh/authorized_keys
~/.ssh/known_hosts
</br>
</br>
問題13:
報(bào)錯(cuò)信息如下:
hadoop的文件不能下載以及YARN中Tracking UI不能訪問歷史日志
解決方案:
windows系統(tǒng)不能解析域名所致,將/etc/hosts文件中主機(jī)名與IP的映射配置到到windows系統(tǒng)下的C:\Windows\System32\drivers\etc\hosts文件中
</br>
</br>
問題14:
5.報(bào)錯(cuò)信息如下:
NativeCrc32.nativeComputeChunkedSumsByteArray
解決方案:
配置eclipse的hadoop-home辨宠,bin和system32文件夾中加入64位的2.6版本的hadoop.dll
</br>
</br>
問題15:
報(bào)錯(cuò)信息如下:
HDFS誤刪文件如何恢復(fù)
解決方案:
在$HADOOP_HOME/etc/hadoop/core-site.xml
文件中添加以下配置
<property>
<name>fs.trash.interval</name>
<value>2880</value>
<description>HDFS垃圾箱設(shè)置遗锣,可以恢復(fù)誤刪除货裹,配置的值為分鐘數(shù)嗤形,0為禁用</description>
</property>
恢復(fù)文件執(zhí)行hdfs dfs -mv /user/root/.Trash/Current/誤刪文件 /原路徑
</br>
</br>
</br>