Hadoop节点迁移

增删节点 数据迁移
 
 
一、所有事情开始之前,先要备份好cloudera manager的数据库,以及hadoop集群中的一些组件带的数据库。这里保存了很多元数据,像hive这种丢了很麻烦的。
 
二、如果需要换nameNode的存储目录
1、备份nameNode原始数据
 
cp -r /ddhome/dfs/nn /ddhomebak/
 
#Hive Metastore NameNodes #未找到该命令(刷新hive的hdfs设置)
 
重启后,如果有数据问题,则会hdfs会进入安全模式。可以使用下面这个命令接触。
实际过程中还报了一个:不能写入temp/.XXX目录的一个错误。实际就是安全模式无法写入。
sudo -uhdfs hdfs dfsadmin -safemode leave
 
切换数据存储目录 需要手动把数据文件复制过去
 
cp -r /ddhome/dfs/ /home/hdfs/
 
cp -r /ddhome/dfs/dn /home/hdfs/dfs
 
cp -r /ddhome/dfs/dn /ddhome/dfs_bak
 
三、数据整理(根据需要进行)
 
1、先把数据备份成三分
hadoop dfs -setrep -w 3 -R /
 
2数据均衡
1.对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M,
hdfs dfsadmin -setBalancerBandwidth 67108864
 
2.默认balancer的threshold为10%,即各个节点存储使用率偏差不超过10%,我们可将其设置为5%;然后启动Balancer,sbin/start-balancer.sh -threshold 5,等待集群自均衡完成即可
#./start-balancer.sh -threshold 5
hdfs balancer -threshold 1 #这个是机器资源使用率的差额,如果设置太小,可能不会迁移
#详细使用请参照下面这篇博客
 
 
 
 
=============================================================================
 
四、hadoop组件迁移:
1、可以有多个主节点的主键,可以先添加好备用的主键节点。然后重启,等备用节点完全同步了主节点之后,就可以停止老的主几点了。会自动切换到新的主节点上。这个时候就可以删除老的主节点了。
zk、hbase、hdfs、yarn、hive(Hive Metastore ServerHiveServer2都可以)。
 
2、一些机器不相关的组件,可以直接删除了,加入新机器之后,直接在新的节点上重新装这部分组件。
典型的有yarn、spark on yarn、hue、
 
3 比较难迁移的就是hdfs。因为它涉及到真正的数据存储在哪个位置。
需要一个节点一个节点的:停止---数据同步到其他节点----删除这节点。
 
这里要注意:nameNode角色迁移,删除老节点之后,整个hdfs就锁死不能进行操作了。因为删除该节点之后,hdfs没有自动进行配置修改,它任然是高可用模式,你做什么操作 它都提示错误不能进行。需要手动到hdfs的配置里面把高可用相关的配置全部去除掉。然后重新添加新节点上的nameNode。可以在这个时候直接进行高可用部署方式。

posted @ 2018-05-13 18:29  double_kill  阅读(2250)  评论(0编辑  收藏  举报