gn节点数据重分布
之前做了重分布一段时间后停掉了
重分布之前
USE vc vc_ggjc;
select count(*) from gclusterdb.rebalancing_status;
select status,count(*) from gclusterdb.rebalancing_status group by status;
--发现只有COMPLETED,可以删除rebalancing_status表
truncate gclusterdb.rebalancing_status;
use vc vc_ggjc;
rebalance instance to 9;
cancel rebalance instance;
取消当前集群下所有处于starting,running,paused状态表的rebalance操作
返回的影响行数是取消掉的rebalance任务数
select * from gclusterdb.rebalancing_status;
-查看同步
select count(*) from gbase.table_distribution;
select count(*) from gbase.table_distribution where data_distribution_id =2;
-查看表分布
优先迁移复制表
use vc vc_ggjc;
对所有的表执行update操作
select tbName from gbase.table_distribution where dbname='db1' and isReplicate='YES' and data_distribution_id =2 into outfile '/tmp/0918.txt';
# cat 0918.txt |awk -F '' '{print "update gclusterdb.rebalancing_status set priority =1 where table_name = \47" $0 "\47 and db_name = \47db1\47;"}' > 22.txt
gccli -uroot -Dvc_sjxt.hds_temp < 22.txt
确认修改成功
select count(1) from rebalancing_status where priority=1 and distribution_id =13;
确认复制表都已经迁过去了
gbase> select count(1) from gclusterdb.rebalancing_status where priority=1 and distribution_id =13;
--0
select count(1) from gclusterdb.rebalancing_status where priority=1 and distribution_id =15;
监控同步情况
gccli -ugbase -pgbase20110531 -Dvc1.gclusterdb -e"select status,count(1) from gclusterdb.rebalancing_status group by status;"
gccli -ugbase -pgbase20110531 -Dvc1.gclusterdb -e"select * from gclusterdb.rebalancing_status where status='RUNNING';"
----------------------------
rebalance做完,新建表会建在新的disid。
select count(*) from gbase.table_distribution where data_distribution_id =2;
select count(*) from gbase.table_distribution where data_distribution_id =9;
删除旧分片信息要保证老的disid查询没有表
(1)删除hashmap
gbase> use vc vc_sjxt;
gbase> refreshnodedatamap drop 13;
(2)删除distribution
gcadmin rmdistribution 1 vc vc1
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528