【GBase 8c V5_3.0.0 分布式数据库常用维护命令】
一、查看数据库状态/检查(gbase用户)
1.gha_ctl monitor
使用gha_ctl monitor查看节点运行情况(跟dcs的地址和端口)
gha_ctl monitor -c gbase -l http://172.20.10.8:2379 -H
- all |coordinator | datanode | gtm | server|dcs:必选字段。指定查看哪类集群节点或全部。
- -H:可选字段。指定返回信息是否以表格形式显示。缺省默认为文件命令行形式。
2.om工具(gbase用户)
gs_om -t status --detail
3.check检查数据库状态(gbase用户)
gs_check -U gbase -i CheckClusterState
- -U:指定以哪个管理员用户身份进行检查操作。
- -i:该参数用于指定检查项。注意区分大小写。格式为
-i CheckClusterState/CheckCPU/CheckClusterState/CheckCPU
4.健康检查(gbase用户)
gs_check -e inspect
- -e:该参数用于指定场景名。注意区分大小写。取值范围为所有支持的巡检场景名称。默认场景包括:inspect(例行巡检)、upgrade (升级前巡检)、binary_upgrade(就地升级前巡检)、health(健康检查巡检)、slow_node (节点)、longtime(耗时长巡检)、install(安装)。用户可根据实际需求,指定巡 检场景。
二、启动数据库(-l 跟dcs地址)
1,启动整个集群
gha_ctl start all -l http://172.20.10.8:2379
成功返回
{"ret":0,"msg":"Success"
}
- -c参数:指定数据库名称,为可选字段。缺省默认值gbase
- all可替换的值为:all |coordinator | datanode | gtm | server。指定启动全部节点或某类型节点。
2.启动单个dn
命令语法
gha_ctl start datanode group_name node_name -l dcslist [-c cluster]
举例为:
gha_ctl start datanode dn1 dn1_1 -c gbase8c -l http://172.20.10.8:2379
三、关闭数据库(-l 跟dcs地址)
1.关闭整个集群
gha_ctl stop all -l http://10.0.7.16:2379
成功返回
{"ret":0,"msg":"Success"
}
- -c参数:指定数据库名称,为可选字段。缺省默认值gbase
- all可替换的值为:all |coordinator | datanode | gtm | server。指定关闭全部节点或某类型节点。
2.关闭单个dn
命令语法
gha_ctl stop datanode group_name node_name -l dcslist [-c cluster]
举例为:
gha_ctl stop datanode dn1 dn1_1 -c gbase8c -l http://172.20.10.8:2379
四、数据库安装
通过安装目录script工具库下的gha_ctl工具进行安装部署,执行命令:
/home/gbase/gbase_package/script/gha_ctl install -c gbase -p /home/gbase/
- -c参数:指定数据库名称,为可选字段。缺省默认值gbase。
- -p参数:指定配置文件保存路径,为可选字段。缺省默认值/home/gbase。
五、数据库卸载
1.数据库卸载
gha_ctl uninstall -c gbase -l http://172.20.10.8:2379
- -c参数:指定数据库名称,为可选字段。缺省默认值gbase。
- -f参数:表示清理安装目录,为可选字段。缺省保留目录文件夹。
- -l跟的为DCS地址
成功返回
{"ret":0,"msg":"Success"
}
在集群卸载后环境变量自动清除,因此再次执行 gha_ctl 命令需要进入 script 目录。
2.卸载DCS
卸载DCS工具的具体操作命令为:
[gbase@gbase8c ~]$ cd /home/gbase/gbase_package/script
[gbase@gbase8c script]$ ./gha_ctl destroy dcs -l http://172.20.10.8:2379
六、连接数据库
gsql -d postgres -p 5432
一般通过 CN 节点连接
- -d参数指定要连接到的数据库名称。首次连接可以指定生成的默认数据库postgres。
- -p参数指定通过节点哪个端口号连接。可查看安装使用的yml文件。
- -U参数指定以哪个数据库用户身份连接,权限可能不同。缺省默认为gbase。
- -h参数指定数据库节点所在的服务器IP。缺省默认为当前服务器IP。
七、更改配置
1.更改hba
配置允许任意 IP 的客户端,以任意用户访问集群,执行如下命令:
[gbase@gbase8c ~]$ gs_guc reload -Z coordinator -N all -I all -h "host all all 0.0.0.0/0 sha256"
2.查看参数
查看数据库目前的listen_addresses配置。
gs_guc check -Z coordinator -N all -I all -c "listen_addresses"
3.更改参数
gs_guc reload -Z coordinator -N all -I all -c "listen_addresses='*'"
八、主备切换
语法格式
gha_ctl switchover datanode|gtm group_name leader_node_name [standby_node_name] -l dcslist [-c cluster]
例如:备节点执行
gha_ctl switchover datanode dn1 dn1_1 -c gbase8c -l http://172.20.10.8:2379
九、扩缩容
1.扩容
(1)配置互信
(2)在 DCS 节点上,在集群中添加新增节点的 IP。
gha_ctl deploy host_ip -l http://dcs_ip:2379
(3) 执行扩容命令。
将原集群的 M 个 DN 主备组扩容为 N 个主备组(N>M),将新增加的每一个主备组信 息用一组引号单独括起来,每个主备的信息是 DN 组名+用括号括起来的所有主备节点的信 息,一个节点用一个括号。语法如下:
gha_ctl expand datanode 'new_group1 (name1_1 host1_1 port1_1 dir1_1 agent_port1_1 agent_host1_1) (name1_2 host1_2 port1_2 dir1_2 agent_port1_2 agent_host1_2)' 'new_group2 (name2_1 host2_1 port2_1 dir2_1 agent_port2_1 agent_host2_1) (name2_2 host2_2 port2_2 dir2_2 agent_port2_2 agent_host2_2)' ['...'] -l dcslist [-c cluster] -u uuid -j parallel_num
参数说明:
- new_group:指定新增高可用组的名称。可根据需要,同时扩充多个高可用组。
- name:指定高可用组内的 DN 节点名称,一般格式应为 dn[数字]_[数字]。
- host:指定扩容高可用组内对应 DN 节点的 IP。
- port:指定对应 DN 节点的端口号。同高可用组内端口需一致。当资源限制需重复使用 同一节点,在不同高可用组内分别承担主备角色时,需将两个高可用组端口设置不同, 避免端口复用而报错。
- dir:指定对应 DN 节点的存储路径。
- agent_port:指定对应 DN 节点的代理端口号。
- agent_host:为可选参数。缺省值为 host 参数值。指定 DN 节点控制面 IP。
- uuid:通过唯一标识指定数据库。uuid 可以用如下命令生成:cat /proc/sys/kernel/random/uuid
- parallel_num:指定扩容时并行执行参数,多表同时执行重分布。默认值为 1。
举例:
扩容 DN2 高可用组,组内主节点为 10.0.7.6,备节点 10.0.7.7。
[gbase@gbase8c ~]$ cat /proc/sys/kernel/random/uuid 40ac7d83-6be3-486c-83c4-8942a16d3590
[gbase@gbase8c ~]$ gha_ctl expand datanode 'dn2 (dn2_1 10.0.7.6 15466 /home/gbase/data/dn2_1 8011 10.0.7.6) (dn2_2 10.0.7.7 15466 /home/gbase/data/dn2_2 8012 10.0.7.7) ' -l http://10.0.7.7:2379 -u 40ac7d83-6be3-486c-83c4-8942a16d3590
2.缩容
将原集群的 M 个 DN 主备组缩容为 N 个主备组(N<M),del_group1, del_group2 为缩 容时需要删除的 DN 主备组名称。
语法为:
gha_ctl shrink datanode del_group1 [del_group2 ...] -l dcslist [-c cluster] -u uuid -j parallel_num
举例:
[gbase@gbase8c ~]$ gha_ctl shrink datanode dn3 dn4 -l http://10.0.7.7:2379 -u b99ee57c-8b90-4196-896c-19d58bdaae6a
3.查询扩缩容结果
语法格式
gha_ctl get expand latest/history -l dcslist [-c cluster]
举例:
[gbase@gbase8c ~]$ gha_ctl get expand latest -l http://10.0.7.16:2379
[gbase@gbase8c ~]$ gha_ctl get expand history -l http://10.0.7.16:2379
十、buil备机命令
gha_ctl build dn_name -b auto -l dcslist
相关文章:

