干货分享|优炫MPP数据库部署详解
前言
优炫数据库管理系统UXDB是优炫软件研发的企业级安全可信数据库,拥有自主知识产权,是自主可控的数据库软件,具备高可用、高安全、高性能、高可靠、强兼容等特性,目前优炫数据库已经在政务、军工、电信、金融、医疗等多个行业的系统上线运行。
上期我们介绍了优炫数据库MPP大规模并行处理技术架构特点和应用场景,本期我们介绍uxmpp数据库部署。
环境说明:
数据库:UXDB
操作系统:CentOS7.4
自动部署
自动部署可以简化部署过程,提高效率,减少部署过程中出现的人为错误。
IP address | 备注 | |
Coordinator | 192.168.1.82 | 管理节点,对各个节点的集群进行部署和配置。可以和其他节点部署在同台机器 |
master | 192.168.1.82 | 主节点,进行数据操作 |
worker1 | 192.168.1.83 | worker节点,数据分布节点 |
worker2 | 192.168.1.84 | worker节点,数据分布节点 |
…… | worker节点,数据分布节点 |
安装ansible
在Coordinator节点上安装ansible和其他节点进行ssh免密配置认证。
1. 查看python版本(python版本要求2.6及以上)。
2. 安装ansible,可通过yum或者rpm包进行安装
yum install ansible-y
3. 查看ansible是否安装成功
4. ssh免密配置认证。以uxdb用户生成公钥,执行ssh-keygen -trsa(生成过程中默认回车)。
同步公钥文件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进行ssh免密配置认证,操作同Coordinator节点。
安装UXDB
1. 在Coordinator节点安装uxdb。
2. 在Coordinator节点加载license。
部署配置
1. 配置各节点信息。在各节点进入uxdb安装路径下的deploy目录,修改inventory.ini文件,配置各节点IP、集群名称和端口号。
2. 修改bootstrap.yml文件,根据实际NTP server修改,如Coordinator节点做NTPserver。
启动NTP时间同步服务。
ansible-playbook --verbose bootstrap.yml-k-u root
3. 修改group_vars/all.yml文件,配置安装路径。
修改group_vars/uxdb.yml文件配置集群信息。
打包安装的目录uxdbinstall。
tar-cjf /home/uxdb/uxdb-install.tar.gz uxdbinstall
安装uxdb。
ansible-playbook --verbose deploy.yml
在各个节点上可以查看到uxdb程序。
集群操作
1. 初始化集群
Coordinator节点上进入deploy目录,执行如下命令。
ansible-playbook --verbose initdb.yml
2、集群操作
启动。
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
手动部署
IP address | 备注 | |
Master | 192.168.1.82 | 主节点,进行数据操作 |
Worker1 | 192.168.1.83 | Worker节点,数据分布节点 |
Worker2 | 192.168.1.84 | Worker节点,数据分布节点 |
…… | Worker节点,数据分布节点 |
安装UXDB
1. 分别在master和worker节点上安装uxdb。
2. 分别给master和worker节点加载license。
3. 分别在master和worker节点上进入uxdb安装目录的dbsql/bin目录下,初始化集群:./initdb -W -D mpptest。
配置uxmpp
1. 修改master和各worker节点上集群的配置文件uxsinodb.conf,打开shared_preload_libraries开关,并添加uxmpp。
2.在master节点上创建.uxpass,并写入worker节点的信息,包括worker节点的IP,worker节点的集群port,搭建mpp的数据库名、用户名、密码(不能省略localhost)。
touch ~/.uxpass
chmod 0600 ~/.uxpass
vi ~/.uxpass
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();
-FIN-