VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

部署DCS

根据此部分内容对各DCS节点进行部署,注意需使用root用户操作。

DCS节点

DCS各节点列表如下:

节点名称 IP 默认端口
DCS节点1(数据库主节点) 192.xx.xx.1 2379、2380
DCS节点2(数据库备节点) 192.xx.xx.2 2379、2380
DCS节点3(仲裁节点) 192.xx.xx.3 2379、2380

前提条件

  • 设置各节点主机名称。

    步骤1 分别在各节点执行:

    hostnamectl set-hostname vdb1  #在数据库主节点192.xx.xx.1下执行
    hostnamectl set-hostname vdb2  #在数据库备节点192.xx.xx.2下执行
    hostnamectl set-hostname dcs   #在仲裁节点192.xx.xx.3下执行
    

    步骤2 设置各节点/etc/hosts。

    vi /etc/hosts
    192.xx.xx.1 vdb1
    192.xx.xx.2 vdb2
    192.xx.xx.3 dcs
    
  • 防火墙设置

    关闭防火墙,或开启DCS端口2379、2380。详见防火墙配置

  • 设置时间同步。

    设置各数据库节点时间和时间同步,使集群各节点保持时间同步。详见时间同步配置

安装DCS

上传DCS安装包,解压即可。并将dcs、dcsctl可执行文件拷贝至/usr/bin目录下。

tar zxvf DCS_VastbaseG100_x86_V1.0_2022012711.tar.gz 
(或unzip DCS_VastbaseG100_x86_V1.0_2022012711.zip)
cd DCS_VastbaseG100_x86_V1.0_2022012711
chmod +x dcs*
cp dcs* /usr/bin

编辑DCS配置文件

新增编辑DCS配置文件。

mkdir -p /usr/local/dcs/
cd /usr/local/dcs/
vi dcs.conf

3个DCS节点的配置内容有差异,如下所示,选择节点对应的配置。

  • 其中192.xx.xx.1节点配置如下:

    name: dcs01
    data-dir: /usr/local/dcs/dcs01.dcs
    initial-advertise-peer-urls: http://192.xx.xx.1:2380
    listen-peer-urls: http://192.xx.xx.1:2380
    listen-client-urls: http://192.xx.xx.1:2379,http://127.0.0.1:2379
    advertise-client-urls: http://192.xx.xx.1:2379
    initial-cluster-token: dcs-cluster
    initial-cluster: dcs01=http://192.xx.xx.1:2380,dcs02=http://192.xx.xx.2:2380,dcs03=http://192.xx.xx.3:2380
    enable-v2: true
    initial-cluster-state: new
    
  • 其中192.xx.xx.2节点配置如下:

    name: dcs02
    data-dir: /usr/local/dcs/dcs02.dcs
    initial-advertise-peer-urls: http://192.xx.xx.2:2380
    listen-peer-urls: http://192.xx.xx.2:2380
    listen-client-urls: http://192.xx.xx.2:2379,http://127.0.0.1:2379
    advertise-client-urls: http://192.xx.xx.2:2379
    initial-cluster-token: dcs-cluster
    initial-cluster: dcs01=http://192.xx.xx.1:2380,dcs02=http://192.xx.xx.2:2380,dcs03=http://192.xx.xx.3:2380
    enable-v2: true
    initial-cluster-state: new
    
  • 其中192.xx.xx.3节点配置如下:

    name: dcs03
    data-dir: /usr/local/dcs/dcs03.dcs
    initial-advertise-peer-urls: http://192.xx.xx.3:2380
    listen-peer-urls: http://192.xx.xx.3:2380
    listen-client-urls: http://192.xx.xx.3:2379,http://127.0.0.1:2379
    advertise-client-urls: http://192.xx.xx.3:2379
    initial-cluster-token: dcs-cluster
    initial-cluster: dcs01=http://192.xx.xx.1:2380,dcs02=http://192.xx.xx.2:2380,dcs03=http://192.xx.xx.3:2380
    enable-v2: true
    initial-cluster-state: new
    

配置DCS服务

步骤1 配置DCS服务,新增配置文件/usr/lib/systemd/system/dcs.service。

在凝思系统下,配置文件路径为/lib/systemd/system/dcs.service。

x86环境需用#注释Environment="ETCD_UNSUPPORTED_ARCH=arm64"语句。

vi /usr/lib/systemd/system/dcs.service

[Unit]
Description=Vastbase DCS server daemon
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=notify
Environment="ETCD_UNSUPPORTED_ARCH=arm64"  #Just for ARM 
ExecStart=/usr/bin/dcs --config-file /usr/local/dcs/dcs.conf
Restart=no

其中关键配置项含义如下:

  • After:指定DCS服务在network服务启动成功后启动。实际生产环境往往部署DCS集群,依赖网络。

  • ExecStart:服务器的启动命令。这里假设DCS安装在/usr/local/bin目录下。

  • --config-file用来指定DCS启动时的配置文件,这里假设配置文件在/usr/local/dcs目录下。对应DCS配置这一步骤新增的配置文件。也可以后跟$CONFIG_FILE,是EnvironmentFile中定义的一个环境变量,用来指定DCS启动时的配置文件,这里假设配置文件在/usr/local/dcs目录下。

步骤2 保存配置文件后执行:

systemctl daemon-reload

启动DCS服务

步骤1 各节点需在短时间内逐次启动DCS,启动命令如下:

systemctl start dcs

步骤2 启动成功后,检查dcs状态。

dcsctl cluster-health
dcsctl member list

步骤3 将dcs设为开机启动。

systemctl enable dcs

至此,DCS部署完成。

停止DCS的指令如下:

systemctl stop dcs