暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

初体验 GaussDB T —— Sharding的管理

原创 姜殿斌 2020-02-18
1088

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
image.png

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论