本次主要做简单的准备,只求第一次安装成功
环境准备
1. 创建目录
创建/soft目录,然后放系统安装包上去
/soft/Kylin-Server-10-8.2-Release-Build09-20211104-X86_64.iso
创建目录/home/OneInstall/然后放包到路径下
goldendb安装包
/home/OneInstall/ZXCLOUD-GoldenDB-ALL-X86-KYLIN10V6.1.02.05P1P3.zip
2. 配置limits
vim /etc/security/limits.conf
root soft nofile 65535
root hard nofile 65535
root soft nproc 65535
root hard nproc 65535
- 配置在线yum源
cat /etc/yum.repos.d/kylin_x86_64.repo
###Kylin Linux Advanced Server 10 - os repo###
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
4. 配置本地yum源
mount /soft/Kylin-Server-10-8.2-Release-Build09-20211104-X86_64.iso /source
[root@goldendb01 ~]# cat /etc/yum.repos.d/local.repo
[Server]
name=Server
baseurl=file:///source/AppStream
enabled=1
gpgcheck=0
[base]
name=redhat
baseurl=file:///source/BaseOS
enable=1
gpgcheck=0
gpgkey=file:///source/RPM-GPG-KEY-redhat-release
5. 配置互信
ssh-keygen
ssh-copy-id root@10.10.10.101
ssh-copy-id root@10.10.10.102
ssh-copy-id root@10.10.10.103
ssh goldendb01 date;ssh goldendb02 date;ssh goldendb03 date
6. 环境的网络配置
采用vmware 设计了NAT方式和主机模式,其中主机模式是10.10.10.x网段。
7 检查init_env.py
ln -s /bin/python2 /bin/python
python get-pip.py
python init_env.py
会自动的安装包,检查环境
8. 配置install_senior.ini
本次设置为zx模式3节点,两个分片,我的笔记本是120G内存,12核心。我这次分配了2C30G,能够安装
注意********* 需要修改
# 适用Goldendb资深者, 对各组件及其配置项有详细了解
[GENERAL]
# 安装机器登录用户,具有root权限的高权用户
root_user=root
# 安装机器用于登录用户
root_pwvalue=*********
# 管理组件(OMM, CM, PM, MDS), GTM, Proxy, DB, LOADSERVER等用户名的前缀信息
# (同一节点上有多个时,末尾采用从1开始的数字进行区分)
# OMM安装用户名长度不能大于8, 即user_prefix长度不能大于5
user_prefix=zx
# 容器化版本必须使用默认值 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=
# 安装机器普通用户pw
# 注意,以下所有安装密码均不支持双引号‘ “ ’
gdb_normal_user_pwd=*********
# 安装路径(建议设置为非根目录/)
install_path=/home/goldendb
#企业版License.dat文件路径名,配置空时安装标准版
license_dat_path=
#安装模式(针对管理节点):
# 注意现阶段请不要配置HA模式,HA版本安装暂未适配,因此install_type备选项只有0和2,填1时安装会出错。
# 0代表单管理节点,需要配置[Nodes],[Manager-Single],[GTM],[DBPROXY],[CLUSTER],[LOADSERVER];
# 1代表HA, 需要配置[Nodes],[Manager-HA], [GTM],[DBPROXY],[CLUSTER],[LOADSERVER];
# 2代表ZK, 需要配置[Nodes],[Manager-ZK], [GTM],[DBPROXY],[CLUSTER],[LOADSERVER];
install_type=2
# 组件安装模式
# 0代表正常安装
# 1代表是只安装管理节点和GTM节点,LDS节点(不安装db和proxy、不组建集群、不配置互信)
# 2代表只安装管理节点(不安装db和proxy、lds、gtm, 不组建集群、不配置互信)
install_tenancy=0
# 安装载体,
# 0代表GDB全部使用物理机,虚拟机安装
# 1代表管理节点--物理机,虚拟机,非管理节点--容器
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
# OMM domain name: ommserver机器地址(固定IP、浮动IP或域名), 用户访问OMM网页用的域名
# 单管理节点配置本机ip, HA配置浮动ip或者域名, ZK配置本机ip
omm_domain_name=10.10.10.101
# omm listen port for ommagent.
omm_listen_port=6471
# omm节点应用用户pw
omm_apply_user_pwvalue=*********
# rdb port,默认是3309
rdb_port=3309
# rdb super用户pw
rdb_super_pwvalue=*********
# rdb repl用户pw
rdb_repl_pwvalue=*********
# rdb normal用户pw
rdb_normal_pwvalue=*********
# rdb root用户pw
rdb_root_pwvalue=*********
# 0:表示如果操作系统有mysql客户端,则不安装,没有则安装mariadb客户端
# 1:表示无论操作系统是什么客户端,都使用产品包自带的mysql客户端替换
mysql_client_switch=0
# 环境初始化
[REMOTEENV]
# OS,将在所有服务器执行
# 'RDB', 'INSIGHT', 'DB', 'GTM', 'DBPROXY', 'OMM', 'LOADSERVER', 'SLOTH'等只在对应服务器执行
# dbproxy服务端口限制范围, 请尽量使用默认配置,
# 如果需要修改,请先阅读产品包/doc目录下文档《ZXCLOUD_GoldenDB_分布式数据库_网元端口说明文档.md》,并规避文档中端口再填写
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
DBPROXY|ip_local_reserved_ports=8880-10000
# 所有服务器
[NODES]
# 配置项的名称格式如下,不允许修改:
# local_room表示本地机房,city_room表示同城机房,remote_room1表示异地机房1,remote_room2表示异地机房2
# 配置值的格式如下:
# 城市|机房|服务器ip列表
# 说明:服务器ip列表中可以有一个ip或者多个ip(多个ip之间用英文逗号分隔),
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
# 没有相应服务器则置为空比如remote_room2=
local_room=南京|南京机房1|10.10.10.101-103
city_room=
remote_room1=
remote_room2=
# zk安装, install_type=2时此配置生效
[MANAGER_ZK]
# 配置管理节点ip,配置项的名称为ip,不允许修改。
# 配置值的格式如下:
# ip1,ip2,...
# 说明:从[Nodes]配置段中选取,英文逗号分隔
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
local_room_ip=10.10.10.101-103
city_room_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_install_path=/home/goldendb
# gtm节点应用用户pw
gtm_apply_user_pwvalue=*********
sys_gtmg1_team1=10.10.10.101,M;10.10.10.102,S
# increment_persistence为GTM增量持久化配置:
# 1表示仅主机做增量持久化;
# 2表示主备机均不做增量持久化;
# 3表示主备机均做增量持久化
increment_persistence=1
# is_master_count为主GTM是否计数:
# 1表示计数;
# 0表示不计数
is_master_count=1
# response_num为GTMteam响应数:
# 当主GTM不计数时,GTMteam响应数不能大于GTMteam中的备机数量;
# 当主GTM计数时,GTMteam响应数不能大于GTMteam中的GTM数量总数量
response_num=1
# hw和lw分别为GTMteam高水位和低水位信息
hw=1
lw=1
# auto_switch_between_different_room为跨机房自动切换配置:
# 1表示开启;
# 0表示不开启
auto_switch_between_different_room=1
[DBPROXY]
#dbproxy:一个IP上装多个服务,则配置多次相同IP。每个IP上的dbproxy的用户名都从dbproxy1开始规划,如果一个ip上dbproxy多于1,那么这台服务器
#上dbproxy用户名会依次递增。如下示例配置中,10.0.0.11上规划了两个dbproxy,那么10.0.0.11上就对应有dbproxy1和dbproxy2这两个dbproxy。
ip=10.10.10.101-102
# DBPROXY节点安装路径, 如不配置则使用[GENERAL]段中的install_path
dbproxy_install_path=/home/goldendb
# dbproxy节点应用用户pw
dbproxy_apply_user_pwvalue=*********
# 连接实例dbproxy用户pw
dbproxy_pwvalue=*********
# 集群信息
[CLUSTER]
# 配置集群、group、team:
# 配置项:
# DB节点安装路径: db_install_path=/home/goldendb
# 集群字符集:utf8mb4 gbk gb18030 latin1 utf8
# 格式为c<num>_character_set_server=utf8mb4
# 重分布过程文件保存的根目录路径:
# 格式为c<num>_redis_base_path=/home/goldendb/redisBasePath
# 集群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
# 备份存储类型:必填,1代表LOCAL,2代表COS云存储,默认1
# 格式为c<num>storage_type=1
# 备份路径:必填,storageType为1时,为LOCAL备份路径;storageType为2时,为COS桶名
# 格式为c<num>_backup_root=/home/backup
# cos加密key:备份存储类型为COS时必填
# 格式为c<num>_cos_secretkey=******
# cos加密id:备份存储类型为COS时必填,与cosSecretkey共同使用可使用cos工具
# 格式为c<num>_cos_secretid=******
# cos区域:备份存储类型为COS时必填
# 格式为c<num>_cos_region=南京
# cos域名:备份存储类型为COS时必填
# 格式为c<num>_cos_domain_name=******
# 集群分片模式:
# 格式为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,一个gtm集群暂时只支持一个group
# 配置值:
# 格式为 db1,role;db2,role;...;dbn,role
# role: M - master, S - slave, L - logic master
# 配置项:
# 专属级GTM集群部署:
# 格式为 c1_gtmg<num>_team<num>
# 例如:c1_gtmg1_team1, 表示专属c1的GTM集群,group编号1,team编号1
# 配置值:
# 格式为 gtm1,role;gtm2,role;...;gtmn,role
# role: M - master, S - slave
# 配置项由使用者来增加,不要与已经有的配置项重复。配置项如果重复,使用后一个。多余配置项请删除
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
# 一个集群至少绑定一个proxy
# 除单分片集群(单分片集群不配置gtm集群)外,一个DB集群绑定一个GTM集群,没有配置专属级GTM集群则使用系统级GTM集群
# DB节点安装路径, 如不配置则使用[GENERAL]段中的install_path
db_install_path=/home/goldendb
# db节点应用用户pw
db_apply_user_pwvalue=*********
# db root用户pw
default_pwvalue=*********
# redis用户pw
redis_pwvalue=*********
# dbagent访问db pw
dbagent_pwvalue=*********
# MDS访问DB
mds2proxy_pwvalue=*********
super_maint_pwvalue=*********
# AWR运维只读pw
gdbquery2db_pwvalue=*********
# mpp用户密码
mpp_user_pwvalue=*********
# 全局级worker,安装此worker服务于所有未安装worker的集群
# 默认为空,不安装全局级worker,此时各集群必须安装自己专属的worker
# 若所有集群都安装了集群本身专属worker,此项不要填,填了也没有用,不会进行安装
# 配置项填写和上面相似,类似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同机房的worker
# 2表示只能使用和coordinator同城市的worker
# 3表示优先选同机房的worker,没有的话,同城市的worker也能接受
# 4表示优先选同城市的worker,没有的话,取所有可用的worker
city_isolation=4
# 全局my.cnf模板, 填写全路径, 注意:此配置优先级低于集群级模板配置,两者同时配置时,各集群以集群级my.cnf模板安装DB
# 此处配置为空且集群级模板也配置为空时将采用默认模板安装DB
global_mycnf_template=
# cluster_1
c1_character_set_server=utf8mb4
c1_redis_base_path=/home/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
c1_g1_team1=10.10.10.101,M;10.10.10.102,S
c1_g2_team1=10.10.10.103,M;10.10.10.102,S
# cluster_1绑定连接实例
# 配置说明:此配置为dbproxy与集群绑定关系配置
# 格式为 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=10.10.10.101_dbproxy1,10.10.10.102_dbproxy1:8880
# cluster_1专属级gtm集群
c1_gtmg1_team1=
#使用指定基线安装:
#在产品包一级目录下的template目录内获取cluster.json(全局基线文件)、 cn.json(cn基线文件)、 gtm.json(gtm基线文件)、 dn.json(gtm基线文件)模板
#在本地对模板手动进行修改完成后放入主节点环境下任一目录下(例如手动创建/home/template目录),将对应基线文件路径填入下方对应的c*_template后
# cluster_1 全局基线文件--绝对路径,如果不填写,则使用默认模板
c1_global_template=
# cluster_1 cn基线文件--绝对路径,如果不填写,则使用默认模板
c1_cn_template=
# cluster_1 gtm基线文件--绝对路径,如果不填写,则使用默认模板
c1_gtm_template=
# cluster_1 db基线文件--绝对路径,如果不填写,则使用默认模板
c1_dn_template=
# cluster_1的my.cnf模板,配置全路径,注意: 当此处配置时,cluster_1以文件为模板安装DB
c1_mycnf_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个数(当前配置项所有IP后都没有worker个数这个属性),示例如下所示(集群2没有安装worker):
# 不安装worker的集群会用到[WORKER]中描述的全局级worker
# c1_mpp_worker_coordinator_ip=ip1,coordinator个数,worker个数;ip2,coordinator个数,worker个数:ip1_dbproxy1,ip2_dbproxy1
# c2_mpp_worker_coordinator_ip=ip1,coordinator个数;ip2,coordinator个数:ip1_dbproxy2,ip2_dbproxy2
# c3_mpp_worker_coordinator_ip=ip1,coordinator个数,worker个数;ip2,coordinator个数,worker个数:ip1_dbproxy3
# ......
# 针对不同集群的安装,请自行添加或者删除相关行
# 每一行不同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
# 格式: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=
# loadserver组件
[LOADSERVER]
#一个IP上装多个服务,则配置多次相同IP
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
ip=10.10.10.101-102
# LOADSERVER节点安装路径, 如不配置则使用[GENERAL]段中的install_path
lds_install_path=/home/goldendb
# loadserver节点应用用户pw
loadserver_apply_user_pwvalue=*********
# insight安装配置,注意:kafka,elasticsearch,data_integration 只能都装或者都不装
[INSIGHT]
# zk安装服务器列表,可以有一个ip或者多个ip,多个ip之间用英文逗号分隔
# 连续ip使用-连接,起始IP-同网段截止IP中最后一段:例如10.0.0.11-20,代表10.0.0.11到10.0.0.20内所有连续ip
zk_server_ip=10.10.10.101,10.10.10.102,10.10.10.103
# zookeeper客户端连接端口
zk_server_port=32181
# 是否安装zk,1代表全新安装,2代表使用已有的组件(只配置不安装)
install_zk=1
# kafka安装服务器列表,可以有一个ip或者多个ip(多个ip之间用英文逗号分隔)
kafka_server_ip=10.10.10.101,10.10.10.102,10.10.10.103
# kafka连接端口
kafka_server_port=9092
# 是否安装kafka,0代表不安装,1代表全新安装,2代表使用已有的组件(只配置不安装)
install_kafka=1
# elasticsearch安装服务器列表,可以有一个ip或者多个ip(多个ip之间用英文逗号分隔)
elasticsearch_server_ip=10.10.10.101,10.10.10.102,10.10.10.103
# elasticsearch连接端口,不要将此端口配置为9300!
elasticsearch_server_port=9200
# 是否安装es,0代表不安装,1代表全新安装,2代表使用已有的组件(只配置不安装)
install_es=1
# data_integration安装服务器列表,可以有一个ip或者多个ip(多个ip之间用英文逗号分隔)
data_integration_server_ip=10.10.10.101,10.10.10.102,10.10.10.103
# data_integration组件占用的http端口号
data_integration_HttpPort=8097
# data_integration组件占用的https端口号
data_integration_HttpsPort=8447
# 是否安装data_integration,0代表不安装,1代表全新安装,2代表使用已有的组件(只配置不安装)
install_data_integration=1
# INSIGHT安装路径, 如不配置则使用[GENERAL]段中的install_path
insight_install_path=/home/goldendb
# insight应用用户pw
insight_apply_user_pwvalue=*********
8. 执行install_senior.ini
python install_control.py --type install --product_pkg "/home/OneInstall/ZXCLOUD-GoldenDB-ALL-X86-KYLIN10V6.1.02.05P1P3.zip" --ini "/home/OneInstall/ZXCLOUD-GoldenDB-ALL-X86-KYLIN10V6.1.02.05P1P3/oneKeyInstallUpdate/install/config/install_senior.ini"
- 安装完后进行登陆
账号admin,密码第一次需要修改