GoldenDB 三节点集群部署安装
1. 环境规划
hostname | IP | 配置 | |
Gdb01 | 192.168.50.70 | 4C16G | 管理节点 |
Gdb02 | 192.168.50.71 | 4C16G | GTM 主 |
Gdb03 | 192.168.50.72 | 4C16G | GTM 从 |
2. 安装前配置
2.1. 修改主机名
hostnamectl set-hostname Gdb01
hostnamectl set-hostname Gdb02
hostnamectl set-hostname Gdb03
2.2. python 环境确认
# python -V
-- 能够正常显示python2.7版本,说明python2.7安装完成。
--如果未安装,在2.6节再执行yum -y install python2,进行安装
2.3. 清理用户,用户组,定时任务及开机启动项(可选)
ps -ef|grep -i insight|grep -v grep|awk '{print $2}'|xargs sudo kill -9
cat /etc/passwd |grep /data/goldendb|cut -d ':' -f 1|xargs -i sudo pkill -9 -u {}
ps -ef |grep /data/goldendb| awk '{print $2}'|xargs kill -9
cat /etc/passwd |grep /data/goldendb|cut -d ':' -f 1|xargs -i sudo userdel -rf {}
sudo groupdel goldendb_ah
sudo rm -rf /data/goldendb/redisBasePath
sudo rm -rf /data/goldendb/install_log
sudo rm -rf /data/goldendb/install_tmp
2.4. 修改资源限制参数(所有主机)
vi /etc/security/limits.conf
添加:
insight hard nofile 655360
insight soft nofile 655350
insight - nproc 65535
ahdbproxy1 hard nofile 655360
ahdbproxy1 soft nofile 655350
ahload1 hard nofile 655360
ahload1 soft nofile 655350
* hard nofile 65536
* soft nofile 65535
* hard nproc 65535
2.5. 安全参数配置(所有主机)
2.5.1. 修改SELINUX
echo "SELINUX=disabled" > /etc/selinux/config
echo "#SELINUXTYPE=targeted " >> /etc/selinux/config
cat /etc/selinux/config
setenforce 0
未修改会报错:
2.5.2. 关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
未关闭会报错:
2.5.3. 关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
2.6. 配置yum
mount /dev/cdrom /mnt
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]" >> /etc/yum.repos.d/hefei.repo
echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/hefei.repo
echo "baseurl=file:///mnt" >> /etc/yum.repos.d/hefei.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/hefei.repo
echo "enabled=1" >> /etc/yum.repos.d/hefei.repo
cat /etc/yum.repos.d/hefei.repo
3. 软件安装
上传软件至主节点 data 目录
ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7.zip
3.1. 使用root登陆服务器,并解压安装包
cd /data
unzip -d ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7 ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7.zip
3.2. 检查环境依赖包情况,需要确保YUM可以正常使用
# cd /data/ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7/oneKeyInstallUpdate/install/
# python init_env.py
3.3. 编辑安装配置文件
# cd ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7/oneKeyInstallUpdate/install/config
vi install_senior.ini
--需要注意,其中涉及中文,建议使用vi编辑,不要编辑后复制进去。
# 适用Goldendb资深者, 对各组件及其配置项有详细了解
#修改rdb密码要求:1.包含数字;2.包含大写字母;3.包含小写字母;4.长度在8到32之间;5.不包含用户名;
#6.不包含用户名的逆序;7.不能包含三个及以上连续字符串;8.必须包含至少一个特殊字符(不包含* \)
[GENERAL]
# 安装机器登录用户,具有root权限的高权用户
root_user=root
# 安装机器用于登录用户, 如需手动交互输入请置空
root_pwvalue=root123
# 管理组件(OMM, CM, PM, MDS), GTM, Proxy, DB, LOADSERVER等用户名的前缀信息
# (同一节点上有多个时,末尾采用从1开始的数字进行区分)
# OMM安装用户名长度不能大于8, 即user_prefix长度不能大于5
user_prefix=ah
# 容器化版本必须使用默认值 user_group_name=mysql, user_group_id=3306
# goldendb用户组名
user_group_name=goldendb
# goldendb用户组id,该配置项可为空,注意该项在安装开始后不要修改
# 如果安装过程中失败,需要修改install_senior.ini,要么将服务器上install_senior.ini下载下来修改
# 要么在服务器上对install_senior.ini直接修改保存
user_group_id=600
# 安装机器gdbcheck用户pw
gdb_normal_user_pwd=Gdb@2023
# 安装路径(建议设置为非根目录/)
install_path=/data/goldendb
# License.dat证书类型:(配置为2或者3时,CLUSTER段中分片模式只能是单分片模式)
# 0代表标准版,1代表企业版, 2代表单机集群企业版,3代表单机集群标准版,默认值为0
license_type=0
# License.dat文件绝对路径名,配置空时安装标准版。文件名License.dat不可修改且首字母必须大写
# eg: license_dat_path=/home/OneInstall/License.dat
license_dat_path=
#安装模式(针对管理节点):
# 注意现阶段请不要配置HA模式,HA版本安装暂未适配,因此install_type备选项只有0和2,填1时安装会出错。
# 0代表单管理节点,需要配置[Nodes],[Manager-Single],[GTM],[DBPROXY],[CLUSTER],[LOADSERVER];
# 2代表ZK, 需要配置[Nodes],[Manager-ZK], [GTM],[DBPROXY],[CLUSTER],[LOADSERVER];
install_type=0
# 组件安装模式
# 0代表正常安装
# 1代表是只安装管理节点和GTM节点,LDS节点(不安装db和proxy、不组建集群、不配置互信)
# 2代表只安装管理节点(不安装db和proxy、lds、gtm, 不组建集群、不配置互信)
install_tenancy=0
# 安装载体,
# 0代表GDB全部使用物理机,虚拟机安装
# 1代表管理节点--物理机,虚拟机,非管理节点--容器
# 2代表管理节点--容器
install_carrier=0
# MPP安装适配insightAgent鉴权处理
# GoldenDB版本为523和52201时此值为1
# 其他GoldenDB版本此值要改为0
authentication=0
# 是否执行系统级参数修改 ,请在已测试且确定不执行该系统级参数修改情况下,仍能正确运行GoldenDB再选0
# 系统级参数脚本位置: 产品包/oneKeyInstallUpdate/install/prepare_env/checkkernel.sh
# 1 代表执行, 0 代表不执行
system_parameter=1
# domain name: ommserver机器地址(固定IP、浮动IP或域名)
# ip支持ipv4或ipv6格式
# 单管理节点配置本机ip, HA配置浮动ip或者域名, ZK配置本机ip
omm_domain_name=192.168.50.70
# listen port for ommagent.
omm_listen_port=6471
# rdb port,默认是3309
rdb_port=3309
# rdb super用户pw
rdb_super_pwvalue=Gdb@2023
# rdb repl用户pw
rdb_repl_pwvalue=Gdb@2023
# rdb normal用户pw
rdb_normal_pwvalue=Gdb@2023
# rdb root用户pw
rdb_root_pwvalue=Gdb@2023
# 0:表示如果操作系统有mysql客户端,则不安装,没有则安装mariadb客户端
# 1:表示无论操作系统是什么客户端,都使用产品包自带的mysql客户端替换
mysql_client_switch=0
[MPP]
# 连接MPP客户端端口号,同一个IP安装多个coordinator时此端口号递减
mpp_port=9999
# 环境初始化
[REMOTEENV]
# OS,将在所有服务器执行
# 'RDB', 'INSIGHT', 'DB', 'GTM', 'DBPROXY', 'OMM', 'LOADSERVER', 'SLOTH'等只在对应服务器执行
# dbproxy服务端口限制范围, 请尽量使用默认配置,
# 如果需要修改,请先阅读产品包/doc目录下文档《ZXCLOUD_GoldenDB_分布式数据库_网元端口说明文档.md》,并规避文档中端口再填写
DBPROXY|ip_local_reserved_ports=8880-10000
# 所有服务器
[NODES]
# 配置项的名称格式如下,不允许修改:
# local_room表示本区域AZ,city_room1表示同区域AZ1,city_room2表示同区域AZ2,remote_room1表示异区域AZ1,remote_room2表示异区域AZ2
# 配置值的格式如下
# Region|AZ-所在物理城市|服务器ip列表|AZ优先级 (所在物理城市一定要填实际的地级市名称)如: local_room=Region|AZ1-南京|10.0.0.10,10.0.0.11-12,10.0.0.18|1
# 说明:服务器ip列表中可以有一个ip或者多个ip(多个ip之间用英文逗号分隔),ip支持ipv4或ipv6格式
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip.
# 连续ip只支持ipv4格式,ipv6必须填完整ip,用英文逗号分隔,
# ipv6示例:local_room=Region|AZ1-南京|FE80::5200:FF:FE01:0,FE80::5200:FF:FE01:2,FE80::5200:FF:FE01:3|1
# 没有相应服务器则置为空比如remote_room2=
local_room=hefei|hefei1|192.168.50.70,192.168.50.71,192.168.50.72
city_room1=
city_room2=
remote_room1=
remote_room2=
# 单管理节点安装, install_type=0时此配置生效
[MANAGER_SINGLE]
# 从[Nodes]配置段中选取,用于配置 本地,同城,异地
# 本地,只允许一个IP
# 同城、异地如果没有,可以保留为空值,如果有值,也是只允许一个IP
# IP可支持配置ipv4或ipv6
local_room_ip=192.168.50.70
city_room1_ip=
remote_room1_ip=
# 管理节点安装路径, 如不配置则使用[GENERAL]段中的install_path
manager_install_path=/data/goldendb
# manager节点应用用户pw
manager_apply_user_pwvalue=Gdb@2023
# zk安装, install_type=2时此配置生效
[MANAGER_ZK]
# 配置管理节点ip,配置项的名称为ip,不允许修改。
# 配置值的格式如下:
# ip1,ip2,...
# 说明:从[Nodes]配置段中选取,英文逗号分隔,ip可支持配置ipv4或ipv6
# 连续ip只支持ipv4格式,ipv6必须填完整ip,用英文逗号分隔
# ipv6示例:local_room_ip=FE80::5200:FF:FE01:0,FE80::5200:FF:FE01:2,FE80::5200:FF:FE01:3
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
local_room_ip=
city_room1_ip=
city_room2_ip=
remote_room1_ip=
remote_room2_ip=
# 管理节点安装路径, 如不配置则使用[GENERAL]段中的install_path
manager_install_path=/home/goldendb
# manager节点应用用户pw
manager_apply_user_pwvalue=
# GTM组件
[GTM]
# 配置项:
# 默认GTM集群部署:
# 格式为 sys_gtmg<num>_team<num>
# 例如:sys_gtmg1_team1, 表示默认GTM集群,group编号1,team编号1,一个gtm集群暂时只支持一个group
# 配置值:
# 格式为 gtm1,role;gtm2,role;...;gtmn,role
# role: M - master, S - slave
# 可以多次配置相同IP,因为一个IP上可以使用不同端口安装多个GTM
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
# 配置项由使用者来增加,不要与已经有的配置项重复。配置项如果重复,使用后一个。多余配置项请删除
# GTM节点安装路径, 如不配置则使用[GENERAL]段中的install_path
# GTM集群高可用参数配置建议:hw和lw分别为GTMteam高水位和低水位;当本地同城有3个及以上team时(高水位为3,低水位为2);
# 当本地同城2个team时(高水位为2,低水位为1);当本地同城1个team时(高水位为1,低水位为1).
gtm_install_path=/data/goldendb
# gtm节点应用用户pw
gtm_apply_user_pwvalue=Gdb@2023
# 默认GTM集群配置,租户未指定GTM集群即默认使用该GTM集群
# sys_gtm_template为默认gtm基线文件gtm.json--绝对路径(例:/home/template/gtm.json),如果不填写,则使用默认值安装
sys_gtmg1_team1=192.168.50.71,M;192.168.50.72,S
#sys_gtmg1_team2=10.0.0.10,S;10.0.0.11,S
sys_gtm_template=
# 共用GTM集群配置
# 绑定租户,配置多个代表多个租户使用1个GTM集群,配置1个代表被1个租户绑定,值为空代表安装冗余的GTM集群,集群间用逗号做分隔
# mc1_gtm_template为gtm基线文件--绝对路径,如果不填写,则使用默认模板
mc1_gtm_cluster=c2,c3
mc1_gtmg1_team1=
mc1_gtmg1_team2=
mc1_gtm_template=
#mc2_gtm_cluster=c1
#mc2_gtmg1_team1=10.0.0.10,M;10.0.0.11,S
#mc2_gtmg1_team2=10.0.0.10,M;10.0.0.11,S
#mc2_gtm_template=
#mc3_gtm_cluster=
#mc3_gtmg1_team1=10.0.0.10,M;10.0.0.11,S
#mc3_gtmg1_team2=10.0.0.10,M;10.0.0.11,S
#mc3_gtm_template=
# increment_persistence为GTM增量持久化配置:
# 1表示仅主机做增量持久化;
# 2表示主备机均不做增量持久化;
# 3表示主备机均做增量持久化
increment_persistence=1
# is_master_count为主GTM是否计数:
# 0表示不计数,此处(高可用)推荐不计数
is_master_count=1
# response_num为GTMteam响应数:
# 当主GTM不计数时,GTMteam响应数不能大于GTMteam中的备机数量;
# 当主GTM计数时,GTMteam响应数不能大于GTMteam中的GTM数量总数量
response_num=1
# hw和lw分别为GTMteam高水位和低水位信息,详情见上方:GTM集群高可用参数配置建议
hw=1
lw=1
# auto_switch_between_different_room为跨AZ自动切换配置:
# 1表示开启;
# 0表示不开启(高可用推荐不开启)
auto_switch_between_different_room=0
[DBPROXY]
#dbproxy:ip可支持配置ipv4或ipv6
#一个IP上装多个服务,则配置多次相同IP。每个IP上的dbproxy的用户名都从dbproxy1开始规划,如果一个ip上dbproxy多于1,那么这台服务器
#上dbproxy用户名会依次递增。如下示例配置中,10.0.0.11上规划了两个dbproxy,那么10.0.0.11上就对应有dbproxy1和dbproxy2这两个dbproxy。
ip=192.168.50.70,192.168.50.71,192.168.50.72
# DBPROXY节点安装路径, 如不配置则使用[GENERAL]段中的install_path
dbproxy_install_path=/data/goldendb
# dbproxy节点应用用户pw
dbproxy_apply_user_pwvalue=Gdb@2023
# 连接实例dbproxy用户pw
dbproxy_pwvalue=Gdb@2023
# 集群信息
[CLUSTER]
# 配置集群、group、team:
# 配置项:
# DB节点安装路径: db_install_path=/home/goldendb
# 集群字符集:utf8mb4 gbk gb18030 latin1 utf8
# 格式为c<num>_character_set_server=utf8mb4
# 集群binlog日志压缩是否开启:0代表不开启, 1代表开启,默认0不开启
# 格式为c<num>_binlog_compress_flag=0
# 集群binlog日志压缩算法:zlib, zstd
# 格式为c<num>_binlog_compress_mode=zstd
# 集群binlog日志压缩等级:1-22, 开启日志压缩且压缩算法为zstd时生效
# 格式为c<num>_binlog_compress_level=1
# 集群分片模式:
# 格式为c<num>_group_mode=<num>
# 例如:c1_group_mode=1表示集群1的分片模式,0表示多分片;1表示单分片
# 集群部署:
# 格式为 c<num>_g<num>_team<num>
# 例如:c1_g2_team1, 表示集群编号1,group编号2,team编号1
# 注意:每个分片下team编号不能超过6,每个team下的db数量不能超出4
# 配置值:
# 格式为 db1,role;db2,role;...;dbn,role
# 或者 db1,role,function;db2,role,function;...;dbn,role,function
# role: M - master, S - slave, L - logic master
# function: N - 普通副本, D - 日志副本
# 配置项:
# 专属级GTM集群部署:
# 格式为 c1_gtmg<num>_team<num>
# 例如:c1_gtmg1_team1, 表示专属c1的GTM集群,group编号1,team编号1,一个gtm集群暂时只支持一个group
# 配置值:
# 格式为 gtm1,role,function;gtm2,role,function;...;gtmn,role,function
# role: M - master, S - slave
# function: N - 普通副本, D - 日志副本
# 配置项由使用者来增加,不要与已经有的配置项重复。配置项如果重复,使用后一个。多余配置项请删除
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
# 连续ip只支持ipv4格式,ipv6必须填完整ip,用英文逗号分隔
# 一个集群至少绑定一个proxy
# 除单分片集群(单分片集群不配置gtm集群)外,一个DB集群绑定一个GTM集群,没有配置专属级GTM集群则使用系统级GTM集群
# 需要使用oracle模式时:1.需要使用指定基线安装,即c*_global_template设置为全局基线文件cluster.json的绝对路径,cluster.json里面的parse_mode设置为2;
# 2.需要将c*_cn_template设置为cn基线文件cn.json的绝对路径,cn.json里面的sql_mode_proxy字段的值配置需要包含ORA_COMPATIBLE_MODE;
# 3.cn.json里General段下面要加上一行"general_mode": "1",
#需要使用MySQL模式时:cluster.json里面的parse_mode设置为1;2.cn.json中"sql_mode_proxy"设为"default"; 3.cn.json里General段删掉"general_mode": "1",
# DB节点安装路径, 如不配置则使用[GENERAL]段中的install_path
db_install_path=/data/goldendb
# db节点应用用户pw
db_apply_user_pwvalue=Gdb@2023
# db root用户pw
default_pwvalue=Gdb@2023
# dbagent访问db pw
dbagent_pwvalue=Gdb@2023
# MDS访问DB
mds2proxy_pwvalue=Gdb@2023
super_maint_pwvalue=Gdb@2023
# AWR运维只读pw
gdbquery2db_pwvalue=Gdb@2023
# mpp用户密码
mpp_user_pwvalue=Gdb@2023
# 全局级worker,安装此worker服务于所有未安装worker的集群
# 默认为空,不安装全局级worker,此时各集群必须安装自己专属的worker
# 若所有集群都安装了集群本身专属worker,此项不要填,填了也没有用,不会进行安装
# ip可支持ipv4或ipv6,配置项填写和上面相似,类似10.0.0.0,1;10.0.0.1,1,此时这里IP后的1代表worker的数量
global_worker=
# city和room的隔离级别,此项可填0、1、2、3、4,默认为4
# 增量安装时必须和之前隔离级别一致
# 0表示所有的worker节点都可以使用
# 1表示只能使用和coordinator同AZ的worker
# 2表示只能使用和coordinator同Region的worker
# 3表示优先选同AZ的worker,没有的话,同Region的worker也能接受
# 4表示优先选同Region的worker,没有的话,取所有可用的worker
city_isolation=4
# SYS_CLUSTER (SYS_CLUSTER为租户0,用作为系统租户,一个环境只能装一个系统租户; 不安装请将SYS_CLUSTER段整段删掉)
# cluster_1
c1_character_set_server=gbk
c1_redis_base_path=/data/goldendb/redisBasePath
c1_binlog_compress_flag=0
c1_binlog_compress_mode=zstd
c1_binlog_compress_level=1
c1_storage_type=1
c1_backup_root=/home/backup
c1_cos_secretkey=
c1_cos_secretid=
c1_cos_region=
c1_cos_domain_name=
c1_group_mode=0
# 需要配置日志副本时请按如下格式配置:
# ip支持ipv4或ipv6
# 本地同AZ至少一个普通副本,如果在异地配置db,异地AZ不能有日志副本
# db1,role,function;db2,role,function;...;dbn,role,function
# eg:c1_g1_team1=10.0.0.11,M,N;10.0.0.12,S,D
c1_g1_team1=192.168.50.70,M
c1_g2_team1=192.168.50.71,M
c1_g3_team1=192.168.50.72,M
# cluster_1绑定连接实例
# 配置说明:此配置为dbproxy与集群绑定关系配置
# ip支持ipv或ipv6
# 格式为 c<num>_conn<num>=<ip1>_<ip1上规划的dbproxy用户名>,<ip2>_<ip2上规划的dbproxy用户名>:<连接实例端口>
# 某ip上规划的dbproxy用户名由[DBPROXY]段中注释说明的规则推导出。
# 例如:c1_conn1=10.0.0.11_dbproxy1,10.0.0.12_dbproxy2:8880, 表示集群1的连接实例1由10.0.0.11上的dbproxy1和10.0.0.12的dbproxy2共同提供,实例端口8880
c1_conn1=192.168.50.70_dbproxy1,192.168.50.71_dbproxy1,192.168.50.72_dbproxy1:8880
# cluster_1绑定的gtm集群,需要配置日志副本时请按如下格式配置:
# 本地同AZ至少一个普通副本,如果在异地配置db,异地AZ不能有日志副本,ip支持ipv或ipv6
# gtm1,role,function;gtm2,role,function;...;gtmn,role,function
# eg:c1_gtmg1_team1=10.0.0.15,M,N;10.0.0.16,S,D
c1_gtmg1_team1=
# 使用指定基线安装:
# 在产品包一级目录下的template目录(mysql模式)或template-oracle(oracle模式)内修改cluster.json(全局基线文件)、 cn.json(cn基线文件)、 gtm.json(gtm基线文件)、 dn.json(dn基线文件)模板
# 在对目录内的基线文件手动进行修改完成后,将目录路径填入下方的c*_template后
# 若不同租户需要配置多份不同的基线,可将原目录整个拷贝至别的路径进行修改(例如手动创建/home/template目录),再将目录路径填至下方的c*_template后即可
# system.json固定取template-oracle目录下的文件,与下方配置的路径无关,在该文件内修改即可生效,拷贝到别的目录修改无法生效
# cluster_1 各基线文件的目录--绝对路径(例:/home/OneInstall/ZXCLOUD-GoldenDB-ALL-RHV6.1.03.06/template-oracle),如果不填写,则使用产品包一级目录下的template-oracle目录下的各模板为默认模板
c1_template=
# 注意集群只有一个分片的情况下不要配置MPP了,c1_group_mode为1时配置MPP会报安装失败
# 如果只配置一个分片,但c1_group_mode仍为0的话,此时MPP虽然可以安装成功,但使用上有限制,通过proxy无法使用mpp。
# c1_mpp_worker_coordinator_ip是mpp安装的相关配置,目前只能在单个集群下配置,其格式如下
# 按集群安装coordinator和worker
# 格式为:(每行配置项以类似c1开头,表示和相关集群绑定,不用安装的集群请把相关行删除)
# 若集群不安装worker,则worker数填0.
# 不安装worker的集群会用到[WORKER]中描述的全局级worker
# e.g. c1_mpp_worker_coordinator_ip=ip1,coordinator个数,worker个数;ip2,coordinator个数,worker个数:ip1_dbproxy1,ip2_dbproxy1
# 针对不同集群的安装,请自行添加或者删除相关行
# 每一行不同IP间用";"分隔,每个集群绑定的Proxy和前面用":"分隔,格式为"ip_proxy名",不需要填写前缀,可以绑定多个Proxy,逗号分隔
# 如果不重启Proxy也就是不配置proxy.ini,":"后面的项目填了也没啥用,但也一定要填上
# 连续IP可以使用"-"连接,例如10.0.0.11-20,1,1代表10.0.0.11到10.0.0.20内所有连续IP,均安装一个coordinator和一个worker
# ip支持ipv4或ipv6格式,连续IP只支持ipv4格式,ipv6必须填完整ip,用英文逗号分隔
# 格式:10.0.0.0,1,1;10.0.0.1,1,1:10.0.0.0_dbproxy1,10.0.0.1_dbproxy1
c1_mpp_worker_coordinator_ip=
# cluster_2
# loadserver组件
[LOADSERVER]
#一个IP上装多个服务,则配置多次相同IP,
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
# ip支持ipv4或ipv6格式,连续IP只支持ipv4格式,ipv6必须填完整ip,用英文逗号分隔
ip=192.168.50.71
# LOADSERVER节点安装路径, 如不配置则使用[GENERAL]段中的install_path
lds_install_path=/data/goldendb
# loadserver节点应用用户pw
loadserver_apply_user_pwvalue=Gdb@2023
# lds基线文件dn.json--绝对路径(例:/home/template/lds.json),如果不填写,则使用默认值安装
lds_template=
# insight安装配置
[INSIGHT]
# zk安装服务器列表,可以有一个ip或者多个ip,多个ip之间用英文逗号分隔
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
# ip支持ipv4或ipv6格式,连续IP只支持ipv4格式,ipv6必须填完整ip,用英文逗号分隔
# zk_server_ip建议与所有管理节点ip填写一致
zk_server_ip=192.168.50.70
# zookeeper客户端连接端口
zk_server_port=32181
# 是否安装zk,1代表全新安装或者制作zk大数据组件镜像,2代表使用已有的组件(仅修改配置),3代表制作需要zk的管理节点镜像(不实际安装,仅入库)
install_zk=1
# https访问insight界面的端口
https_server_port=8444
# http访问insight界面的端口
http_server_port=8088
# Agent采集端服务端口
rest_port=8021
# 主机代理与omm的socket通信建链端口
socketPort=8028
# INSIGHT安装路径, 如不配置则使用[GENERAL]段中的install_path
insight_install_path=/data/goldendb
# insight应用用户pw
insight_apply_user_pwvalue=Gdb@2023
3.4. 执行安装
python install_control.py --type install --product_pkg "/data/ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7.zip" --ini "/data/ZXCLOUD-GoldenDB-ALL-RHV6.1.03.07SP7/oneKeyInstallUpdate/install/config/install_senior.ini"
提示以下,表示安装成功:
4. 运维平台简介
若安装多台Insight平台,则初始登录的IP为执行安装脚本的服务器IP。
登录默认账号密码:
账号:admin
密码:Insight@2020
1.在浏览器中输入访问地址(https://IP1:8444/),回车,进入登录界面。
5. 组件启停命令介绍
5.1. 大数据组件
大数据组组件优先启动:
5.1.1. zookeeper进程启停命令,示例用户insight:
方式1:
su - insight 切换到insight用户
A.执行命令zkdbmoni -stop --停止守护进程
B.执行命令zkdbmoni -start --开始守护进程
方式2:
su - insight 切换到insight用户
A.进入安装目录cd ~/bigdata/zookeeper/bin;
B.执行命令./zkServer.sh stop --停止该进程;
C.执行命令./zkServer.sh start --启动该进程;
D.执行命令./zkServer.sh status --查看zookeeper是否启动成功,成功输出类似如下信息:
5.1.2. kafka进程启停命令,示例用户insight:(新版本没有 kafka)
方式1:
su - insight 切换到insight用户
A.执行命令kafkadbmoni -stop --停止守护进程
B.执行命令kafkadbmoni -start --开始守护进程
方式2:
su - insight 切换到insight用户
A.进入安装目录cd ~/bigdata/kafka/bin
B.执行命令nohup ./kafka-server-stop.sh ../config/server.properties 2>&1 & --停止该进程;
C.执行命令nohup ./kafka-server-start.sh ../config/server.properties 2>&1 & --启动该进程;
D.执行命令ps -ef | grep kafka | grep insight | grep -v grep | grep server.properties --查看kafka是否启动成功,成功输出类似如下信息:
5.1.3. elasticsearch进程启停命令,示例用户insight:(新版本没有 elasticsearch)
方式1:
su - insight 切换到insight用户
A.执行命令esdbmoni -stop --停止守护进程
B.执行命令esdbmoni -start --开始守护进程
方式2:
su - insight 切换到insight用户
A.执行命令ps -ef|grep elasticsearch,查看该进程是否退出;
B.如果是则进入目录 cd ~/bigdata/elasticsearch/bin
C.执行命令./elasticsearch -d --启动该进程
D.执行命令 ps -ef|grep elasticsearch --查看elasticsearch是否启动成功,成功输出类似如下信息:
5.2. 管理节点组件
5.2.1. InsightServer进程启停命令,示例用户insight:
方式1:
su - insight 切换到insight用户
A.执行命令serverdbmoni -stop --停止守护进程
B.执行命令serverdbmoni -start --开始守护进程
方式2:
su - insight 切换到insight用户
A.进入目录 cd ~/insightServer/insight-0.0.1-SNAPSHOT
B.执行命令./run.sh stop --停止服务端进程
C.执行命令./run.sh start --启动服务端进程
D.执行命令ps -ef|grep insight-0.0.1-SNAPSHOT.jar|grep -v grep --查看是否启动成功,成功输出类似如下信息:
5.2.2. Omm进程启停命令,示例用户zxomm:(没有这个用户)
su - zxomm 切换到omm用户
A.执行命令ommtool -moni -stop --停止Omm用户下进程
B.执行命令ommtool -moni -start --启动Omm用户下进程
C.执行命令ommtool -status --查看是否启动成功,成功输出类似如下信息:
5.2.3. Manager启停命令,示例用户zxmanager:--(ahmanager)
su - zxmanager 切换到manager用户
A.执行命令dbmoni -stop --停止Manager用户下进程
B.执行命令dbmoni -start --启动Manager用户下进程
C.执行命令dbstate --查看是否启动成功,成功输出类似如下信息:
注:zk高可用模式下,由ommagent自动控制管理节点启停
5.3. GTM节点组件
GTM节点启停命令,示例用户 ahgtm1:
su - zxgtm1 切换到GTM用户
A.执行命令dbmoni -stop --停止GTM用户下进程
B.执行命令dbmoni -start --启动GTM用户下进程
C.执行命令dbstate --查看是否启动成功,成功输出类似如下信息:
5.4. 计算节点组件
计算节点(CN)启停命令,示例用户 ahdbproxy1:
su - zxdbproxy1 切换到CN用户
A.执行命令dbmoni -stop --停止CN用户下进程
B.执行命令dbmoni -start --启动CN用户下进程
C.执行命令dbstate --查看是否启动成功,成功输出类似如下信息:
5.5. 数据节点组件
数据节点(DN)启停命令,示例用户 ahdb1:
su - zxdb1 切换到DN用户
A.执行命令dbmoni -stop --停止DN用户下进程
B.执行命令dbmoni -start --启动DN用户下进程
C.执行命令dbstate --查看是否启动成功,成功输出类似如下信息:
5.6. 主机代理组件
5.6.1. InsightAgent进程启停命令,示例用户insight:
方式1:
su - insight 切换到insight用户
A.执行命令agentdbmoni -stop --停止守护进程
B.执行命令agentdbmoni -start --开始守护进程
方式2:
su - insight 切换到insight用户
进入目录cd ~/insightAgent/agent
A.执行命令./run.sh stop --停止采集端进程
B.执行命令./run.sh start --启动采集端进程
C.执行命令 ps -ef|grep InsightAgent --查看InsightAgent是否启动成功,成功输出类似如下信息:
5.6.2. filebeat进程启停命令,示例用户insight:(无)
方式1:
su - insight 切换到insight用户
A.执行命令filebeatdbmoni -stop --停止守护进程
B.执行命令filebeatdbmoni -start --开始守护进程
方式2:
su - insight 切换到insight用户
A.进入安装目录su - insight; cd ~/insightAgent/filebeat-6.4.2
B.执行命令nohup ./filebeat -e -c ./filebeat.yml > nohup.out 2>&1 &
C.执行命令ps -ef|grep filebeat --查看filebeat是否启动成功,成功输出类似如下信息:
6. GDB 各组件作用
- DN 数据节点,--解决数据存储。
- CN 计算节点,--解决数据位置问题。
- dbagent 分布式事务提交时,在出现部分成功,部分失败时,负责对成功的数据节点执行反向事务 ,rollback。--解决部分失败问题。
- GTM全局事务管理器 在binlog确定待回滚的事务,给dbagent 进行rollback。--解决回滚事务定位问题
- 采用一主多备方式,数据多副本,保证数据不丢失。这样的一组主备DN+dbagent,称为一个分片。
- 引入集群管理(Cluster Manager,CM)来管理数据节点中的DN+dbagent,通过 dbagent 判断 DN 可用性。--管理数据节点
- 引入计算节点管理(Proxy Manager,PM)来管理计算节点,检查计算节点是否正常。 --管理计算节点
- 引入元数据管理(Meta Data Server,MDS)来保存系统内的节点信息,以及数据分布信息 --保存系统内的节点信息,以及数据分布信息
- insight 解决整个系统的运维与监控问题。
- SLOTH 工具,实现与异构数据库的迁移和同步功能,用于生产主备迁移数据的场景
- lLDS(Load Server),提供数据导入导出功能,用于金融行业常见的卸数场景。
7. GDB 数据库连接
--登录数据库
[root@db1 goldendb]# mysql -udbproxy -h 192.168.3.145 -P8880 -pGdb@2023
--创建数据库
MySQL [(none)]> CREATE DATABASE testhf;
Query OK, 3 rows affected (0.082 sec)
--查看数据库
MySQL [(none)]> SHOW DATABASES;
+----------+
| DATABASE |
+----------+
| testhf |
+----------+
1 row in set (0.006 sec)
--查看数据库
[root@db1 goldendb]# mysql -udbproxy -h 192.168.3.146 -P8880 -pGdb@2023 -Dtesthf -e 'select database()';
+------------+
| DATABASE() |
+------------+
| testhf |
+------------+
--创建表
MySQL [testhf]> CREATE TABLE employees (
-> id INT AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(100) NOT NULL,
-> salary DECIMAL(10, 2)
-> );
Query OK, 6 rows affected (0.160 sec)
--插入数据
MySQL [testhf]> INSERT INTO employees (name, salary) VALUES ('Alice', 5000.00);
Query OK, 1 row affected (0.026 sec)
--数据查询
MySQL [testhf]> select *from employees;
+----+-------+--------+
| ID | NAME | SALARY |
+----+-------+--------+
| 1 | Alice | 5000 |
+----+-------+--------+
1 row in set (0.002 sec)