合 在docker中模拟不同主机快速搭建GBase 8a V95集群环境
Tags: 高可用Docker环境搭建GBase集群部署GBase 8adocker环境
- 集群节点环境
- 集群的安装
- 1、在集群所有节点上创建DBA用户
- 2、在集群所有节点上创建安装目录并授权
- 3、安装包解压缩
- 4、设置环境变量
- 5、修改主节点的安装配置文件(demo.options)
- 6、gbase用户执行安装脚本
- 7、集群状态查看
- 8、申请授权
- 9、导入和检查授权
- 10、在集群所有节点上启动全部集群服务
- 11、设置分片信息(创建发布)
- 12、数据库初始化
- 13、创建库表
- 远程登录
- 集群的卸载
- 常见问题
- Q01. 集群安装成功后,在管理节点执行 gcadmin,系统提示找不到命令
- Q02. 在管理节点执行 gcadmin,系统提示
- Q03 SSH 服务确认22端口被禁止,能安装8a集群吗?
- Q04. 查看安装8a集群的依赖包列表
- Q05. Error: gcinstall.py(line 2604) -- SetSysEnv.py must be executed before cluster is installed,not executed nodes are
- 集群默认端口
- 参考
集群节点环境
IP | 角色 | OS | hostID |
---|---|---|---|
172.72.3.40 | 管理、数据节点、主节点 | CentOS Linux release 7.6.1810 (Core) | gbase8a_1 |
172.72.3.41 | 管理、数据节点 | CentOS Linux release 7.6.1810 (Core) | gbase8a_2 |
172.72.3.42 | 管理、数据节点 | CentOS Linux release 7.6.1810 (Core) | gbase8a_3 |
- 操作系统要求:redhat 7.x(或者centos 7.x)。安装系统时建议在“软件选择”中勾选“带GUI的服务器”中的“开发工具”选项。
- 硬件配置:内存2G以上(推荐4G),硬盘 20G以上,固定IP地址。
- 网络要求:各节点IP是同一网段,并互相能连通;开启 SSH 服务;关闭防火墙、关闭seLinux服务。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | -- 网卡 docker network create --subnet=172.72.0.0/16 lhrnw docker rm -f gbase8a_1 docker run -itd --name gbase8a_1 -h gbase8a_1 \ --net=lhrnw --ip 172.72.3.40 \ -p 63330:5432 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true \ --add-host='gbase8a_1:172.72.3.40' \ --add-host='gbase8a_2:172.72.3.41' \ --add-host='gbase8a_3:172.72.3.42' \ lhrbest/lhrcentos76:9.2 \ /usr/sbin/init docker rm -f gbase8a_2 docker run -itd --name gbase8a_2 -h gbase8a_2 \ --net=lhrnw --ip 172.72.3.41 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true \ --add-host='gbase8a_1:172.72.3.40' \ --add-host='gbase8a_2:172.72.3.41' \ --add-host='gbase8a_3:172.72.3.42' \ lhrbest/lhrcentos76:9.2 \ /usr/sbin/init docker rm -f gbase8a_3 docker run -itd --name gbase8a_3 -h gbase8a_3 \ --net=lhrnw --ip 172.72.3.42 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true \ --add-host='gbase8a_1:172.72.3.40' \ --add-host='gbase8a_2:172.72.3.41' \ --add-host='gbase8a_3:172.72.3.42' \ lhrbest/lhrcentos76:9.2 \ /usr/sbin/init -- 拷贝到主节点即可 docker cp GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2 gbase8a_1:/soft/ -- 安装依赖包 yum install -y pcre krb5-libs libdb glibc keyutils-libs libidn libuuid ncurses-libs libgpg-error libgomp libstdc++ libcom_err libgcc python-libs libselinux libgcrypt nss-softokn-freebl |
集群的安装
1、在集群所有节点上创建DBA用户
1 2 3 4 | useradd gbase echo "gbase:lhr" | chpasswd echo "gbase ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers |
2、在集群所有节点上创建安装目录并授权
1 2 3 4 5 | mkdir -p /opt/gbase mkdir -p /opt/gcinstall/ chown gbase:gbase /opt/gbase chown gbase:gbase /opt/gcinstall chown gbase:gbase /tmp |
3、安装包解压缩
1 2 | mv /soft/GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2 /opt/ tar xfj GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2 |
解压缩完成后,opt 下能看到生成 gcinstall 安装目录。
4、设置环境变量
1、复制主节点的环境设置脚本(SetSysEnv.py)至2个从节点
1 2 | scp /opt/gcinstall/SetSysEnv.py root@172.72.3.41:/opt/gcinstall/ scp /opt/gcinstall/SetSysEnv.py root@172.72.3.42:/opt/gcinstall/ |
2、运行SetSysEnv.py脚本配置安装环境(3个节点都需要执行)
1 2 | cd /opt/gcinstall/ python /opt/gcinstall/SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup |
如果遇到 IPV6 protocol not supported,please turn it on…的错误提示,请手动开启 IPV6,执行:
123 echo "net.ipv6.conf.all.disable_ipv6 = 0" >> /etc/sysctl.confecho "net.ipv6.conf.default.disable_ipv6 = 0" >> /etc/sysctl.confsysctl -p
该步骤的日志:/tmp/SetSysEnv.log
5、修改主节点的安装配置文件(demo.options)
切换到 gbase 用户:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | su - gbase cat > /opt/gcinstall/demo.options <<"EOF" installPrefix = /opt/gbase coordinateHost = 172.72.3.40,172.72.3.41,172.72.3.42 coordinateHostNodeID = 40,41,42 dataHost = 172.72.3.40,172.72.3.41,172.72.3.42 #existCoordinateHost = #existDataHost = dbaUser = gbase dbaGroup = gbase dbaPwd = 'lhr' rootPwd = 'lhr' #rootPwdFile = rootPwd.json EOF |
dbaPwd是 gbase 账户的密码
rootPwd 是 root 账户的密码
6、gbase用户执行安装脚本
1 2 3 | su - gbase cd /opt/gcinstall ./gcinstall.py --silent=/opt/gcinstall/demo.options |
安装结果:
1 2 3 4 5 6 7 8 9 | 172.72.3.42 install cluster on host 172.72.3.42 successfully. 172.72.3.41 install cluster on host 172.72.3.41 successfully. 172.72.3.40 install cluster on host 172.72.3.40 successfully. Starting all gcluster nodes... start service failed on host 172.72.3.41. start service failed on host 172.72.3.42. start service failed on host 172.72.3.40. adding new datanodes to gcware... InstallCluster Successfully. |
日志:/opt/gcinstall/gcinstall.log
备注:在安装过程中,先进行环境检查,可能会有错,列出缺少rpm依赖包名称,说明操作系统没有安装全必须的rpm包,需要根据rpm包的名称去各节点逐个安装。
8a需要的必备依赖包列表,请查看安装目录gcinstall下的 dependRpms 文件