检测hadoop是否正确安装配置的一个方法是运行jps 看看NameNode DataNode SecondaryNameNode JobTracker TaskTracker 这五个进程起来了没有,如果没起来,问题可能要大点,如果起来了,看看启动日志,一般是namenode的那一个,看看里面有没有什么异常,如果都没问题,看看下面的问题:
1、输入./hadoop dfsadmin -report 得到类似于下面的东东,也就是什么空间都是零,没有空间,
Configured Capacity: 0 (0 KB) Present Capacity: 0 (0 KB) DFS Remaining: 0 (0 KB) DFS Used: 0 (0 KB),这个不用担心,只要往hdfs里面写入数据就行了
先查看是否开启安全模式:./hadoop dfsadmin -safemode get
如果是开启的话关掉它:./hadoop dfsadmin -safemode leave,然后写入文件
先创建一个文件夹:./hadoop dfs -mkdir testin
写入命令为:./hadoop dfs -copyFromLocal ~/test/* testin test目录下面有几个小文本文件做测试就可以了
现在再使用./hadoop dfsadmin -report ,现在应该是期望的数据了吧
2、写入的过程可能出现异常: could only be replicated to 0 nodes, instead of 1,可能是数据还没有格式化好,当你再次执行数据写入命令的时候,系统会提示文件已经存在,删了重来,应该就好了。也有可能是安全模式没有关,关闭安全模式应该就可以了。还有可能是防火墙没关,关了防火墙就可以了。实在不行就全部关了全部删了重新来过吧:具体做法
删除dfs.tmp.dir 下面的所有数据
清空日志目录下的数据(留着也没用)
关掉所有的服务:./stop-all.sh
还是不行就 :killall -9 java
然后重新执行./hadoop namenode -format
重复1中步骤再试。
3、org.apache.hadoop.hdfs.server.namenode.NameNode: Address already in use 解决 直接killall -9 java 删除所有java进程搞定
有些错误居然还没发重现,蛋疼的hadoop。
该文章转载自http://hi.baidu.com/41202197514/item/629d519fc1e5e7c9b625312a