【GBase 8c V5_3.0.0 分布式数据库常用维护命令】
一、查看数据库状态/检查(gbase用户) 1.gha_ctl monitor 使用gha_ctl monitor查看节点运行情况(跟dcs的地址和端口) gha_ctl monitor -c gbase -l http://172.20.10.8:2379 -Hall |coordinator | datanode | gtm | server|dcs:必选字段。指定查看哪类集…...

破解AI生成检测:如何用ChatGPT降低论文的AIGC率
学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 降低论文的“AIGC率”是个挑战,但有一些策略可以尝试。使用ChatGPT逐步调整和改进内容,使其更加自然和原创,降低AI检测工具识别出高“AIGC率”的概率…...

Python用MarkovRNN马尔可夫递归神经网络建模序列数据t-SNE可视化研究
原文链接:https://tecdat.cn/?p37634 本文聚焦于利用马尔可夫递归神经网络(MarkovRNN)结合树库展开建模工作。MarkovRNN 通过整合马尔可夫特性与离散随机变量来深入探索递归神经网络中的随机转换机制,旨在高效处理具有复杂潜在信…...
setup函数子传父普通写法
父组件 <template><div><p>接收的数据: {{ receivedData }}</p><Demo4Chiren2 custom-event"handleGetWeb" /></div> </template><script> import { ref } from vue; import Demo4Chiren2 from ./demo4Chiren2.vue…...

seafaring靶场漏洞测试攻略
步骤一:打开网页 一:sql注入漏洞 步骤一:测试回显点 -1 union select 1,2,3# 步骤二:查看数据库 -1 union select 1,2,database()# 步骤三:查看表名 -1 union select 1,2,group_concat(table_name) from informati…...

