hadoop问题汇总

来源:互联网 发布:ios计算网络图片大小 编辑:程序博客网 时间:2024/05/22 12:54

仅总结一下在使用hadoop中遇到的问题已经解决方法

问题1:java.io.IOException: Incompatible namespaceIDs in /home/hadoop/data/hdfs/data1: namenode namespaceID = 635210663; da
tanode namespaceID = 1225500221
解决方法:
先停掉集群,然后将datanode节点/home/hadoop/data/hdfs/data2/current/VERSION中的修改为与namenode一致

问题2:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
解决方法:
     1、先用which hadoop找到hadoop位置,然后修改CLASSPATH,将hadoop的核心jar添加到CLASSPATH中
问题3:NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
解决方法:
删除${HADOOP_HOME}/conf/hadoop-env.sh中的HADOOP_CLASSPATH
问题4:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassNotFoundException: org.apache.hcatalog.security.HdfsAuthorizationProvider
问题5:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
解决:是到mysql中的hive数据库里执行 alter database hive character set latin1;改变hive元数据库的字符集,问题就可以解决!
问题6:
java.io.IOException: Incompatible clusterIDs in /home/hadoop2/data/datanode: namenode clusterID = CID-3d2dfb48-76c4-4f26-a784-2322dc07569f; datanode clusterID =
CID-26fddf18-b5cc-4d20-a049-ad52c6cc3d97
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391)
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:191)
        at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)
        at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)
        at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)
        at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)
        at java.lang.Thread.run(Thread.java:662)
2013-11-13 09:32:22,503 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool BP-754581133-192.168.1.182-1384334034195
(storage id DS-1954813669-192.168.1.184-50010-1384254744913) service to master/192.168.1.182:9000

解决方案:
提示信息显示,datenode和namenode比较集群ID时,发现不一致,导致出错,所以需要手动将datanode的集群ID调整与namenode一致
具体操作:查看namenode的(/home/hadoop2/data/datanode/current/VERSION)的clusterID,将其修改到各个datanode节点即可
0 0
原创粉丝点击