暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8C集群部署

GBase 8C集群部署

  1. 环境规划
    1. 1、环境要求

硬件环境要求

项目

物理机环境

虚拟机环境

CPU

2*10(cores)及以上

2*10(cores)及以上

内存

128GB及以上

单个节点8GB及以上

备注:若一台虚拟机上部署N个节点,要求内存预留8N

磁盘

SSD 500GB及以上

SSD/SAS/SATA 100GB及以上

网络

10GB及以上

1000MB或10GB

软件环境要求

软件类型

架构

描述

Linux操作系统

ARM

CentOS 7.6-7.9、麒麟V10、统信V20、Debian 10.3、Uniontech 20、Redhat、OpenEuler 20.3LTS

X86

CentOS 7.6-7.9、麒麟V10、统信V20、Debian 10.3、Uniontech 20、OpenEuler 20.3LTS

Linux文件系统

剩余 inode 个数 > 15 亿(推荐)

指令集

rdtscp

仅虚拟机环境需要

软件要求

软件名称

描述

bison

建议版本:2.7.4

flex

要求版本:2.5.31以上

libaio-devel

建议版本:0.3.109-13以上

lsb_release

建议版本:4.1

patch

建议版本:2.7.1-10

ncurses-devel

建议版本:5.9-13.20130511

bzip2

建议版本:1.0.6

    1. 2、环境规划

节点类型

节点名称

IP

Port

Agent Port

角色

work_dir

gha_server

gha_server1

192.168.1.71

20001

——

——

——

dcs

——

192.168.1.71

2379

——

——

——

——

192.168.1.72

2379

——

——

——

——

192.168.1.73

2379

——

——

——

gtm

gtm1

192.168.1.72

6666

8001

/home/gbase/data/gtm/gtm1

gtm2

192.168.1.73

6666

8002

/home/gbase/data/gtm/gtm2

coordinator

cn1

192.168.1.72

5432

8003

/home/gbase/data/coord/cn1

cn2

192.168.1.73

5432

8004

/home/gbase/data/coord/cn2

datanode

dn1_1

192.168.1.72

15432

8007

/home/gbase/data/dn2/dn1_1

dn1_2

192.168.1.73

15432

8007

/home/gbase/data/dn2/dn1_2

dn1_3

192.168.1.71

15432

8007

/home/gbase/data/dn2/dn1_3

dn2_1

192.168.1.73

20010

8008

/home/gbase/data/dn2/dn2_1

dn2_2

192.168.1.71

20010

8008

/home/gbase/data/dn2/dn2_2

dn2_3

192.168.1.72

20010

8008

/home/gbase/data/dn2/dn2_3

    1. 3、检查环境

2、初始化环境

2.1、统一主机名称

检查各主机名称:cat /etc/hostname

统一主机名称:

hostnamectl set-hostname Gbase8CNode1

hostnamectl set-hostname Gbase8CNode2

hostnamectl set-hostname Gbase8CNode3

2.2、安装插件(所有节点都需要安装)

rpm -qa bison flex patch bzip2 lsb_release libaio-devel

yum reinstall -y bison flex patch bzip2 lsb_release libaio-devel

cat /proc/cpuinfo |grep rdtscp

yum install -y libaio-devel

2.3、关闭防火墙(所有节点)

systemctl stop firewalld.service

systemctl disable firewalld.service

2.4、关闭SELINUX:将SELINUX改为disabled

sed -i.bak '/^SELINUX=/s#SELINUX=.*#SELINUX=disabled#' /etc/selinux/config

cat /etc/selinux/config

2.5、创建GBase 8C管理用户gbase

注:在在所有节点上创建DBA用户

groupadd gbase -g 300

useradd gbase -g 300 -u 300

echo "gbase"|passwd --stdin gbase

2.6、配置时间同步,开启ntp

主节点执行(172.168.1.71)

yum install ntp

sed -i '12arestrict 192.168.1.71 nomodify notrap nopeer noquery' /etc/ntp.conf

sed -i '22,25s/^/# /' /etc/ntp.conf

sed -i '25aserver 127.127.1.0' /etc/ntp.conf

sed -i '26aFudge 127.127.1.0 stratum 10' /etc/ntp.conf

service ntpd start

Redirecting to /bin/systemctl start ntpd.service

chkconfig ntpd on

systemctl enable ntpd.service

systemctl start ntpd.service

Node2节点(192.168.1.72)

sed -i '12arestrict 192.168.1.72 nomodify notrap nopeer noquery' /etc/ntp.conf

sed -i '22,25s/^/# /' /etc/ntp.conf

sed -i '25aserver 192.168.1.71' /etc/ntp.conf

sed -i '26aFudge 192.168.1.71 stratum 10' /etc/ntp.conf

service ntpd start

chkconfig ntpd on

systemctl enable ntpd.service

systemctl start ntpd.service

Node3节点(192.168.1.73)

cp /etc/ntp.conf /etc/ntp.conf.bak

sed -i '12arestrict 192.168.1.73 nomodify notrap nopeer noquery' /etc/ntp.conf

sed -i '22,25s/^/# /' /etc/ntp.conf

sed -i '25aserver 192.168.1.71' /etc/ntp.conf

sed -i '26aFudge 192.168.1.71 stratum 10' /etc/ntp.conf

service ntpd start

chkconfig ntpd on

systemctl enable ntpd.service

systemctl start ntpd.service

2.7、所有节点配置sudo,使用root账户

sed -i.bak '100agbase ALL=(ALL) NOPASSWD:ALL' /etc/sudoers

2.8、配置免密访问,所有节点用Gbase执行

[root@Gbase8CNode1 ~]# su - gbase

