如何查询jps 看不到datanodee的运行状态 不要说jps

4969人阅读
hadoop(2)
Hadoop系统搭建好,并且能够运行wordcount和temperature后,就忙别的去了;最近又开始搞hadoop,结果发现原来的系统不能使了。首先出现了如下错误:
“java.io.IOException: The ownership/permissions on the staging directory hdfs://namenode/tmp/hadoop/mapred/staging/hadoop/.staging is not as expected. It is owned by hadoop and permissions are rwxrwxrwx, the directory must be owned by the submitter hadoop
or by hadoop and permissions are rwx------...&
我怀疑是文件权限出了问题,因为前一段时间,我想通过eclipse直接调试程序,但是碰到了文件权限问题,后来我修改了文件权限(也有可能是前一段时间服务器掉电产生的不一致),记得好像就是这个文件夹,但最后还是没有试验成功;后来就放下了,暂定为全分布式模式不支持eclipse直接调试。现在,为了快速解决问题,我就把dfs重新格式化了一遍。
格式化之后,向dfs系统拷贝文件时出错,说是(回忆)应该向datanode拷贝一个block,但实际拷贝了零个。后来通过jps查看了各个机器,发现datanode节点datanode服务没有启动。
刚才看到这个帖子,试验成功:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:87122次
排名:千里之外
原创:16篇
转载:14篇
评论:12条
(1)(1)(5)(5)(1)(5)(1)(1)(6)(11)(3)Hadoop的datanode无法启动
hdfs-site中配置的dfs.data.dir为/usr/local/hadoop/hdfs/data
用bin/hadoop
start-all.sh启动Hdoop,用jps命令查看守护进程时,没有DataNode。
访问http://localhost:50070,点击页面中的Namenode
logs链接,在logs页面点击hadoop-hadoop-datanode-ubuntu.log&链接,
发现在日志中有此提示:Invalid
directory in dfs.data.dir: Incorrect permission for
/usr/local/hadoop/hdfs/data, expected: rwxr-xr-x, while actual:
rwxr-xrwx 。原因是data文件夹权限问题,执行:chmod
g-w /usr/local/hadoop/hdfs/data,修改文件夹权限后,再次启动Hadoop,问题解决。
阅读(...) 评论()【Linux】Ubuntu上搭建伪分布Hadoop环境(datanode启动问题)
本文引用:
《Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)》
http://blog.csdn.net/mark_meego/article/details/8800290
/blog/1558618
----------------------------------------------------------------------------------------------------------------------------------------
http://blog.csdn.net/hitwengqi/article/details/8008203?reload
/Linux/81.htm
这两篇文章已经讲得很详细,在伪分布模式搭建过程中:
新建data目录时
~/hadoop$ mkdir
要把data的权限设成755
~/hadoop$ sudo chmod 755
否则在格式化HDFS时会出错,在log可以观察到
org.apache.hadoop.hdfs.server.datanode.DataNode:
Invalid directory in dfs.data.dir: Incorrect permission for
/home/hadoop/hadoop-1.0.4/hdfs/data, expected: rwxr-xr-x, while
actual: rwxrwxr-x
15:14:36,077 ERROR
org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in
dfs.data.dir are invalid.
格式化HDFS后启动
hadoop@ubuntu:~/hadoop-1.0.4/bin$
start-all.sh
用jps命令查看
hadoop@ubuntu:~/hadoop-1.0.4$
14963 SecondaryNameNode
15052 JobTracker
15269 TaskTracker
14548 NameNode
14756 DataNode
----------------------------------------------------------------------------------------------------------------------------------------
结果如果都列出来,说明搭建成功,漏一个都是有问题的,可能登不上
http://localhost:50060
或者 http://localhost:50070
Cluster Summary 32 files and
directories, 1 blocks = 33 total. Heap Size is 55.69 MB / 888.94 MB
Configured Capacity
Non DFS Used
DFS Remaining
DFS Remaining%
Number of Under-Replicated
----------------------------------------------------------------------------------------------------------------------------------------
安装使用Hive的时候发现文件无法从本地拷贝到hadoop集群系统,老是报错,错误内容为:
java.io.IOException:
File& … could only be replicated to 0 nodes,
instead of
1。查找namenode的日志,也是报这个错,而且非常多,即便在启动的时候也是报类似的错误。这个学习环境为单namenode+2个datanode,使用dfsadmin
-report报无数据节点,如下:
[hadoop@namenode hadoop]$ hadoop
dfsadmin -report
Configured Capacity: 0 (0
Present Capacity: 0 (0 KB)
DFS Remaining: 0 (0 KB)
DFS Used: 0 (0 KB)
DFS Used%: ?%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
————————————————-
Datanodes available: 0 (0 total, 0 dead)
重新格式化namenode,并重新启动,故障依旧,清除历史日志,从datanode节点的日志发现了错误“Incompatible
namespaceIDs
“,删除了datanode的dfs.data.dir目录,并重建,然后重新格式化namenode、启动,发现dfsadmin
-report还是没有数据节点加入。再查日志,发现错误不同了:All directories in dfs.data.dir are
invalid。没有生成目录结构,正纳闷呢,发现日志中前面有警告:
Invalid directory in
dfs.data.dir: Incorrect permissio
n for /hadoop/hadoop-data, expected: rwxr-xr-x, while actual:
rwxrwxr-x。
根据警告内容,分别在两个datanode上修改该目录权限:
[hadoop@namenode logs]$ ssh
datanode01.hadoop
Last login: Wed Mar 14 01:58:39 2012 from namenode.hadoop
[hadoop@datanode01 ~]$ chmod g-w /hadoop/hadoop-data/
[hadoop@datanode01 ~]$ exit
[hadoop@namenode logs]$ ssh
datanode02.hadoop
Last login: Wed Mar 14 01:59:00 2012 from datanode01.hadoop
[hadoop@datanode02 ~]$ chmod g-w /hadoop/hadoop-data/
[hadoop@datanode02 ~]$ exit
启动后,故障解除:
[hadoop@LEE:/usr/local/hadoop/hadoop-1.2.1/bin$
hadoop dfsadmin -report
Warning: $HADOOP_HOME is deprecated.
Configured Capacity:
(44.31 GB)
Present Capacity:
(37.33 GB)
DFS Remaining:
(37.33 GB)
DFS Used: 40960 (40 KB)
DFS Used%: 0%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 1 (1 total, 0 dead)
Name: 127.0.0.1:50010
Decommission Status : Normal
Configured Capacity:
(44.31 GB)
DFS Used: 40960 (40 KB)
Non DFS Used:
DFS Remaining: (37.33 GB)
DFS Used%: 0%
DFS Remaining%: 84.26%
Last contact: Mon Aug 25 15:29:41 CST 2014
我首先使用第二种方法,但并未成功,最后使用第一种方法,结果启动了datanode.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。先说明你的集群环境,以及配置情况,以及问题是哪里出现的,是启动还是操作。
看你的日志Retrying connect to server: node2/127.0.1.1:49000感觉连的master有点问题吧
你的意思是日志是说datanode连不上master?但是我三台机器ssh无密码连接都没问题呢
这两个有啥关系?
引用 2 楼 liuyong10asia 的回复:
你的意思是日志是说datanode连不上master?但是我三台机器ssh无密码连接都没问题呢
贴配置文件上来看看
192.168.11.3
192.168.11.4
192.168.11.5
&property&
&name&dfs.name.dir&/name&
&value&/home/hadoop/name1&/value&
&description&
&/description&
&/property&
&property&
&name&dfs.data.dir&/name&
&value&/home/hadoop/data1&/value&
&description& &/description&
&/property&
&property&
&name&dfs.replication&/name&
&value&2&/value&
&/property&
core-site:
&property&
&name&fs.default.name&/name&
&value&hdfs://node1:49000&/value&
&/property&
&property&
&name&hadoop.tmp.dir&/name&
&value&/home/hadoop/hadoop_home/var&/value&
&/property&
以上 麻烦了
本帖最后由 tntzbzc 于
12:01:35 编辑
检查你的Node2、Node3
配置和Node1相同吗?
检查三个节点的hostname
如果还找不到问题
把三台机器一下文件贴出来
/etc/hosts
/etc/sysconfig/network
再把namenode log贴出来
node2跟node3的masters跟slaves需要配么
datanode报错就是最上面贴出来的,下面是namenode报错:
org.apache.hadoop.http.HttpServer: Port returned by webServer.getConnectors()[0].getLocalPort() before open() is -1. Opening the listener on 50070
21:14:06,353 INFO org.apache.hadoop.http.HttpServer: listener.getLocalPort() returned 50070 webServer.getConnectors()[0].getLocalPort() returned 50070
21:14:06,353 INFO org.apache.hadoop.http.HttpServer: Jetty bound to port 50070
21:14:06,353 INFO org.mortbay.log: jetty-6.1.26
21:14:06,690 INFO org.mortbay.log: Started SelectChannelConnector@0.0.0.0:50070
21:14:06,690 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: Web-server up at: 0.0.0.0:50070
21:14:06,690 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
21:14:06,691 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 49000: starting
21:14:06,691 INFO org.apache.hadoop.ipc.Server: IPC Server handler 0 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 1 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 3 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 4 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 5 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 6 on 49000: starting
21:14:06,692 INFO org.apache.hadoop.ipc.Server: IPC Server handler 7 on 49000: starting
21:14:06,693 INFO org.apache.hadoop.ipc.Server: IPC Server handler 8 on 49000: starting
21:14:06,693 INFO org.apache.hadoop.ipc.Server: IPC Server handler 9 on 49000: starting
hosts文件都是这么配的:
192.168.11.3
192.168.11.4
192.168.11.5
network都像这么配的:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node1
本帖最后由 tntzbzc 于
13:42:45 编辑
lz,你确认三台机器下 hadoop_home/conf/ 中的配置都是一样的?
你把Node1机器中 hadoop_home/conf/ 下的所有文件全部同步到 NODE2 和 NODE3 的同级目录下
启动前别忘了format namespace
还有配置要精炼
既然配了hadoop.tmp.dir
就不用再单独配dfs.name.dir和dfs.data.dir
端口用默认的ND 9000,不要改
顺便把dfs.http.address 也配上
最后说一下你的secondary namenode
把master文件清空,你的集群不需要这个,因为你的secondary namenode该有的配置都没配~~~~
你的secondary namenode 现在处于吃空饷,狂写Error状态
配置完全一样么? 那我不是可以随便换master跟slave了?
本帖最后由 tntzbzc 于
14:37:58 编辑
引用 12 楼 liuyong10asia 的回复:
配置完全一样么? 那我不是可以随便换master跟slave了?
谁是namenode是由fs.default.name 这个配置决定的 ,跟master文件没关系,master配置的是secondary namenode
谁是slave 是看slaves文件,如果不配slaves,就需要手动到每台节点上去单独拉起DN
你就按我前面说的做
我配置全弄成一样的了
启动看了所有日志 好像都没报错
但是master的jps还是没有datanode
引用 14 楼 liuyong10asia 的回复:
我配置全弄成一样的了
启动看了所有日志 好像都没报错
但是master的jps还是没有datanode
node1就是你的master对吗
你的slaves文件没有node1,所以没有datanode
在slaves里面加入master的ip果然好了。其实我也是随便搜的一个博客照着配的。版主帮忙这么久真心感谢啊。顺便问下有严谨一些的hadoop安装博客推荐吗?感觉新手弄起来还是很难的,毕竟还有一大堆linux操作要克服。虽然一开始什么都不懂,但是也不希望出现这些没必要错误影响进度啊。
呵呵,博客还是在CSDN站内找吧,一大把
多弄几次就熟练了,慢慢来吧
好像一切正常了
但是master里面jps还是没看到datanode进程
10943 JobTracker
8510 SecondaryNameNode
10679 NameNode
11087 TaskTracker
但是从http://192.168.11.3:50070上面看着又正常
Cluster Summary
8 files and directories, 1 blocks = 9 total. Heap Size is 49.44 MB / 888.94 MB (5%)
Configured Capacity
Non DFS Used
DFS Remaining
DFS Remaining%
Live Nodes
Dead Nodes
Decommissioning Nodes
Number of Under-Replicated Blocks
而且把node1配进slaves里好像node1既包含namenode又包含datanode好奇怪啊
引用 18 楼 liuyong10asia 的回复:
好像一切正常了
但是master里面jps还是没看到datanode进程
10943 JobTracker
8510 SecondaryNameNode
10679 NameNode
11087 TaskTracker
但是从http://192.168.11.3:50070上面看着又正常
Cluster Summary
8 files and directories, 1 blocks = 9 total. Heap Size is 49.44 MB / 888.94 MB (5%)
Configured Capacity
Non DFS Used
DFS Remaining
DFS Remaining%
Live Nodes
Dead Nodes
Decommissioning Nodes
Number of Under-Replicated Blocks
而且把node1配进slaves里好像node1既包含namenode又包含datanode好奇怪啊
正常情况下,不会吧NN和DN配在一起
但LZ你这是测试,放一起没关系
其它技术资料
如果您喜欢IT行业或者对IT行业感兴趣,想开拓技术视野,欢迎加入本站官方QQ群:,在群里认识新朋友和交流技术^_^
Powered by && & 2013 &&&Hadoop集群所有的DataNode都启动不了解决办法_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Hadoop集群所有的DataNode都启动不了解决办法
来源:Linux社区&
作者:杨鑫newlfe
首先会出现几种情况,才会出现启动不了datanode的情况。
1.首先修改过master那台的配置文件,
2.多次 namenode -format这种不好的习惯。
一般会出现一下报错:
java.io.IOException: Cannot lock storage /usr/hadoop/tmp/dfs/name. The directory is already locked.
[root@hadoop current]# hadoop-daemon.sh start datanode
starting datanode, logging to /usr/local/hadoop1.1/libexec/../logs/hadoop-root-datanode-hadoop.out
[root@hadoop ~]# jps
jps命令发现没有datanode启动
对于这种情况请先试一下:
在坏死的节点上输入如下命令即可:
bin/Hadoop-daemon.sh start DataNode
bin/Hadoop-daemon.sh start jobtracker
如果还不可以的话,那么恭喜你和我遇到的情况一下。
正确的处理方法是,到你的每个Slave下面去,找到.../usr/hadoop/tmp/dfs/& -ls
会显示有: data
这里需要把data文件夹删掉。接着直接在刚才的目录下启动hadoop
start-all.sh
接着查看jps
那么就会出现datanode.了
http://210.41.166.61(你的master的IP):50070
里面的活节点有多少个?
http://210.41.166.61(你的master的ip):50030/
显示的node数目。
OK,问题解决。
Hadoop的datanode新建异常处理
Hadoop的DataNode无法启动问题解决
Hadoop 启动节点Datanode失败解决&
安装和配置Hadoop2.2.0&
13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
Ubuntu下Hadoop环境的配置
单机版搭建Hadoop环境图文教程详解
搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)
更多Hadoop相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (03月23日)
& (02月18日)
& (03月04日)
& (01月22日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 jps 看不到datanode 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信