您好!欢迎来到北极熊

北极熊

热门搜索: 任正非传    神雕侠侣    红楼梦   

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

分类:软件开发应用 时间:2020-11-20 23:02 浏览:405
概述
大家好,今年的双十一阿里云服务器优惠多多,本人也买了4台阿里云服务器(Centos7.3),一直再想买了干嘛呢,想了想还是把本地的gbase集群环境都移植到ECS云服务器上吧,这样也能省下不少的空间(一切都是因为穷,哈哈哈哈哈)。下面我会把这次搭建过程中踩过的坑都分享出来,也算是自己的一次总结吧,话不多说,直接上干货。在这里要特别感谢一下天津南大通用的沈丽萍老师,在安装过程中我碰到了一系列的问题,都非常耐心的为我解答。文章目录一、配置云
内容

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

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



文章目录

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


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

    • 2.配置云企业网实例

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

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

    • 5.账号A加载网络实例

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

  • 二、配置免密登录


    • 1.关闭selinux以及防火墙

    • 2.配置IP映射

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

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


    • 1.上传安装包

    • 2.解压安装包

    • 3.添加交换分区

  • 四、安装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/

  • 在云企业网实例界面,单机创建云企业网实例。
    在这里插入图片描述


2.配置云企业网实例

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


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

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

在这里插入图片描述


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

1.使用账号B登录VPC管理控制台,例如我的区域是杭州。
在这里插入图片描述
然后单击VPC实例ID,在云企业网跨账号授权信息区域,单击云企业网跨账号授权。

在这里插入图片描述


5.账号A加载网络实例

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

在这里插入图片描述
3.在加载网络实例页面,点击加载网络实例,加载B账号中同区域的VPC网络。
在这里插入图片描述


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

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

在这里插入图片描述
2.手动添加入方向规则。
在这里插入图片描述
到这里我们的ECS云服务器网络都已经配置好了,可以登录到云服务器互ping一下对应的IP,看是否成功。

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

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


二、配置免密登录

1.关闭selinux以及防火墙

永久关闭selinux方法:修改/etc/sysconfig/selinux配置文件即可:
在这里插入图片描述
永久关闭防火墙命令。重启后,防火墙不会自动启动:

systemctl disable firewalld1

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 修改为自己的主机名称12345
  • 编辑 /etc/hostname文件:

修改为自己的主机名称1

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


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

  • 创建公钥和私钥

执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥。cd ~/.ssh
ssh-keygen -t rsacat id_rsa.pub >> authorized_keys1234

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


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

1.上传安装包

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

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

2.解压安装包

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

3.添加交换分区

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

  • 生成交换分区文件

dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=2048k1
  • 转换分区格式

mkswap  /var/swapfile1
  • 修改分区文件权限

chmod -R 0600 /var/swapfile1
  • 挂载交换分区

swapon   /var/swapfile1

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

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

四、安装gbase 8a 集群

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

cd /opt/gcinstall
vim demo.options12

配置如下:

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.jsondbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'rootPwd = 'root密码'#rootPwdFile = rootPwd.jsondbRootPwd = ''#mcastAddr = 226.94.1.39mcastPort = 549312345678910111213141516171819

2.执行安装脚本

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

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

在这里插入图片描述

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

在这里插入图片描述
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...12345

4.数据分片

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

gcadmin distribution gcChangeInfo.xml p 2 d 2 pattern 11

使用命令:gcadmin showdistribution node 可以看到分片的备份情况。其实大家也可以看到,3个节点设置2个副本的话,相当于是有3份数据的,是相当安全的。
在这里插入图片描述

5.数据库初始化

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

gccli -uroot -p1

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

在这里插入图片描述

小福利:能看到这里的一定是已经搭建完成的小伙伴啦,送你们一个小福利,哪个服务没起来的话,先找找服务对应的端口是否已经打开。
在这里插入图片描述


总结

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


评论
资讯正文页右侧广告
联系我们
电话:18936411277
邮箱:1044412291@qq.com
时间:09:00 - 19:00
公众号:北格软件
底部广告