简单示例,搞懂PowerBI的ALL(),ALLEXCEPT()和ALLSELECTED()的区别
假设我们有如下数据,我们来统计下各班级的人数 我们在报表页里加上 班级’二班‘ 的筛选条件,此时PowerBI已经自动为我们显示了各班级人数:一班有3人,二班有1人。 根据我们的筛选条件,我们的统计人数应该是按照筛选器&…...

Collection
java.util.Collections:是集合工具类 作用:Collections不是集合,而是集合的工具类 常用API addAll package Collections;import java.util.ArrayList; import java.util.Collections;public class CollectionsDemo {public static void main(String[]…...
19章 泛型
1.修改程序清单19-1中的GenericStack类,使用数组而不是ArrayList来实现它。你应该在给栈添加新元素之前检查数组的大小如果数组满了,就创建一个新数组。该数组是当前数组大小的两倍,然后将当前数组的元素复制到新数组中。 public class Gene…...

基于python+django+mysql+Nanodet检测模型的水稻虫害检测系统
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...

计算机网络27、28——Linux命令1、2
1、虚拟机网络前方路径内容 用户名机器名:/$ $表示普通用户,#表示root用户 2、Linux不分盘,都是绝对路径 /表示根目录,表示计算机文件夹下 ~是当前用户的家,表示home文件夹下自己的文件夹 3、bin文件夹下的是可执…...
【Python深度学习】逆强化学习(IRL):通俗揭开学习背后的奥秘
逆强化学习:揭开学习背后的奥秘 1. 引言 当我们谈论人工智能(AI)时,很多人第一时间会想到强化学习。强化学习是一种让智能体通过与环境的互动,逐渐学习到如何做出最优决策的学习方法。然而,有一种更加神奇的学习方式叫做 逆强化学习(Inverse Reinforcement Learning,…...

Linux:五种IO模型
1:五种IO模型 1:阻塞IO 阻塞IO: 在内核将数据准备好之前,系统调用会一直等待.所有的套接字,默认 都是阻塞方式。 2:非阻塞 IO 非阻塞 IO: 如果内核还未将数据准备好, 系统调用仍然会直接返回, 并且返回EWOULDBLOCK 错误码。 非阻塞 IO 往往需…...
ansible企业实战
ansible最佳实践 优化ansible速度 开启SSH长连接 修改 /etc/ansible/ansible.cfg里面的参数 ssh_args -C -o ControlMasterauto -o ControlPersist5d ControlPersist5d这个参数是设置整个长连接保持时间设置为5天,如果开启,通过SSH连接过的设备都会…...

面向对象程序设计之模板进阶(C++)
在之前我出过一篇博客介绍了模版的初阶:面向对象程序设计(C)模版初阶,接下来我们将进行模版的进阶学习,介绍关于更多模版的知识 1.非类型模版参数 模板参数分类类型形参与非类型形参 类型形参即:出现在模板参数列表中,跟在class或…...

电巢科技携Ecosmos元宇宙产品亮相第25届中国光博会
第25届中国国际光电博览会(“CIOE中国光博会”)今日在深圳国际会展中心盛大开幕。本届博览会以“光电引领未来,驱动应用创新”为主题,吸引了全球超过3700家优质光电企业参展,展示了光电产业的最新成果和前沿技术。 电…...

Redis 入门 - 收官
《Redis 入门》系列文章总算完成了,希望这个系列文章可以想入门或刚入门的同学提供帮助,希望能让你形成学习Redis系统性概念。 当时为什么要写这个系列文章,是因为我自己就是迷迷糊糊一路踩坑走过来的,我踩完的坑就踩完了&#x…...

Windows技术栈企业基础底座(1)-为基于Windows的Nginx安装证书
企业的基础环境是一个组织的信息化数字化底座。传统企业基础环境多种系统,应用交杂,多种技术栈使得深入运维成本极大,且人员知识技能较难复用,造成资源浪费。本系列旨在尝试推动这一理念, 建立Windows, 或linux聚焦的技术栈的企业…...

ThreeJS入门(002):学习思维路径
查看本专栏目录 - 本文是第 002篇入门文章 文章目录 如何使用这个思维导图 Three.js 学习思维导图可以帮助你系统地了解 Three.js 的各个组成部分及其关系。下面是一个简化的 Three.js 学习路径思维导图概述,它包含了学习 Three.js 的主要概念和组件。你可以根据这个…...

基于ssm+vue+uniapp的新生报到系统小程序
开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...

掌握 JavaScript ES6+:现代编程技巧与模块化实践
掌握 JavaScript ES6:现代编程技巧与模块化实践 一 . 变量声明 let二 . 声明常量 const三 . 模板字符串四 . 函数的参数默认值五 . 箭头函数六 . 对象初始化七 . 解构7.1 接收 JSON 对象7.2 接收数组 八 . 延展操作符九 . 导入和导出9.1 方式一9.2 方式二 这篇文章我…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...