GaussDB-ddb相关操作
GaussDB-ddb相关操作
ddb是指分布式数据存储,例如dcc、etcd。ddb相关操作主要用于存储CM的仲裁信息,通过cm_ctl ddb命令查看ddb运行状态、设置和获取键值对,通过cm_ctl switch命令切换ddb模式。
执行ddb命令行
命令格式
cm_ctl ddb "[--put <key> <value>] | [--get <key> | --delete <key> [--prefix]] | [--cluster_info] | [--leader_info] | [--help] | [--version]"
参数说明
- --put <key> <value>:往ddb中插入键值对,如果键值对已存在则会修改键key所对应的值value。
- --get <key>:查询ddb中key对应的value。
- --delete <key>:删除ddb中指定的键值对。
- --prefix:get或者delete后添加prefix参数,可以实现模糊匹配查询和删除。
- --cluster_info:获取数据库实例信息。
- --leader_info:获取主节点信息。
- --help:显示ddb命令帮助信息。
- --version:显示ddb版本信息。
- --member_list : 查询数据库实例中所有节点的信息。
- --member_add :向数据库实例中增加某节点。
- --member_remove:删除数据库实例中某节点。
- --change_role:改变某节点的角色。
- --change_weight:改变某节点投票的权重。
- --setrunmode:设置运行模式,可以启动少数派模式或恢复正常模式。
- --fixleader -fixval {0 | 1}:修改定主, 1:设置定主,0:取消定主。
- --build_info:查询dcc的build信息。
常用命令
- 插入键值对:
cm_ctl ddb "--put /test/key1 value1"
- 查询键值对:
cm_ctl ddb "--get /test/key1"
- 删除键值对:
cm_ctl ddb "--delete /test/key1"
- 获取数据库实例信息:
cm_ctl ddb "--cluster_info"
- 获取主节点信息:
cm_ctl ddb "--leader_info"
- 查看ddb命令帮助信息:
cm_ctl ddb "--help"
- 显示ddb版本信息:
cm_ctl ddb "--version"
- 查询数据库实例中所有节点的信息:
cm_ctl ddb "--member_list"
- 向数据库实例中增加3号节点:
cm_ctl ddb "--member_add -n 3 -i 127.0.0.1 -p 12766 -r FOLLOWER"
- 删除数据库实例中的3号节点:
cm_ctl ddb "--member_remove -n 3"
- 改变1号节点的角色:
cm_ctl ddb "--change_role -n 1 -r passive"
- 改变1号节点的投票权重为2:
cm_ctl ddb "--change_weight -n 1 -w 2"
- 设置运行模式为少数派模式,投票数为2:
cm_ctl ddb "--setrunmode -xmode minority -votenum 2"
- 设置运行模式为正常模式:
cm_ctl ddb "--setrunmode -xmode normal"
- 设置定主:
cm_ctl ddb "--fixleader -fixval 1"
- 取消定主:
cm_ctl ddb "--fixleader -fixval 0"
- 查询dcc的build信息:
cm_ctl ddb "--build_info"
切换ddb模式
命令格式
cm_ctl switch {--ddb_type=<DDB_TYPE> | --commit | --rollback}
参数说明
- --ddb_type=<DDB_TYPE>:选择需要切换到哪一个模式(ETCD或DCC),切换成功后需要执行--commit命令,切换失败后需要执行--rollback命令。
- --commit:执行切换会使集群无法选主,需要执行commit恢复集群。
- --rollback:回滚操作,执行切换失败需要执行回滚操作。
常用命令
- 切换ddb模式到ETCD:
cm_ctl switch --ddb_type=ETCD
- 切换ddb模式到DCC:
cm_ctl switch --ddb_type=DCC
- 提交ddb模式切换:
cm_ctl switch --commit
- 回滚ddb模式切换:
cm_ctl switch --rollback