四个步骤:
1.distcp迁移数据
2.恢复hbase元数据
hbase hbck
3.停止原集群
4.将原集群机器加入新的集群
hadoop跨集群迁移数据
hadoop distcp -m 100 hdfs://hostname:9000/hbase/data/default/* hdfs://hostname:9000/hbase/data/default/
hadoop动态添加节点
1.namenode节点添加slaves配置
2.在datanode上启动datanode和nodemanager
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start nodemanager
3.namenode上刷新节点
bin/hdfs dfsadmin -refreshNodes
4.namenode上启动均衡器
sbin/start-balancer.sh
hadoop动态删除节点
1.增加excludes文件,每行写一个要删除的节点的主机名
2.在hdfs-site.xml中增加
<property>
<name>dfs.hosts.exclude</name>
<value>/data/hadoop/etc/hadoop/excludes</value>
</property>
3.在mapred-site.xml中增加
<property>
<name>mapred.hosts.exclude</name>
<value>/data/hadoop/etc/hadoop/excludes</value>
<final>true</final>
</property>
4.刷新节点 bin/hadoop dfsadmin -refreshNodes
5.运行负载均衡器
/sbin/start-balancer.sh
6.查看节点状态hadoop dfsadmin -report或者web管理端页面,可以看到该节点是decomissioning状态,等它变化为decomissioned,就可以把这个节点拿掉了。
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-daemon.sh stop nodemanager
hbase动态添加节点
1.在hmaster节点上添加regionservers配置
2.在新的regionserver节点上启动regionservers节点
bin/hbase-deamon.sh start regionserver
hbase动态删除节点
1.关闭负载均衡器
hbase shell中执行命令balance_switch false
2.需要关闭的regionserver上执行命令
bin/hbase-deamon.sh stop regionserver
或者执行命令
bin/graceful_stop.sh <HostName>