4.1.?uxmpp环境搭建

4.1.1. 手动部署
4.1.2. 自动部署

4.1.1.?手动部署

表?4.1.?环境信息

?IP address备注
Master192.168.1.82主节点,进行数据操作
Worker1192.168.1.83Worker节点,数据分布节点
Worker2192.168.1.84Worker节点,数据分布节点
……?Worker节点,数据分布节点

注意

各节点使用的uxdb服务器版本应一致,各操作系统(本文用的是CentOS7.4)、时区时间也应该统一,各节点网络相通。

安装UXDB

  1. 分别在master和worker节点上安装uxdb(具体安装过程参考《优炫数据库安装手册 V2.1》)。

  2. 分别给master和worker节点加载license(license找优炫相关技术人员获取)。

  3. 分别在master和worker节点上进入uxdb安装目录下的dbsql/bin目录下,初始化集群(./initdb -W -D mpptest)。

配置MPP

  1. 修改master和各worker节点上集群的配置文件uxsinodb.conf,打开shared_preload_libraries开关,并添加uxmpp。

    注意

    当加载多个改变规划器或执行器行为的插件时,请确保uxmpp是第一个被加载的。

    如上图所示postgres_adaptor没有改变规划器行为,所以uxmpp放在这里是允许的。

  2. 在master节点上创建.uxpass,并写入worker节点的信息,包括worker节点的IP,worker节点的集群port,搭建mpp的数据库名、用户名、密码(不能省略localhost)。

    touch ~/.uxpass
    chmod 0600 ~/.uxpass
    vi ~/.uxpass

    注意

    在.uxpass文件中,前两行master节点的连接信息可不写,但是会在连接数据库时,提示输入密码。

  3. 在worker1和worker2上分别创建.uxpass,并写入相关信息,如下图(不能省略localhost)。操作命令同步骤2。

  4. 分别启动master和worker节点上的集群。master和worker节点分别进入uxdb安装路径的dbsql/bin目录下执行:

    ./ux_ctl -D mpptest start

  5. 分别在master和worker节点上用要搭建mpp的用户登录数据库控制台。

    ./uxsql -p 5432 -d uxdb -U uxdb

  6. 分别在master和worker节点上控制台中加载uxmpp插件。

    create extension uxmpp;

  7. master节点登录控制台,添加worker节点。

    select master_add_node('192.168.1.83',5432);
    select master_add_node('192.168.1.84',5432);

  8. master节点上查看在线的worker节点。

    select master_get_active_worker_nodes();

提示

验证mpp环境是否搭建成功,可在master上创建一个分布表,在worker节点上查看是否分布成功(创建分布表可参考第?4.3.1?节)。

4.1.2.?自动部署

uxmpp支持自动部署,可以简化部署过程,提高部署效率,减少部署过程中出现的人为错误。

表?4.2.?环境信息

?IP address备注
Coordinator192.168.1.82管理节点,对各个节点的集群进行部署和配置(注:可以和其他节点部署在同一台机器上)
Master192.168.1.82主节点,进行数据操作
Worker1192.168.1.83Worker节点,数据分布节点
Worker2192.168.1.84Worker节点,数据分布节点
……?Worker节点,数据分布节点

注意

各节点使用的uxdb服务器版本应一致,各操作系统(本文用的是CentOS7.4)、时区时间也应该统一,各节点网络相通。

安装ansible

在Coordinator节点上安装ansible和其他节点进行免密ssh认证。

  1. 查看python版本(版本大于2.6)。

  2. 安装ansible,可通过yum或者rpm包进行安装。

    yum install ansible -y

  3. 查看ansible是否安装成功。

  4. 配置ssh密钥认证。

    切换到uxdb用户生成公钥,执行ssh-keygen -t rsa(生成过程中默认回车)。

    同步公钥文件id_rsa.pub到目标主机。

    ssh-copy-id -i /home/uxdb/.ssh/id_rsa.pub uxdb@192.168.1.82
    ssh-copy-id -i /home/uxdb/.ssh/id_rsa.pub uxdb@192.168.1.83
    ssh-copy-id -i /home/uxdb/.ssh/id_rsa.pub uxdb@192.168.1.84

    验证免密配置成功:Coordinator节点上uxdb用户分别执行ssh 192.168.1.82、ssh 192.168.1.83和ssh 192.168.1.84。可免密连接则为配置成功。

提示

各worker上安装ansible,同其他worker进行免密配置,操作同Coordinator节点上操作一样。

安装UXDB

  1. Coordinator节点上安装uxdb。

    Coordinator节点上解压uxdb安装包,并进入uxdb安装目录,执行./install.sh进行安装(具体安装过程参考《优炫数据库安装手册 V2.1》)。

  2. 进入uxdb安装路径uxdbinstall/license目录下修改IpAdd.ini文件,分别添加192.168.1.83和192.168.1.84的信息。添加完成之后,执行./GetUserInfo.sh脚本生成服务器信息(GetUserInfo.sh用法可执行./GetUserInfo.sh --help查看)。将生成的服务器信息UxdbLicense.json发送给优炫相关技术人员,用以获取license,将获取到的uxdb.lic放入uxdb安装路径uxdbinstall/license目录下。

  3. 打包安装的目录uxdbinstall。

    tar -cjf /home/uxdb/uxdb-install.tar.gz uxdbinstal

部署配置

  1. 配置各节点信息,进入uxdb安装路径下的deploy目录,修改inventory.ini文件,各节点IP、各节点集群名称和端口号。

  2. NTP同步时间

    修改bootstrap.yml文件,根据实际NTP server修改,如Coordinator节点做NTPserver。

    启动NTP时间同步服务:

    ansible-playbook --verbose bootstrap.yml -k -u root

  3. 配置个节点安装uxdb的信息并在各个节点上安装。

    修改group_vars/all.yml文件配置安装路径:

    修改group_vars/uxdb.yml文件配置集群信息:

    安装uxdb:

    ansible-playbook --verbose deploy.yml

    在各个节点上可以查看到uxdb程序。

集群操作

  1. 初始化集群

    Coordinator节点上进入deploy目录,执行:

    ansible-playbook --verbose initdb.yml

    提示

    启动集群前,需要给各个节点的dbsql/bin目录下的uxdb程序添加管理员权限,用以读取license,可进入dbsql/bin目录下执行:

    sudo -S setcap cap_setuid+ep
  2. 集群操作(在Coordinator节点上进入deploy目录下执行)

    启动集群:

    ansible-playbook --verbose start.yml

    重启集群:

    ansible-playbook --verbose restart.yml

    集群状态:

    ansible-playbook --verbose status.yml

    停止集群:

    ansible-playbook --verbose stop.yml

    删除集群:

    ansible-playbook --verbose removedb.yml

    提示

    deploy脚本下的配置文件, 只需要在Coordinator节点上配置一次即可, 可以将其备份至其他目录,后续再安装其他的版本时,就不需要重新配置了。

XML 地图 | Sitemap 地图