• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)

互联网 diligentman 2周前 (11-21) 6次浏览

大家好,今年的双十一阿里云服务器优惠多多,本人也买了4台阿里云服务器(Centos7.3),一直再想买了干嘛呢,想了想还是把本地的gbase集群环境都移植到ECS云服务器上吧,这样也能省下不少的空间(一切都是因为穷,哈哈哈哈哈)。下面我会把这次搭建过程中踩过的坑都分享出来,也算是自己的一次总结吧,话不多说,直接上干货。

在这里要特别感谢一下天津南大通用的沈丽萍老师,在安装过程中我碰到了一系列的问题,都非常耐心的为我解答。


文章目录

  • 一、配置云企业网实例以及开放端口
    • 1.开启A账户云企业网络
    • 2.配置云企业网实例
    • 3.获取已创建的云企业网实例ID
    • 4.账号B授权账号A加载其网络实例
    • 5.账号A加载网络实例
    • 6.开放账号的端口(重要)
  • 二、配置免密登录
    • 1.关闭selinux以及防火墙
    • 2.配置IP映射
    • 3.配置3台主机免密登录
  • 三、上传gbase安装包到ECS服务器
  • 四、安装gbase 8a 集群
    • 1.进入gcinstall目录编辑demo.options文件
    • 2.执行安装脚本
    • 3.安装完成,验证集群是否正常,5个进程正常启用
    • 4.数据分片
    • 5.数据库初始化
  • 总结

一、配置云企业网实例以及开放端口

因为我用的是3个不同的账号买的ECS云服务器,所以首先需要解决的就是网络问题,这里提供一个阿里云的官方文档,一共三步就能实现,官方资料:https://www.alibabacloud.com/help/zh/doc-detail/65901.htm

步骤如下:

1.开启A账户云企业网络

点击到【云企业网】控制器,同区域下云企业网是免费的,跨区域是要收费的。链接如下:
https://cen.console.aliyun.com/

  • 在云企业网实例界面,单机创建云企业网实例。
    ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)

2.配置云企业网实例

1.名称:云企业网实例的名称。
2.实例类型:选择要互通的实例。本操作选择专有网络(VPC)。
3.地域:选择所选实例的地域。本操作选择华东1(杭州)。
4.网络实例:选择要加载的实例。本操作选择VPC实例


3.获取已创建的云企业网实例ID

本操作的云企业网实例ID为 cen-xxxxxxxxxxxxx

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)


4.账号B授权账号A加载其网络实例

1.使用账号B登录VPC管理控制台,例如我的区域是杭州。
ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)
然后单击VPC实例ID,在云企业网跨账号授权信息区域,单击云企业网跨账号授权。

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)


5.账号A加载网络实例

1.使用账号A登录云企业网管理控制台。
2.在云企业网实例页面,点击已创建的云企业网实例操作列下的管理。

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)
3.在加载网络实例页面,点击加载网络实例,加载B账号中同区域的VPC网络。
ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)


6.开放账号的端口(重要)

1.在安全组列表界面,点击配置规则选项。

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)
2.手动添加入方向规则。
ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)
到这里我们的ECS云服务器网络都已经配置好了,可以登录到云服务器互ping一下对应的IP,看是否成功。

注意:3台都要开放端口以及加入云企业网,我这里只用了两台作为测试。

小窍门:配置不成功直接打电话给阿里云售后,会有专门的售后人员(漂亮的小姐姐)跟你一对一的沟通交流,哈哈哈。


二、配置免密登录

1.关闭selinux以及防火墙

永久关闭selinux方法:修改/etc/sysconfig/selinux配置文件即可:
ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)
永久关闭防火墙命令。重启后,防火墙不会自动启动:

systemctl disable firewalld

ECS云服务器默认自动关闭了selinux和防火墙的。


2.配置IP映射

  • 编辑 /etc/hosts文件:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.0.249 修改为自己的主机名称
