Sharding的switchover
应用场景:
集群主DN发生故障,DN的备机自动升为主机后,可能导致集群各主机上的主备分布不均衡,从而使各主机的运行负载不均衡。待故障DN恢复正常后,可以手工执行主备切换,使各主机上的主备DN分布均衡。在其他场景,如有需要也可以通过命令行手动切换DN。
本例中:集群状态
------Cluster Status------------
az_state : single_az
cluster_state : Normal
balanced : false
需求:
正常应该是true,进行switchover切换,修复balanced的状态为true。
集群状态:
-----------------------------Instances Status in Group (group_1)--------------------------------------
INSTANCE:DB1_2 ROLE:primary STATUS:ONLINE HOST:gaussdb11 ID:2 PORT:40000 DataDir:/gaussdb/data/data_dn
INSTANCE:DB1_1 ROLE:standby STATUS:ONLINE HOST:gaussdb13 ID:1 PORT:40000 DataDir:/gaussdb/data/data_dn
----------------------------------------------------------------------------------------------------------
需求:
需要对HOST:gaussdb13的role从standby,切换成primary
就是HOST:gaussdb11、HOST:gaussdb13的角色互换
执行主备切换命令:
gs_om -t switch -h gaussdb13 -I DB1_1
--------------Cluster Status--------------------------------------------------------------------
az_state : single_az
cluster_state : Unavailable ##注:需要过一段时间,状态变为normal
balanced : true
----------------------------------------------------------------------AZ Status----------------------------------------------------------------------
---------------------------------------------------------Instances Status in Group (group_1)------------------------------------------------
INSTANCE:DB1_2 ROLE:standby STATUS:ONLINE HOST:gaussdb11 ID:2 PORT:40000 DataDir:/gaussdb/data/data_dn
INSTANCE:DB1_1 ROLE:primary STATUS:SWITCHOVER_SUCCESS HOST:gaussdb13 ID:1 PORT:40000 DataDir:/gaussdb/data/data_dn
--------------------------------------------------------Instances Status in Group (group_2)----------------------------------------------------------
Sharding的failover
环境准备:模拟节点gaussdb12 down机
---------------------------------------------------------Instances Status in Group (group_2)----------------------------------------------------------
INSTANCE:DB2_4 ROLE:standby STATUS:ONLINE HOST:gaussdb12 ID:4 PORT:40000 DataDir:/gaussdb/data/data_dn
INSTANCE:DB2_3 ROLE:primary STATUS:ONLINE HOST:gaussdb14 ID:3 PORT:40000 DataDir:/gaussdb/data/data_dn
-----------------------------------------------------------------------Manage IP----------------------------------------------------------------------
环境构造:
[root@gaussdb12 ~]# poweroff

Sharding的建表查询
分部式DDL语句进行测试集群
SQL> CREATE GLOBAL TEMPORARY TABLE sections
(
section_id NUMBER(4) not null,
section_name VARCHAR2(30),
manager_id NUMBER(6),
place_id NUMBER(4)
) DISTRIBUTE BY HASH(section_id) ON COMMIT DELETE ROWS;
Succeed.
SQL> insert into sections (section_id, section_name, manager_id, place_id)
values (10, 'Administration', 200, 1700);
--插入数据1
insert into sections (section_id, section_name, manager_id, place_id)
values (20, 'Marketing', 201, 1800);
--插入数据2
insert into sections (section_id, section_name, manager_id, place_id)
values (30, 'Purchasing', 114, 1700);
--插入数据3
--查询记录数
SELECT COUNT(1) FROM sections ;1 rows affected.
COUNT(1)
--------------------
3
1 rows fetched.
最后修改时间:2020-02-18 19:22:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




