有时候hadoop或hbase集群运行时间久了后,某些节点就会失效,这个时候如果不想重启整个集群(这种情况在很多情况下已经不被允许),这个时候可以单独重启失效节点。


HADOOP:

hadoop中重启单节点的方法和增加新节点其实是一样的。



1、我们先看下如何了解hadoop机器的情况,可以用命令:



hadoop dfsadmin -report 查看集群容量情况,很多情况下失效节点也可以从这里了解到(比如失效节点容量显示为0)。



也可以用web查看: http://ip:54030/jobtracker.jsp



2、重启或添加节点:



$bin/ start datanode 



   $bin/ start tasktracker



当然,添加的话需要copy配置文件到新节点。重启的话先   $bin/ stop datanode/  tasktracker


3、重新balancer(可选)

$bin/hadoop balancer


其实集群自己会balancer,当然也可以像上面那样手动balancer,不然在繁忙时段最好避免。




HBASE:


很多时候,节点失效是因为pid文件被删除引起(默认pid文件中/tmp下),所以最好把很多默认是/tmp的目录修改成自己的目录,比如hbase的pid配置可以在中,修改export HBASE_PID_DIR=/var/hadoop/pids就可以。hbase节点失效常对应60020端口异常。


进入hbase shell


1、查看节点情况:


status


当然,也可以通过web页面查看(如果服务开放的话):


http://serviceIp:60010/master.jsp


http://serviceIp:60030/regionserver.jsp

http://serviceIp:60010/zk.jsp


2、重启


$bin/ stop regionserver


$bin/ start regionserver


也可以添加新的master(默认只有一个master),$bin/ start master