1、安装目录一定不能带"."。我刚开始把包解压到安装目录时,直接采用了缺省的hadoop2.6.0,结果在后面运行所有命令,如hadoop version时,都会出现“could not find or load main class ****”的问题,看起来似乎是classpath的问题,但classpath也没有禁止路径中带".",也没有想明白,但确实是不能有"."。
2、“Unable to load native-hadoop library... ”的问题,这个问题似乎是与本地库的兼容问题,需要重新编译,但有没有build.xml,我的解决办法是去下载了hadoop.2.6.0.native.tar。下载地址:http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar。用这个包中的文件替换安装目录下的 lib/native/下的所有文件。
3、启动后没有datanode节点的问题。启动后用hdfs dfsadmin -report,,显示结果如下:
-sh-4.1$ bin/hdfs dfsadmin -report
Configured Capacity: 0 (0 B)
Present Capacity: 0 (0 B)
DFS Remaining: 0 (0 B)
DFS Used: 0 (0 B)
DFS Used%: NaN%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
这一般是因为namenode多次格式化,就是多次执行hdf namenode -format,造成namespaceID不同,识别不了datanode所致。我的解决办法是删掉原有的目录,重新创建目录,并执行hdfs namenode -format。