1. 引擎新节点环境准备

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

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

1.1. 新节点环境准备工作

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

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

     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
     sudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi
    
  6. 安装HENGSHI SENSE。
     sudo su - hengshi             #切换到产品运行用户
     cd ~/pkgs/hengshi-sense-[version]           #切换到解压目标目录
     ./hs_install -p /opt/hengshi    #执行安装
    
  7. 在sudo权限下,初始化OS。
     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旧机器上

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

     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软链接

     $ 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旧机器上

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

     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软链接

     $ 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"
    

results matching ""

    No results matching ""

    Greenplum查询引擎升级