引擎新节点环境准备
衡石内置 Greenplum/Doris 引擎支持多节点部署构建集群方案,本文主要介绍新增引擎计算节点环境准备工作。
- 变量说明
- 本文中使用的 node-1 变量表示为已部署引擎节点 hostname
- 本文中使用的 node-2 变量表示为新增节点 hostname
新节点环境准备工作
节点端口开放说明 新增节点要求与已部署引擎节点默认所有(tcp/udp)端口互为开放 。
增加执行用户,示例中用户名为 hengshi。
bashgrep hengshi /etc/passwd > /dev/null || sudo useradd -m hengshi sudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi
服务端 sshd 监听非22端口。 安装所涉及的机器包括本机以及 HS_ENGINE_SEGMENTS 变量中配置的机器,如有非 ssh 22端口的情况,需要在部署用户 ~/.ssh/config 中配置各个 host 的实际端口。 本机需要配置 localhost 和 hostname 命令返回域名的端口。例如: 本机配置 hostname 为 localhost,并且 HS_ENGINE_SEGMENTS=(Node-A),对应的监听端口都为122。 在.ssh/config 配置文件中需要包含以下配置:
Host localhost Port 122 Host Node-A Port 122
在新机器上配置 ssh 无密码登录。
创建安装路径,实例中安装路径为
/opt/hengshi
。bashsudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi
安装 HENGSHI SENSE。
shsudo su - hengshi #切换到产品运行用户 cd ~/pkgs/hengshi-sense-[version] #切换到解压目标目录 ./hs_install -p /opt/hengshi #执行安装
在 sudo 权限下,初始化 OS。
bashsudo su - hengshi #切换到产品运行用户 cd /opt/hengshi #进入安装目标目录 bin/hengshi-sense-bin init-os all #初始化 os
当查询引擎类型为 greenplum 时,检查新旧环境 greenplum 版本,需要一致 衡石安装目录 lib 下 gpdb 软链接指向当前使用的 greenplum 版本, 检查旧机器和新扩容机器上 gpdb 软链接指向的版本是否一致,如果不一致需要将旧机器上的 greenplum 拷贝到新机器并修改新机器 gpdb 软链接指向旧机器的 greenplum 版本 例如: node1旧机器上
shellhengshi@node1$ cd /opt/hengshi hengshi@node1$ ls lib/gpdb -l lrwxrwxrwx 1 hengshi hengshi 20 Oct 11 23:03 lib/gpdb -> gpdb-6.2.1.1-centos7
node2新机器上
shellhengshi@node2$ cd /opt/hengshi hengshi@node2$ ls lib/gpdb -l lrwxrwxrwx 1 hengshi hengshi 21 Oct 11 23:03 lib/gpdb -> gpdb-6.18.1.1-centos7
此时两个 gpdb 版本不一致
gpdb-6.2.1.1-centos7 != gpdb-6.18.1.1-centos7
因为新机器使用的安装包并不是旧机器环境所用的安装包,需要将旧机器 gpdb 拷贝到新机器并修改新机器 gpdb 软链接shell$ ssh node1 hengshi@node1$ cd /opt/hengshi/lib hengshi@node1$ rsync -avzP gpdb-6.2.1.1-centos7 node2:/opt/hengshi/lib/ hengshi@node1$ ssh node2 "cd /opt/hengshi/lib; rm -f gpdb; ln -s gpdb-6.2.1.1-centos7 gpdb"
当查询引擎类型为 doris 时,检查新旧环境 doris 版本,需要一致 衡石安装目录 lib 下 doris-be、doris-fe 软链接指向当前使用的 Doris 版本, 检查旧机器和新扩容机器上 doris-be、doris-fe 软链接指向的版本是否一致,如果不一致需要将旧机器上的 doris 拷贝到新机器并修改新机器 doris-be、doris-fe 软链接指向旧机器的 Doris 版本 例如: node1旧机器上
shellhengshi@node1$ cd /opt/hengshi hengshi@node1$ ls lib/doris-be -l lrwxrwxrwx 1 hengshi hengshi 20 Oct 11 23:03 doris-be -> doris-be-1.2.1.2-linux-64 hengshi@node1$ ls lib/doris-fe -l lrwxrwxrwx 1 hengshi hengshi 20 Oct 11 23:03 doris-fe -> doris-fe-1.2.1.2-linux-64
node2新机器上
shellhengshi@node2$ cd /opt/hengshi hengshi@node2$ ls lib/doris-be -l lrwxrwxrwx 1 hengshi hengshi 20 Oct 11 23:03 doris-be -> doris-be-1.2.2.2-linux-64 hengshi@node2$ ls lib/doris-fe -l lrwxrwxrwx 1 hengshi hengshi 20 Oct 11 23:03 doris-fe -> doris-fe-1.2.2.2-linux-64
此时两个 doris 版本不一致
doris-be-1.2.1.2-linux-64 != doris-be-1.2.2.2-linux-64
&&doris-fe-1.2.1.2-linux-64 != doris-fe-1.2.2.2-linux-64
因为新机器使用的安装包并不是旧机器环境所用的安装包, 需要将旧机器 doris-fe、doris-be 拷贝到新机器并修改新机器 doris-fe、doris-be 软链接shell$ ssh node1 hengshi@node1$ cd /opt/hengshi/lib hengshi@node1$ rsync -avzP doris-fe-1.2.1.2-linux-64 node2:/opt/hengshi/lib/ hengshi@node1$ rsync -avzP doris-be-1.2.1.2-linux-64 node2:/opt/hengshi/lib/ hengshi@node1$ ssh node2 "cd /opt/hengshi/lib; rm -f doris-fe doris-be; ln -s doris-fe-1.2.1.2-linux-64 doris-fe;ln -s doris-be-1.2.1.2-linux-64 doris-be"