检测hadoop程序的小技巧
这里总结一些检测hadoop是否正常启动的一些小技巧
?
1:查看hadoop的进程,利用java自带的jps
例如在master上执行后的输出
?
[dikar@dikar logs]$ jps6652 Sancho3813 9760 Jps9629 SecondaryNameNode9451 NameNode[dikar@dikar logs]$
?在slaves上执行的输出
?
[dikar@dikar121 data]$ jps2210 Jps2137 DataNode[dikar@dikar121 data]$
?
2:检测监听端口是否启动,利用netstat
例如我需要检测54310是否开启并且有连接进来
?
[dikar@dikar logs]$ netstat -altnp | fgrep 54310(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp 0 0 ::ffff:10.0.18.105:54310 :::* LISTEN 9451/java tcp 0 0 ::ffff:10.0.18.105:37804 ::ffff:10.0.18.105:54310 TIME_WAIT - tcp 0 0 ::ffff:10.0.18.105:54310 ::ffff:10.0.18.121:40535 ESTABLISHED 9451/java tcp 0 0 ::ffff:10.0.18.105:54310 ::ffff:10.0.18.122:51895 ESTABLISHED 9451/java
?
3:检测master 和slaves之间的端口访问控制
例如在slaves上telnet master的 54310端口? 或者在 master上telnet slaves的 50010 端口
?
[dikar@dikar121 data]$ telnet 10.0.18.105 54310Trying 10.0.18.105...Connected to 10.0.18.105.Escape character is '^]'.^]telnet> quitConnection closed.[dikar@dikar121 data]$
?
?
[dikar@dikar logs]$ telnet 10.0.18.122 50010Trying 10.0.18.122...Connected to 10.0.18.122.Escape character is '^]'.^]telnet> quit Connection closed.[dikar@dikar logs]$?
?? 如果telnet可以通的话 会提示说:
Escape character is '^]'.
?? 然后输入 ctrl + ]进入telnet命令提示符 然后quit 就退出了。
?
?