熱線電話:13121318867

登錄
首頁精彩閱讀Hadoop常見錯誤和處理方式
Hadoop常見錯誤和處理方式
2017-05-28
收藏

Hadoop常見錯誤和處理方式

  常見問題及處理

mysql版本,必須是MYSQL5.1。

查詢辦法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下面日志

2)刪除瀏覽器的cookie訪問記錄

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

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