rm -rf /home/gbase/.ssh

mkdir ~/.ssh

chmod 700 ~/.ssh

ssh-keygen -t rsa

ssh-copy-id gbase@192.168.1.71

ssh-copy-id gbase@192.168.1.72

ssh-copy-id gbase@192.168.1.73

免密测试

[gbase@Gbase8CNode1 ~]$ ssh 192.168.1.71 date

2024年 04月 10日 星期三 21:50:43 CST

[gbase@Gbase8CNode1 ~]$ ssh 192.168.1.72 date

2024年 04月 10日 星期三 21:50:48 CST

[gbase@Gbase8CNode1 ~]$ ssh 192.168.1.73 date

2024年 04月 10日 星期三 21:50:53 CST

2.9、优化内核参数

[root@Gbase8CNode1 ~]# sysctl -w kernel.sem="40960 2048000 40960 20480"

  1. GBase 8C部署

3.1、上传安装包至主机(192.168.1.71),并解压拷贝至安装补录

su gbase

sudo mkdir /install

sudo chown -R gbase:gbase /install

cd /install

unzip GBase8cV5_3.0.0_分布式_x86.zip

cd /install/GBase8cV5_S3.0.0B114/Server

mv GBase8cV5_S3.0.0B114_centos7.8_x86_64.tar.gz /home/gbase/

3.2、创建gbase_package,将安装包拷贝至gbase_package,并解压,拷贝配置文件

mkdir /home/gbase/gbase_package

cd /home/gbase/gbase_package

mv /home/gbase/GBase8cV5_S3.0.0B114/Server/GBase8cV5_S3.0.0B114_centos7.8_x86_64.tar.gz /home/gbase/

[gbase@Gbase8CNode1 ~]$ cd gbase_package/

[gbase@Gbase8CNode1 gbase_package]$ tar xf GBase8cV5_S3.0.0B114_centos7.8_x86_64.tar.gz

[gbase@Gbase8CNode1 gbase_package]$ tar xf GBase8cV5_S3.0.0B114_CentOS_x86_64_om.tar.gz

[gbase@Gbase8CNode1 gbase_package]$ cp gbase.yml /home/gbase/

[gbase@Gbase8CNode1 gbase_package]$

3.3、优化内核参数

gbase.yml中host和agent_host区别:

Host数据面(CN/DN)访问连接的ip地址

agent_host控制面访问连接的ip地址

当主机是双网卡时,建议控制面设置在千兆网卡,数据面设置在万兆网卡,以避免大流量数据影响高可用报文的实时性。

[gbase@Gbase8CNode1 gbase_package]$ sed -i 's#10.0.1.16#192.168.1.71#g' /home/gbase/gbase.yml

[gbase@Gbase8CNode1 gbase_package]$ sed -i 's#100.0.1.16#192.168.1.71#g' /home/gbase/gbase.yml

[gbase@Gbase8CNode1 gbase_package]$ sed -i 's#10.0.1.17#192.168.1.72#g' /home/gbase/gbase.yml

[gbase@Gbase8CNode1 gbase_package]$ sed -i 's#100.0.1.17#192.168.1.72#g' /home/gbase/gbase.yml

[gbase@Gbase8CNode1 gbase_package]$ sed -i 's#10.0.1.18#192.168.1.73#g' /home/gbase/gbase.yml

[gbase@Gbase8CNode1 gbase_package]$ sed -i 's#100.0.1.18#192.168.1.73#g' /home/gbase/gbase.yml

3.4、GBase 8C部署

集群安装,切换到gbase用户执行

[gbase@Gbase8CNode1 gbase_package]$ cd /home/gbase/gbase_package/script/

[gbase@Gbase8CNode1 script]$ ./gha_ctl install -c gbase

3.5、设置环境变量

export GPHOME=/home/gbase/gbase_db >> ~/.bashrc

export PATH=$GPHOME/script:$PATH >> ~/.bashrc

source ~/.bashrc

3.6、查看集群状态

查看集群状态 任一节点,切换到gbase用户执行

[gbase@Gbase8CNode1 script]$ gha_ctl monitor all -l http://192.168.1.71:2379 -HI

3.7、配置远程连接

gs_guc reload -Z datanode -N all -I all -h "host all all 0.0.0.0/0 sha256"

gs_guc reload -Z gtm -N all -I all -h "host all all 0.0.0.0/0 sha256"

gs_guc reload -Z datanode -N all -I all -h "host all all 0.0.0.0/0 sha256"

gs_guc reload -Z coordinator -N all -I all -c"listen_addresses='*'"

gs_guc reload -Z gtm -N all -I all -c"listen_addresses='*'"

gs_guc reload -Z datanode -N all -I all -c"listen_addresses='*'"

gs_guc set -Z coordinator -N all -I all -c "password_encryption_type=1"

gs_guc set -Z gtm -N all -I all -c "password_encryption_type=1"

gs_guc set -Z datanode -N all -I all -c "password_encryption_type=1"

gs_guc check -Z gtm -N all -I all -c "listen_addresses"

gs_guc check -Z coordinator -N all -I all -c "listen_addresses"

gs_guc check -Z datanode -N all -I all -c "listen_addresses"

gs_guc check -Z gtm -N all -I all -c "password_encryption_type"

gs_guc check -Z coordinator -N all -I all -c "password_encryption_type"

gs_guc check -Z datanode -N all -I all -c "password_encryption_type"

3.8、重启Gbase 8C

gha_ctl stop all -l http://192.168.1.71:2379

gha_ctl start all -l http://192.168.1.71:2379

4、登录测试

gsql -d postgres -p 5432 -r

最后修改时间:2024-04-22 13:47:18
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论