概述
今天从服务器上取了2个星期的日志,准备用hadoop分析一下,中间有些小插曲,分享一下。
因为之前在hadoop集群之间做了ssh无密码验证,方便登陆,使用的是hadoop账号,
上传ftp时,hadoop账号没有mkdir和write的权限,于是在 /etc/passwd 文件中将hadoop的权限改了。如下:
hadoop:x:500:0::/home/hadoop:/bin/bash
将500改成0,即获得和root一样的权限,
ok,日志上传没有问题,成功。
启动hadoop,发现:
192.168.187.12: You don't exist, go away!
192.168.187.13: You don't exist, go away!
192.168.187.14: You don't exist, go away!
应该是之前做的ssh,与hadoop用户的权限有关,遂将/etc/passwd 文件又改了回去。
改后,鬼使神差,应该是在root下直接运行了start-all.sh
运行jps后,发现
3782 SecondaryNameNode
3862 JobTracker
3957 Jps
唯有namenode没有启动。
查看log,报错信息为:
2013-07-02 15:40:10,700 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
java.io.IOException: failure to login
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:452)
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:414)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setConfigurationParameters(FSNamesystem.java:473)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:379)
本以为是因为上传了大量文件,导致磁盘空间不足导致,后来google了一下,原来是不小心使用root启动了hadoop,导致文件dfs/name/current/为root所有所至,
current
image
previous.checkpoint
[root@Master name]# ll
总用量 12
drwxr-xr-x
2 root
root
4096
7月
2 15:39 current
drwxrwxr-x. 2 hadoop hadoop 4096
5月 30 22:32 image
drwxr-xr-x
2 hadoop root
4096
6月 17 08:44 previous.checkpoint
[root@Master name]# chown hadoop:hadoop -R /usr/hadoop/tmp/dfs/name/current/
[root@Master name]# ls
current
image
previous.checkpoint
[root@Master name]# ll
总用量 12
drwxr-xr-x
2 hadoop hadoop 4096
7月
2 15:39 current
drwxrwxr-x. 2 hadoop hadoop 4096
5月 30 22:32 image
drwxr-xr-x
2 hadoop root
4096
6月 17 08:44 previous.checkpoint
修改current为hadoop所有后,正常启动hadoop。
最后
以上就是听话蛋挞为你收集整理的hadoop启动报FSNamesystem initialization failed的全部内容,希望文章能够帮你解决hadoop启动报FSNamesystem initialization failed所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复