1.无法启动DataNode
查看hadoop-root-datanode-node1.log
报错信息:java.io.IOException: Incompatible clusterIDs in /usr/local/hadoop-2.6.0/tmp/dfs/data: namenode clusterID = CID-37ca639d-aae0-453f-9ae8-377d9b4e5ae8; datanode clusterID = CID-0abc025d-284e-4a74-bb7f-ddd53ef6bf55
查找原因,每次namenode format会重新创建一个namenodeId,而dfs.data.dir参数配置的目录中包含的是上次format创建的id,和dfs.name.dir参数配置的目录中的id不一致。
解决方案:
1 hdfs namenode -format 格式化namenode
2根据提示到192.168.1.105上的hadoop安装目录下面的/tmp/dfs下面,找到data和name两个文件夹,
将name/current下的VERSION中的clusterID复制到data/current下的VERSION中,覆盖掉原来的clusterID
2DataNode无法启动
查看DataNode日志
日志报错“ulimit -a for user root”
原因:datanamenode运行时打开文件数,达到系统最大限制
当前最大限制
[root@centos-FI hadoop-2.4.1]# ulimit -n
1024
解决:
调整最大打开文件数
[root@centos-FI hadoop-2.4.1]# ulimit -n 65536
[root@centos-FI hadoop-2.4.1]# ulimit -n
65536
再次启动hadoop
ps:ulimit命令只是临时修改,重启又恢复默认。
vi /etc/security/limits.conf
并在该文件中加入两行,记得前面的*号也得加,重启下系统即可
报错内容: Data node DatanodeRegistration(192.168.1.106, datanodeUuid=469e7b22-0bc9-4539-87ca-472ee4f374a5, infoPort=50075,
ipcPort=50020, storageInfo=lv=-56;cid=CID-0abc025d-284e-4a74-bb7f-ddd53ef6bf55;nsid=2075205457;c=0) is attempting to report storage
ID 469e7b22-0bc9-4539-87ca-472ee4f374a5. N
ode 192.168.1.107:50010 is expected to serve this storage.
原因:两台DataNodej节点是直接拷贝的,导致storageId一样在hadoop安装目录下面的/tmp/dfs下面,找到data的version修改
storageID,重新启动集群即可