172.18.221.221 修改为自己的主机名称
172.29.155.250 修改为自己的主机名称
  • 编辑 /etc/hostname文件:
修改为自己的主机名称

修改完记得重新启动生效,这一步不是必须的,但是我还是做了,因为后面的操作直接用主机要方便很多。


3.配置3台主机免密登录

  • 创建公钥和私钥
执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥。
cd ~/.ssh
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys

这里需要在3台主机都执行然后合并了分发到每一台主机,最后记得ssh验证一下。


三、上传gbase安装包到ECS服务器

1.上传安装包

方法很多,我这里用的是scp,如下图所示:

scp 安装包路径 ECS服务器公网地址:文件路径

2.解压安装包

cd /opt
tar -jxvf GBase8a_MPP_Cluster-NoLicense-FREE-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2 ./

3.添加交换分区

因为ECS服务器没有配置交换分区,这里需要我们自己配置一下,不然会安装失败。

  • 生成交换分区文件
dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=2048k
  • 转换分区格式
mkswap  /var/swapfile
  • 修改分区文件权限
chmod -R 0600 /var/swapfile
  • 挂载交换分区
swapon   /var/swapfile

上面的挂载会在系统重启后失效,可通过编辑 /etc/fstab 避免。
将下面的内容,添加到 /etc/fstab 文件中。

sh -c "echo  '/var/swapfile   swap  swap  defaults  0  0' >>  /etc/fstab"

四、安装gbase 8a 集群

1.进入gcinstall目录编辑demo.options文件

cd /opt/gcinstall
vim demo.options

配置如下:

installPrefix= /opt
#添加管理节点(coordinateHost)
coordinateHost = 172.16.0.249,172.18.221.221,172.29.155.250
#coordinateHostNodeID = 249,221,250
#添加数据节点(dataHost)
dataHost = 172.16.0.249,172.18.221.221,172.29.155.250
#existCoordinateHost =
#existDataHost =
loginUser= root
loginUserPwd = 'root密码'
#loginUserPwdFile = loginUserPwd.json
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = 'root密码'
#rootPwdFile = rootPwd.json
dbRootPwd = ''
#mcastAddr = 226.94.1.39
mcastPort = 5493

2.执行安装脚本

./gcinstall.py --silent=demo.options

碰见选项一路按y就完事了,安装成功如下图所示:

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)

3.安装完成,验证集群是否正常,5个进程正常启用

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)
5个进程正常启用:
service gcware status:

corosync (pid 16225) is running...
gclusterd (pid 16874) is running...
gcrecover (pid 16933) is running...
gbased (pid 16306) is running...
gc_sync_server (pid 16850) is running...

4.数据分片

我们需要切换到gbase用户,cd 到/opt/gcinstall目录下进行数据分片,这里我选择到是一个节点2个分片,一个分片备份两个副本,其中pattern 1可以省略。

gcadmin distribution gcChangeInfo.xml p 2 d 2 pattern 1

使用命令:gcadmin showdistribution node 可以看到分片的备份情况。其实大家也可以看到,3个节点设置2个副本的话,相当于是有3份数据的,是相当安全的。
ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)

5.数据库初始化

切换到gbase用户,通过命令gccli -uroot -p 进入Gbase数据库,输入密码的时候回车就行。

gccli -uroot -p

运行initnodedatamap命令后数据库就初始化成功啦,后面就可以自由发挥啦:

ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)

福利:能看到这里的一定是已经搭建完成的小伙伴啦,送你们一个小福利,哪个服务没起来的话,先找找服务对应的端口是否已经打开。
ECS阿里云服务器搭建国产GBase 8a MPP Cluster 数据库集群(解决同地域不同账号、不同网段的互通问题)


总结

这次安装碰到的最大的问题就是网络问题,因为不是在本地安装,ECS云服务器上面的网络需要自己去打通,开放对应端口,还有就是第一次安装失败了,查看原因是内存超过了最大限制,配置了交换分区后就安装成功了。


喜欢 (0)