集群间动态扩展和删除hdfs的datanode和hbase的regionserver

2018-01-19 10:36:14来源:网络收集作者:管理员人点击

分享

[var1]

如果你既要增加节点,又要删除节点呢,我推荐的顺序是:新增datanode,新增regionserver,停掉regionserver ,停掉datanode。


如果你单独的增加或者移出呢,顺序就是上面拆开的就行啦。


如果你新增机器呢,新增datanode,新增regionserver。


如果你减少机器呢,停掉regionserver ,停掉datanode。


所以演示的话呢,就来个全套,就是新增datanode,新增regionserver,停掉regionserver ,停掉datanode。


一、准备工作
新增的机器,提前安装好java,ssh免密登录,然后把好的机器上的从节点的安装包scp过来。


二、新增datanode节点
1。先把$HADOOP_HOME/etc/hadoop/slaves
/etc/hosts , 都加上你加上的主机名。
2。集群间动态扩展和删除hdfs的datanode和hbase的regionserver
在你本机目录下,创建dfs.data.dir里面的value值得目录,如果这个dfs.data.dir里面的value值得目录底下有东西的话,确认没用,最好删了,删了!!!!删了!!!!,不然一会你会发现,你的clusterId会发生冲突,什么storageId冲突,block pool 编号不一样,等等等等。


3。进入bin目录 执行hadoop-daemon.sh start datanode


4。hdfs dfsadmin -refreshNodes 刷新一下


5。hdfs dfsadmin -report再查看是否添加进去了。


6。设置带宽,配置均衡器balancer,一般不在主节点上运行,以避免影响业务,可以有专门的balancer节点
hdfs dfsadmin -setBalancerBandwidth 1048576
# 如果某个datanode的磁盘里用率比平均水平高出5%,Blocks向其他低于平均水平的datanode中传送list
start-balancer.sh -threshold 5
7。最后再查看一下,hdfs dfsadmin -report 完成。


三、新增RegionServer节点
0。把一台好的节点上的Hbase拷贝过来(配置文件以配置好的)
1。先把$HBASE_HOME/conf/regionservers
/etc/hosts , 都加上你加上的主机名。
2。执行以下命令启动
hbase-daemon.sh start regionserver
3。在新的节点上进入hbase shell
然后输入balance_switch true
过一会,你就会发现regions 已经负载均衡了。


四、hbase删除regionserver节点
1> 执行命令


graceful_stop.sh regionser(主机名)

然后启动之后,就会自动让这个机器上的region分布到其他机器上去,然后自动下线,我看网上说,还需要像上面一样,执行一遍balance_switch true,但是我发现,其实那个graceful_stop.sh regionser已经自动帮你均衡了region,所以我们去shell里执行balance_true,也可。


五、hdfs安全删除datanode节点


千万不要直接输hadoop-daemon.sh stop datanode 这样可能,可能会导致数据块的丢失,强烈不建议datanode这样退役。


然后就是在excludes里面添加你要退役的节点即可。


整个流程大体如下:


编辑hdfs-site.xml


加入以下选项:



dfs.hosts.exclude
/opt/hadoop/etc/hadoop/excludes

然后在这个路径下面,编辑excludes,在里面加入你要退役的节点,例如加上这个hadoop-dn-2。


如果你是HA模式的话,两个NN都要加,一定要两个NN都加哦~


然后输入hdfs dfsadmin -refreshNodes (记住,不用重启,不用重启服务,也别关掉datanode !!!!!!!!!!!!!!!)


这样你就会登陆主节点的50070端口,你会发现有一个节点的状态是Decommissioned in Process 这是后你


就静静地看着他会往不均衡的节点传输Block块,等传输好了后,你就会发现状态变更为Decommissioned


这时候你就可以安全下线datanode即可。


集群间动态扩展和删除hdfs的datanode和hbase的regionserver


这样就可以啦,然后你就删除了。


最后,再次提醒顺序。新增datanode,新增regionserver,停掉regionserver ,停掉datanode。切记切记,年轻人们!!!!!


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台