GBase8a_MPP_Cluster数据库安装及卸载

安装前操作系统环境检查及配置

各节点操作系统版本保持一致
[root@gbase4 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
[root@gpbase5 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
[root@gbase6 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo
各节点root用户的密码保持一致

Redhat操作系统需要检查是否安装如下安装包

libstdc++ cyrus-sasl-lib zlib nspr libidn libuuid ncurses-libs nss-util openldap libgcc nss glibc nss-softokn-freebl 
先挂载磁盘,再安装以上软件包
[root@gbase4 yum.repos.d]# mount /dev/cdrom  /mnt/rh7/

[root@gbase4 yum.repos.d]# cat >rh7.repo
[rh7]
name=rh7
baseurl=file:///mnt/rh7
gpgcheck=1
gpgkey=file:///mnt/rh7/RPM-GPG-KEY-redhat-release
[root@gbase4 yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rh7                                                                                                                                                   | 4.1 kB  00:00:00
(1/2): rh7/group_gz                                                                                                                                   | 136 kB  00:00:00
(2/2): rh7/primary_db                                                                                                                                 | 3.9 MB  00:00:00
repo id                                                                              repo name                                                                         status
rh7                                                                                  rh7                                                                               4,751
repolist: 4,751

各节点的端口是否占用
lsof -i:5258 
各节点防火墙状态
systemctl stop firewalld.service 
systemctl disable firewalld.service
systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
如果防火墙为开启状态,则需要为GBase 8a MPP Cluster开放如下端口:

需要在每个节点上执行以下命令:
1 设置默认规则。

# iptables -A INPUT -j DROP 
# iptables -A FORWARD -j ACCEPT 

2 开放gcluster端口。

# iptables -I INPUT -p tcp --dport 5258 -j ACCEPT 
# iptables -I OUTPUT -p tcp --dport 5258 -j ACCEPT 
# iptables -I INPUT -p tcp --sport 5258 -j ACCEPT 
# iptables -I OUTPUT -p tcp --sport 5258 -j ACCEPT 

3 开放gnode端口。

# iptables -I INPUT -p tcp --dport 5050 -j ACCEPT 
# iptables -I OUTPUT -p tcp --dport 5050 -j ACCEPT 
# iptables -I INPUT -p tcp --sport 5050 -j ACCEPT 
# iptables -I OUTPUT -p tcp --sport 5050 -j ACCEPT 

4 开放syncserver端口。

# iptables -I INPUT -p tcp --dport 5288 -j ACCEPT 
# iptables -I OUTPUT -p tcp --dport 5288 -j ACCEPT 
# iptables -I INPUT -p tcp --sport 5288 -j ACCEPT 
# iptables -I OUTPUT -p tcp --sport 5288 -j ACCEPT 

5 开放gcware组播通信端口

# iptables -I INPUT -p udp --dport 5493 -j ACCEPT 
# iptables -I OUTPUT -p udp --dport 5493 -j ACCEPT 
# iptables -I INPUT -p udp --sport 5493 -j ACCEPT 
# iptables -I INPUT -p udp --dport 5493 -j ACCEPT  

注意:如果端口号因被占用发生变更,请同步修改以上命令中的sport或dport对应的参数值。

各节点SELINUX状态,获取当前selinux状态
[root@gbase6 ~]# getenforce
Enforcing
[root@gbase6 ~]# setenforce 0
[root@gbase6 ~]# getenforce
Permissive
[root@gbase6 ~]# cat /etc/selinux/config    
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

根据查出来的结果用sed替换

[root@gbase6 ~]# sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
各节点系统时间保持一致
[root@gbase4 ~]# rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
ntpdate-4.2.6p5-25.el7.x86_64

安装修改配置文件并启动服务

[root@gbase4 ~]#  yum -y install ntp
[root@gbase4 ~]#  vi /etc/ntp.conf 
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst

#添加如下内容,设定同步的 IP 地址
server 192.168.126.136

[root@gbase6 ~]#  systemctl start ntpd.service

查看状态

[root@gbase4 ~]# ntpstat
unsynchronised
  time server re-starting
   polling server every 8 s
[root@gbase4 ~]# ntpdate 192.168.126.136
16 Mar 20:44:00 ntpdate[48337]: the NTP socket is in use, exiting
各节点ssh服务开启状态
[root@gbase4 ]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2022-03-09 23:49:46 PST; 6 days ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 41165 (sshd)
   CGroup: /system.slice/sshd.service
           └─41165 /usr/sbin/sshd
……
各节点操作系统参数,内核参数修改如下
[root@gbase4 ~]# cat /etc/sysctl.conf
kernel.core_uses_pid = 1
net.core.netdev_max_backlog = 262144
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.somaxconn = 32767 #最大设置65535,用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就导致链接超时或者触发重传机制。
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_tw_reuses = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.ip_local_reserved_ports = 5050,5258,5288,6666,6268
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_tw_buckets = 20000 #系统能够同时处理的最大 timewait sockets 数目。如超过此数的话,time-wait socket 会被立即砍除并且显示警告信息。
vm.vfs_cache_pressure = 1024
vm.swappiness = 1
vm.overcommit_memory = 0
vm.zone_reclaim_mode = 0
vm.max_map_count = 116704
vm.min_free_kbytes = 186726  #表示强制 LinuxVM 最低保留多少空闲内存(Kbytes)。建议设为物理内存的1/10的大小。不超过 4G。
修改内存配置

通过修改配置文件/etc/security/limits.conf,添加如下两行,操作系统重启后生效:

[root@gbase4 ~]# cat >>/etc/security/limits.conf
* soft as unlimited
* hard as unlimited

或者执行以下命令,修改当前系统配置,操作系统重启后需重新设置:

[root@gbase4 ~]# ulimit -m unlimited 
修改I/O调度方式 ,磁盘调度策略算法,设置系统使用deadline调度器

根据具体使用磁盘更换sda目录

[root@gbase4 ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
关闭transparent_hugepage参数 ,改为never
[root@gbase4 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@gbase4 ~]# echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
[root@gbase4 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

以上方法重启服务器后,需要重新设置

Swap分区

Swap分区大小设置为和物理内存大小相同,建议swap文件和数据文件放到不同的磁盘上。
当物理内存大于 128GB 的时候,建议设置为物理内存的一半,不低于 64GB,当物理内存小于 128G,大于 64GB 时,设置为物理内存的一倍,当物理内存小于64GB 时,不得超过物理内存的 2 倍。

关闭CPU超频

可在BIOS中进行设置关闭CPU超频。 开机自检画面,按DEL键进入BIOS设置界面。选择设置中的Load Default optimal(读取默认设置),确认后退出。
各节点主机名配置文件修改

[root@gbase4 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.126.136 gbase4
192.168.126.137 gbase5
192.168.126.138 gbase6
修改 DefaultTasksMax 参数

针对 Redhat7.x 或 SUSE12,需要修改配置文件/etc/systemd/system.conf中,设置参数DefaultTasksMax=infinity。
设置 infinity 原因是 suse12 增加 systemd 资源控制,对进程数有限制,如果进程数太小,无法满足集群使用,故需要设置 infinity,且设置后重启服务器,让其生效。

安装集群

部署限制及建议 V8.6.2.X版本支持非对称部署方式,Coordinator节点支持最多部署64个,数据节点支持部署300个以上。当数据节点不超过64节点时,可以采用对称部署方式。在非对称部署方式下考虑管理节点高可用的因素,建议部署至少3台(允许1个管理节点出现故障)或者5台(允许2个管理节点出现故障),因此一般建议在节点数在5台以下(包括5台)的情况下,采用对称部署方式,5台以上的采用非对称部署方式。 注:针对Redhat7.x或SUSE12,需要修改配置文件/etc/systemd/system.conf中,设置参数DefaultTasksMax=infinity。

上传软件,节点之间配置互信
[root@gbase4 ~]# tar xfj GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2  -C /opt/

[root@gbase4 ~]# vim /opt/gcinstall/demo.options
installPrefix= /opt
coordinateHost = 192.168.126.136,192.168.126.137,192.168.126.138
#coordinateHostNodeID = 136,137,138  
dataHost = 192.168.126.136,192.168.126.137,192.168.126.138
#existCoordinateHost =
#existDataHost =
loginUser= root
loginUserPwd = 'asd'
#loginUserPwdFile = loginUserPwd.json
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'asd'
rootPwd = 'asd'
#rootPwdFile = rootPwd.json
dbRootPwd = ''
#mcastAddr = 226.94.1.39
mcastPort = 5493
使用 root 用户在集群各个节点执行 gbase 用户的环境部署脚本:
[root@gbase4 ~]# scp SetSysEnv.py gbase@gbase5:/opt/ --或者其他节点同样解压安装
[root@gbase4 ~]# scp SetSysEnv.py gbase@gbase6:/opt/ 
[root@gbase4 ~]#  ./SetSysEnv.py --installPrefix=/opt --dbaUser=gbase  
[root@gbase5 ~]#  ./SetSysEnv.py --installPrefix=/opt --dbaUser=gbase  
[root@gbase6 ~]#  ./SetSysEnv.py --installPrefix=/opt --dbaUser=gbase  

创建gbase用户,修改目录权限,root在每个节点执行,切换到gbase用户
[root@gbase4 ~]#  useradd gbase
[root@gbase4 ~]#  passwd gbase
[root@gbase4 ~]#  chown -R gbase:gbase /opt/
[root@gbase4 ~]#  su - gbase 

用户给 gcinstall 目录及目录下所有文件更改属主为 DBA 用户 gbase,并切换当前用户为 DBA 用户

使用 DBA 用户进入解压后的 gcinstall 目录,根据实际的集群环境修改安装参数文件 demo.options

使用 DBA 用户执行安装:
[gbase@gbase4 ~]$ cd gcinstall/
[gbase@gbase4 ~]$ ./gcinstall.py --silent=demo.options  #(注意不是centos或者redhat系统的需要加上--regress-test选项)
……
192.168.126.138         Install gcluster on host 192.168.126.138 successfully.
192.168.126.137         Install gcluster on host 192.168.126.137 successfully.
192.168.126.136         Install gcluster on host 192.168.126.136 successfully.
192.168.126.138         Install gcluster on host 192.168.126.138 successfully.
192.168.126.137         Install gcluster on host 192.168.126.137 successfully.
192.168.126.136         Install gcluster on host 192.168.126.136 successfully.
Starting all gcluster nodes...
Adding new datanodes to gcware...
……
如果是LICENSE版本则需要在安装软件之后获取LICENSE,如果是NOLICENSE版本则可以查看状态直接初始化
生成文件,采集指纹,可以直接将全部IP地址写上,也可以将IP地址写入文件
[gbase@gbase4 gcinstall]$ ./gethostsid -n 192.168.126.136,192.168.126.137,192.168.126.138  -u gbase -p asd  -f 20220628.txt;
或者
[gbase@gbase4 gcinstall]$ ./gethostsid --hosts=demo.hosts -u gbase -p asd  -f 20220628.txt;
获取LICENSE(需申请),并导入
[gbase@gbase4 gcinstall]$  License --hosts=demo.hosts -f ./20220628-03.lic -u gbase -p asd
获取license状态
[gbase@gbase4 gcinstall]$ /chkLicense --hosts=demo.hosts  -u gbase -p asd
======================================================================
192.168.126.136
is_exist:yes
version:trial
expire_time:20220928
is_valid:yes
======================================================================
192.168.126.137
is_exist:yes
version:trial
expire_time:20220928
is_valid:yes
======================================================================
192.168.126.138
is_exist:yes
version:trial
expire_time:20220928
is_valid:yes
查看集群状态
[gbase@gbase4 ~]$ gcadmin
CLUSTER STATE:  ACTIVE
CLUSTER MODE:   NORMAL

======================================================================
|               GBASE COORDINATOR CLUSTER INFORMATION                |
======================================================================
|   NodeName   |       IpAddress        |gcware |gcluster |DataState |
----------------------------------------------------------------------
| coordinator1 |    192.168.126.136     | OPEN  |  OPEN   |    0     |
----------------------------------------------------------------------
| coordinator2 |    192.168.126.137     | OPEN  |  OPEN   |    0     |
----------------------------------------------------------------------
| coordinator3 |    192.168.126.138     | OPEN  |  OPEN   |    0     |
----------------------------------------------------------------------
==================================================================
|                 GBASE DATA CLUSTER INFORMATION                 |
==================================================================
|NodeName |       IpAddress        |gnode |syncserver |DataState |
------------------------------------------------------------------
|  node1  |    192.168.126.136     | OPEN |   OPEN    |    0     |
------------------------------------------------------------------
|  node2  |    192.168.126.137     | OPEN |   OPEN    |    0     |
------------------------------------------------------------------
|  node3  |    192.168.126.138     | OPEN |   OPEN    |    0     |
------------------------------------------------------------------
配置distribution
[gbase@gbase4 gcinstall]$  gcadmin distribution gcChangeInfo.xml p 1 d 1
gcadmin generate distribution ...

NOTE: node [192.168.126.136] is coordinator node, it shall be data node too
NOTE: node [192.168.126.137] is coordinator node, it shall be data node too
NOTE: node [192.168.126.138] is coordinator node, it shall be data node too
gcadmin generate distribution successful

gcChangeInfo.xml文件中的基本不变,主要是命令中后面跟的参数

集群初始化
[gbase@gbase4 ~]$ gccli -uroot -p
Enter password:  #根据之前配置文件,初始密码为空
GBase client 8.6.2.43-R7-free.110605. Copyright (c) 2004-2022, GBase.  All Rights Reserved.
gbase>
执行初始化命令 initnodedatamap命令
gbase> initnodedatamap;
Query OK, 0 rows affected (Elapsed: 00:00:01.35)

至此安装完成

集群服务的启停

成功安装集群后,用户可以在每个节点上使用操作系统的 root 用户执行以下命令启停 gcware 服务:

启动服务
[root@gbase4 ~]# systemctl start gcware
重启服务
[root@gbase4 ~]# systemctl start gcware
停止服务
[root@gbase4 ~]# systemctl stop gcware
查看服务状态
[root@gbase4 ~]# systemctl status gcware

也可以在每个节点上使用 dba 用户 gbase 执行以下命令启停 gcware 服务:

启动服务
[gbase@gbase4 ~]$  gcluster_services all start 
停止服务
[gbase@gbase4 ~]$  gcluster_services all stop 
重启服务
[gbase@gbase4 ~]$  gcluster_services all restart

其中,coordinator 节点的服务有:gclusterd,gcmonit,gcmmonit,corosync,gcrecover;
data 节点的服务有:gbased,syncserver,gcmonit,gcmmonit

集群登录与退出

在任何节点上,在命令行状态,用户必须使用 gbase 用户,通过 gbase 客户端工具连接数据库。命令格式如下:

gccli –u<username> -p<password> [-h<ipaddress>] [-P<portname>] [-D<databasename>] [--nice_time_format] [-c]

参数:

username:-u 的参数值,连接数据库的用户名称,该名称默认为 root。
password:-p 的参数值,连接数据库的密码,该密码默认为空,首次安装并登录集群后,需要修改 root 用户的 password。
ipaddress:-h 的参数值,登录集群节点的 IP 地址,默认 127.0.0.1,可选参数;如果指定多个 IP 地址,则启动 gccli 的高可用功能,IP 地址之间采用“,”分隔,例如192.168.100.10,192.168.100.11,192.168.100.12。在指定多个集群节点 IP 的情况下,gccli 首先尝试与第一个节点 IP 建立连接,如果无法建立连接,则尝试与下一个节点 IP 建立连接。以此类推,如果
配置的多个集群节点 IP 均无法建立连接,则 gccli 无法建立与集群的连接,本次登录失败。
portname:-P 的参数值,集群使用的端口号,默认 5258,可选参数。
databasename:-D 的参数值,指定登录时默认的数据库(数据库必须存在),可选参数。
--nice_time_format:指定时间的显示格式,该参数默认值为 0。使用该参数,格式显示为'n hour n min nnn.nn sec';不使用该参数,格式显示为'hh:mm:ss.ff'。可选参数。nice_time_format 可以这样使用:

[gbase@gbase4 ~]$  gccli -uroot --nice_time_format
[gbase@gbase4 ~]$  gccli -uroot --nice_time_format = 1
[gbase@gbase4 ~]$  gccli -uroot --nice_time_format = 0
其中 12 等价, 3 等价于不使用 nice_time_format。 -c:使用此参数,用于使用 hint 优化方式。可选参数。

示例 1:默认登录。此时操作用时精度为秒

$ gccli -uroot -p 
Enter password: 
GBase client 8.6.2.43-R7-free.110605. Copyright (c) 2004-2022, GBase.  All Rights Reserved.
gbase> USE gbase; 
Query OK, 0 rows affected (Elapsed: 00:00:00.01)

示例 2:使用–nice_time_format 登录,时间精度为毫秒

$ gccli -uroot –p --nice_time_format 
Enter password: 
GBase client 8.6.2.43-R7-free.110605. Copyright (c) 2004-2022, GBase.  All Rights Reserved.
gbase> USE gbase; 
Query OK, 0 rows affected (0.00 sec) 

2、 退出登录
直接输入\q 即可退出登录,或者ctrl +D。

gbase> \q 
Bye

卸载集群

需要卸载 GBase 8a MPP Cluster 时,首先需要停止集群各节点服务,然后
进入 gcinstall 目录,再进行如下操作:

[gbase@gbase4 gcinstall]$ ./unInstall.py  --silent=demo.options 

如果因为当前集群环境被破坏,导致执行 unInstall.py 报错,可以使用”
–Force”参数卸载集群,如下所示:

[gbase@gbase4 gcinstall]$ ./unInstall.py  --silent=demo.options --Force
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值