
Hadoop常見錯誤和處理方式
常見問題及處理
查詢辦法mysqladmin version
在建立hive數據庫的時候,最好是:create database hive;
oozie的數據庫,同樣:create database oozie;
hadoop采集的字符集問題。
修改/etc/sysconfig/i18n 更改字符集為en_US.UTF-8
重啟機器生效。
重啟機器的指令為:在root下敲入如下指令:sync;sync;init 6
修改mapreduce。
在gateway/性能下修改:MapReduce 子 Java 基礎選項 、Map 任務 Java 選項庫 、Reduce 任務 Java 選項庫 全部配置成 -Xmx4294967296
在TASKTRACKER/性能下修改:MapReduce 子 Java 基礎選項 、Map 任務 Java 選項庫 、Reduce 任務 Java 選項庫 全部配置成 -Xmx4294967296
必須關注各個任務的詳細情況
當出現如下的錯誤的時候,請及時的將下載的進程數調小。
vi /home/boco/oozie_wy/config/lte/mro/ftp/807101.xml 將max_thread由原來的6個調整為3個,或者協調廠家加大FTP的最大線程數
stderr logs:
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:363)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
at org.apache.commons.net.ftp.FTP.connectAction(FTP.java:396)
at org.apache.commons.net.ftp.FTPClient.connectAction(FTPClient.java:796)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:172)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:285)
at com.boco.wangyou.utils.Ftp.connectServer(Ftp.java:550)
at com.boco.wangyou.lte.mro.ftp.tools.FindFileThread.run(FindFileThread.java:67)
登錄ftp服務器【10.140.177.149】失敗,FTP服務器無法打開!
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:363)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
at org.apache.commons.net.ftp.FTP.connectAction(FTP.java:396)
at org.apache.commons.net.ftp.FTPClient.connectAction(FTPClient.java:796)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:172)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:285)
at com.boco.wangyou.utils.Ftp.connectServer(Ftp.java:550)
at com.boco.wangyou.lte.mro.ftp.tools.FindFileThread.run(FindFileThread.java:67)
登錄ftp服務器【10.140.177.149】失敗,FTP服務器無法打開!
org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received. Server closed connection.
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:363)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
at org.apache.commons.net.ftp.FTP.connectAction(FTP.java:396)
at org.apache.commons.net.ftp.FTPClient.connectAction(FTPClient.java:796)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:172)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
TASKTRACKER和HDFS組的問題
發現部分地方在安裝的時候,將所有的機器分組的問題。
如果分組,需要將每個組的參數都要修改。
目前發現很多的地方,TASKTRACKER和HDFS都分了組,但是只修改一組的參數,造成系統大量出問題。
java heap size以及tasktracker被拉黑名單的問題。
namenode和datanode的內存配置問題。
建議將使用的內存修改為4G左右。
建議將HIVE2服務放到一個輔節點上。
hive2放到輔節點上,經常出現add_partation掛起報錯。
解決HIVE經常掛死的問題
修改zookeeper的最大客戶端連接數,maxClientCnxns修改為3600或者修改成0不限制
自動清空時間間隔,autopurge.purgeInterval 修改為1小時
廠家XML配置的問題。
如果廠家是這樣的:/data/dataservice/mr/ltemro/huawei/20140815/01/362323/TD-LTE_MRO_HUAWEI_010133150144_362323_20140815011500.xml.gz
建議配置成這樣的:
路徑:/data/dataservice/mr/ltemro/huawei/$TIME$/$ENODEB$
時間格式:yymmdd/hh
在/home/boco/oozie_wy/config/lte/mro/ftp下禁止存放.bak文件
有一個省份的mapper數超多,導致解析很長時間沒有完成。
進一步發現FTP在合并文件的時候報錯,再進一步發現同一個IP地址,同一個OMC啟動了三個mapper進程去下載數據導致文件合并失敗。
發現是修改了ftp.xml文件,沒有刪除原來的文件,而是以一個bak文件存放。
刪除這些bak文件,mapper數量正常。
原mapper數1731個,刪除之后mapper數41個,采集正常。
打開50030看FTP的日志,存在如下的報錯:
java.io.FileNotFoundException: File does not exist: /user/boco/cache/wy/ltemro/1411032293348/xml/155/2014-09-18_11/TD-LTE_MRO_ERICSSON_OMC1_303024_20140918111500.xml.zip
at org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:39)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsUpdateTimes(FSNamesystem.java:1341)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsInt(FSNamesystem.java:1293)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1269)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1242)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:392)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:172)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:44938)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1002)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1701)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1697)
at java.security.AccessController.doPrivileged(Native Method)
或者:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException):
Lease mismatch on /user/boco/cache/wy/ltemro/1411032293348/xml/155/2014-09-18_11/TD-LTE_MRO_ERICSSON_OMC1_3030_20140918.xml owned by DFSClient_NONMAPREDUCE_
-1274827212_1 but is accessed by DFSClient_NONMAPREDUCE_-216613905_1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:2459)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:2437)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.completeFileInternal(FSNamesystem.java:2503)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.completeFile(FSNamesystem.java:2480)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.complete(NameNodeRpcServer.java:535)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.complete(ClientNamenodeProtocolServerSideTranslatorPB.java:337)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:44958)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1002)
REDIS故障
解析時候報錯,錯誤如下:
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:22)
at com.boco.wangyou.utils.JedisUtils.getJedis(JedisUtils.java:47)
at com.boco.wangyou.utils.JedisUtils.getTableValues(JedisUtils.java:119)
at com.boco.wangyou.lte.mro.tdl.tools.LteMroXMLParser.
此問題一般是因為REDIS沒有啟動導致。
克隆機器安裝的問題
把一個節點的第二步都裝好了,把它克隆到其它主機上,再把克隆到的主機的IP
(注意在修改IP配置文件的時候,將HWaddr也改了,一般是這種格式:00:50:56:80:4E:D6,
否則在連接時會找不到硬盤)和主機名改下。
此種情況主要出現在使用vmvare vsphere克隆導致的。
注意:
克隆之后的機器要修改IP地址,主機名,MAC地址。
redis掛死,導致無法采集
#現象
redis.clients.jedis.exceptions.JedisDataException:
MISCONF Redis is configured to save RDB snapshots,
but is currently not able to persist on disk.
啟動客戶端:
/usr/local/redis/redis-cli
輸入:
config set stop-writes-on-bgsave-error no
主節點7180無法訪問
1)檢查主節點是不是日志空間滿了,如果滿了,需要刪除/var/log/hive下面日志
hadoop相關服務啟動命令:
sudo service cloudera-scm-server stop
sudo service cloudera-scm-server-db stop
sudo service cloudera-scm-server start
sudo service cloudera-scm-server-db start
LTEMRO采集報錯
主要是在這一步報錯:CREATE_EXTERNAL_TABLE_NODE
MR.LteScEarfcn 主小區頻點
MR.LteScPci 主小區PCI
MR.LteScRSRP 主小區的RSRP
MR.LteScRSRQ 主小區RSRQ
MR.LteNcEarfcn 鄰小區頻點
MR.LteNcPci 鄰小區PCI
MR.LteNcRSRP 鄰小區的RSRP
MR.LteNcRSRQ 鄰小區RSRQ
只要有有效數據,就不會報這個錯。
查看日志
HIVE的日志主要是在:/var/log/hive/
oozie的日志主要在: /var/log/oozie/
HDFS的日志主要在: /var/log/hadoop-hdfs/
zookeeper的日志主要在:/var/log/zookeeper/
在出現問題的時候,可以看看這些日志。
zookeeper無法啟動
處理辦法:到master主機的/var/lib/zookeeper,刪除所有的文件,重啟zookeeper即可。
sudo mkdir version-2
sudo chown -R zookeeper:zookeeper version-2
loudera-manager-installer.bin安裝報錯。
報錯如下:
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto,
: refresh-packagekit, security, tmprepo, verify, versionlock
Loading support for CentOS kernel ABI
Loading mirror speeds from cached hostfile
http://10.233.9.63/cdh4.3.0/cdh4.3/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 403"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: cloudera-cdh4. Please verify its path and try again
處理辦法:
刪除集群中每一臺機器上原有的repo文件,rm -rf /etc/yum.repos.d/*
然后修改cloudera-chd4.repo、cloudera-impala.repo和 cloudera-manager.repo文件,將文件中的地址換成主節點的地址。
將cloudera-chd4.repo、cloudera-impala.repo和 cloudera-manager.repo文件上傳到集群中每一臺機器的/etc/yum.repos.d/目錄下。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25