Skip to content

引擎新节点环境准备

衡石内置 Greenplum/Doris 引擎支持多节点部署构建集群方案,本文主要介绍新增引擎计算节点环境准备工作。

  • 变量说明
    • 本文中使用的 node-1 变量表示为已部署引擎节点 hostname
    • 本文中使用的 node-2 变量表示为新增节点 hostname

新节点环境准备工作

  1. 节点端口开放说明 新增节点要求与已部署引擎节点默认所有(tcp/udp)端口互为开放 。

  2. 增加执行用户,示例中用户名为 hengshi。

    bash
    grep hengshi /etc/passwd > /dev/null || sudo useradd -m hengshi
    sudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi
  3. 服务端 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
  4. 在新机器上配置 ssh 无密码登录。

  5. 创建安装路径,实例中安装路径为 /opt/hengshi

    bash
    sudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi
  6. 安装 HENGSHI SENSE。

    sh
    sudo su - hengshi             #切换到产品运行用户
    cd ~/pkgs/hengshi-sense-[version]           #切换到解压目标目录
    ./hs_install -p /opt/hengshi    #执行安装
  7. 在 sudo 权限下,初始化 OS。

    bash
    sudo su - hengshi             #切换到产品运行用户
    cd /opt/hengshi                 #进入安装目标目录
    bin/hengshi-sense-bin init-os all  #初始化 os
  8. 当查询引擎类型为 greenplum 时,检查新旧环境 greenplum 版本,需要一致 衡石安装目录 lib 下 gpdb 软链接指向当前使用的 greenplum 版本, 检查旧机器和新扩容机器上 gpdb 软链接指向的版本是否一致,如果不一致需要将旧机器上的 greenplum 拷贝到新机器并修改新机器 gpdb 软链接指向旧机器的 greenplum 版本 例如: node1旧机器上

    shell
    hengshi@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新机器上

    shell
    hengshi@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"
  9. 当查询引擎类型为 doris 时,检查新旧环境 doris 版本,需要一致 衡石安装目录 lib 下 doris-be、doris-fe 软链接指向当前使用的 Doris 版本, 检查旧机器和新扩容机器上 doris-be、doris-fe 软链接指向的版本是否一致,如果不一致需要将旧机器上的 doris 拷贝到新机器并修改新机器 doris-be、doris-fe 软链接指向旧机器的 Doris 版本 例如: node1旧机器上

    shell
    hengshi@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新机器上

    shell
    hengshi@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"

衡石分析平台使用手册