本次主要做简单的准备,只求第一次安装成功

环境准备

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




  1. 配置在线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"

  1. 安装完后进行登陆

https://10.10.10.102:8444/

账号admin,密码第一次需要修改