• opengauss主从部署(OM方式,1主2从)


    主库:192.168.1.134
    备库:192.168.1.135
    新增备库:192.168.1.85
    Python:3.6.5
    opengauss:3.0

     

    下面没有特别说明在主备库执行的,默认都是在主库(192.168.1.134)上执行

    1.下载安装包
    https://opengauss.org/zh/download.html
    我这里下载的是:
    openGauss-3.0.0-CentOS-64bit-all.tar.gz

    将下载安装包上传到服务器/soft/opangauss目录下
    [root@localhost opengauss]# ls -1
    openGauss-3.0.0-CentOS-64bit-all.tar.gz

    [root@localhost opengauss]# tar -xvf openGauss-3.0.0-CentOS-64bit-all.tar.gz
    openGauss-3.0.0-CentOS-64bit-cm.tar.gz
    openGauss-3.0.0-CentOS-64bit-om.tar.gz
    openGauss-3.0.0-CentOS-64bit.tar.bz2
    openGauss-3.0.0-CentOS-64bit-cm.sha256
    openGauss-3.0.0-CentOS-64bit-om.sha256
    openGauss-3.0.0-CentOS-64bit.sha256
    upgrade_sql.tar.gz
    upgrade_sql.sha256

    然后解压:openGauss-3.0.0-CentOS-64bit-om.tar.gz
    [root@localhost opengauss]#tar -zxvf openGauss-3.0.0-CentOS-64bit-om.tar.gz
    只需要解压这两个压缩包

     

    2.安装python3.6
    需要在主备库上安装
    注意只能安装3.6.x的版本,低于和高于该版本的都不行,我这里安装的是3.6.5
    编译的时候需要加上–enable-shared方式编译,可以参考链接:
    https://www.cnblogs.com/hxlasky/p/14913936.html

     

    3.安装依赖包
    需要在主备库上安装
    yum install libaio-devel
    yum install flex
    yum install bison
    yum install ncurses-devel
    yum install glibc-devel
    yum install patch
    yum install redhat-lsb-core
    yum install readline-devel
    yum install libnsl
    yum install expect

     

    4.编辑安装配置文件
    在./script/gspylib/etc/conf/cluster_config_template.xml获取XML文件模板.以下配置内容为示例,可自行替换.
    该文件是由openGauss-3.0.0-CentOS-64bit-om.tar.gz解压出来的
    cp /soft/opengauss/script/gspylib/etc/conf/cluster_config_template.xml /tmp/cluster_config_template.xml

    以下是一主一备的配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <ROOT>
        <!-- openGauss整体信息 -->
        <CLUSTER>
            <!-- 数据库名称 -->
            <PARAM name="clusterName" value="Cluster_template" />
            <!-- 数据库节点名称(hostname) -->
            <PARAM name="nodeNames" value="host134,host135" />
            <!-- 数据库安装目录-->
            <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
            <!-- 日志目录-->
            <PARAM name="gaussdbLogPath" value="/opt/huawei/log/omm" />
            <!-- 临时文件目录-->
            <PARAM name="tmpMppdbPath" value="/opt/huawei/tmp"/>
            <!-- 数据库工具目录-->
            <PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
            <!-- 数据库core文件目录-->
            <PARAM name="corePath" value="/opt/huawei/corefile"/>
            <!-- 节点IP,与数据库节点名称列表一一对应 -->
            <PARAM name="backIp1s" value="192.168.1.134,192.168.1.135"/> 
        </CLUSTER>
        <!-- 每台服务器上的节点部署信息 -->
        <DEVICELIST>
            <!-- 节点1上的部署信息 -->
            <DEVICE sn="host134">
                <!-- 节点1的主机名称 -->
                <PARAM name="name" value="host134"/>
                <!-- 节点1所在的AZ及AZ优先级 -->
                <PARAM name="azName" value="AZ1"/>
                <PARAM name="azPriority" value="1"/>
                <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
                <PARAM name="backIp1" value="192.168.1.134"/>
                <PARAM name="sshIp1" value="192.168.1.134"/>
                
            <!--dn-->
                <PARAM name="dataNum" value="1"/>
            <PARAM name="dataPortBase" value="15400"/>
            <PARAM name="dataNode1" value="/opt/huawei/install/data/dn,host135,/opt/huawei/install/data/dn"/>
                <PARAM name="dataNode1_syncNum" value="0"/>
            </DEVICE>
    
            <!-- 节点2上的节点部署信息,其中“name”的值配置为主机名称 -->
            <DEVICE sn="host135">
                <!-- 节点2的主机名称 -->
                <PARAM name="name" value="host135"/>
                <!-- 节点2所在的AZ及AZ优先级 -->
                <PARAM name="azName" value="AZ1"/>
                <PARAM name="azPriority" value="1"/>
                <!-- 节点2的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
                <PARAM name="backIp1" value="192.168.1.135"/>
                <PARAM name="sshIp1" value="192.168.1.135"/>
        </DEVICE>
        </DEVICELIST>
    </ROOT>

     

    6.预安装检查

    [root@host134 opengauss]# /soft/opengauss/script/gs_preinstall -U omm -G dbgrp -X /tmp/cluster_config_template.xml
    Parsing the configuration file.
    Successfully parsed the configuration file.
    Installing the tools on the local node.
    Successfully installed the tools on the local node.
    Are you sure you want to create trust for root (yes/no)?yes
    Please enter password for root
    Password: 
    Successfully created SSH trust for the root permission user.
    Setting host ip env
    Successfully set host ip env.
    Distributing package.
    Begin to distribute package to tool path.
    Successfully distribute package to tool path.
    Begin to distribute package to package path.
    Successfully distribute package to package path.
    Successfully distributed package.
    Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes
    Please enter password for cluster user.
    Password: 
    Please enter password for cluster user again.
    Password: 
    Generate cluster user password files successfully.
    
    Successfully created [omm] user on all nodes.
    Preparing SSH service.
    Successfully prepared SSH service.
    Installing the tools in the cluster.
    Successfully installed the tools in the cluster.
    Checking hostname mapping.
    Successfully checked hostname mapping.
    Creating SSH trust for [omm] user.
    Please enter password for current user[omm].
    Password: 
    Checking network information.
    All nodes in the network are Normal.
    Successfully checked network information.
    Creating SSH trust.
    Creating the local key file.
    Successfully created the local key files.
    Appending local ID to authorized_keys.
    Successfully appended local ID to authorized_keys.
    Updating the known_hosts file.
    Successfully updated the known_hosts file.
    Appending authorized_key on the remote node.
    Successfully appended authorized_key on all remote node.
    Checking common authentication file content.
    Successfully checked common authentication content.
    Distributing SSH trust file to all node.
    Distributing trust keys file to all node successfully.
    Successfully distributed SSH trust file to all node.
    Verifying SSH trust on all hosts.
    Successfully verified SSH trust on all hosts.
    Successfully created SSH trust.
    Successfully created SSH trust for [omm] user.
    Checking OS software.
    Successfully check os software.
    Checking OS version.
    Successfully checked OS version.
    Creating cluster's path.
    Successfully created cluster's path.
    Set and check OS parameter.
    Setting OS parameters.
    Successfully set OS parameters.
    Warning: Installation environment contains some warning messages.
    Please get more details by "/soft/opengauss/script/gs_checkos -i A -h host134,host135 --detail".
    Set and check OS parameter completed.
    Preparing CRON service.
    Successfully prepared CRON service.
    Setting user environmental variables.
    Successfully set user environmental variables.
    Setting the dynamic link library.
    Successfully set the dynamic link library.
    Setting Core file
    Successfully set core path.
    Setting pssh path
    Successfully set pssh path.
    Setting Cgroup.
    Successfully set Cgroup.
    Set ARM Optimization.
    No need to set ARM Optimization.
    Fixing server package owner.
    Setting finish flag.
    Successfully set finish flag.
    Preinstallation succeeded.

     

    7.进行安装

     

    [root@host134 opengauss]# su - omm
    [omm@host134 ~]$ gs_install -X /tmp/cluster_config_template.xml
    数据库密码设置为:Gauss@123456
    [root@host134 opengauss]# su - omm
    Last login: Fri Jul 22 10:15:44 CST 2022
    [omm@host134 ~]$ gs_install -X /tmp/cluster_config_template.xml
    Parsing the configuration file.
    Check preinstall on every node.
    Successfully checked preinstall on every node.
    Creating the backup directory.
    Successfully created the backup directory.
    begin deploy..
    Installing the cluster.
    begin prepare Install Cluster..
    Checking the installation environment on all nodes.
    begin install Cluster..
    Installing applications on all nodes.
    Successfully installed APP.
    begin init Instance..
    encrypt cipher and rand files for database.
    Please enter password for database:
    Please repeat for database:
    begin to create CA cert files
    The sslcert will be generated in /opt/huawei/install/app/share/sslcert/om
    NO cm_server instance, no need to create CA for CM.
    Cluster installation is completed.
    Configuring.
    Deleting instances from all nodes.
    Successfully deleted instances from all nodes.
    Checking node configuration on all nodes.
    Initializing instances on all nodes.
    Updating instance configuration on all nodes.
    Check consistence of memCheck and coresCheck on database nodes.
    Successful check consistence of memCheck and coresCheck on all nodes.
    Configuring pg_hba on all nodes.
    Configuration is completed.
    Successfully started cluster.
    Successfully installed application.
    end deploy..

     

    8.查看数据库状态
    [omm@host134 ~]$ gs_om -t status --detail
    [ Cluster State ]

    cluster_state : Normal
    redistributing : No
    current_az : AZ_ALL

    [ Datanode State ]

    node node_ip port instance state
    ----------------------------------------------------------------------------------------------
    1 host134 192.168.1.134 15400 6001 /opt/huawei/install/data/dn P Primary Normal
    2 host135 192.168.1.135 15400 6002 /opt/huawei/install/data/dn S Standby Normal

     

     

    9.客户端连接配置
    需要在主备库上进行修改配置
    su - omm
    vi /opt/huawei/install/data/dn/pg_hba.conf
    添加如下项:
    host all all 0.0.0.0/0 md5

    修改postgresql.conf
    vi /opt/huawei/install/data/dn/postgresql.conf
    修改如下项:
    listen_addresses = '*' # what IP address(es) to listen on;
    password_encryption_type = 0 #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only
    most_available_sync = on


    重启动主从,在主节点上操作,我这里是在192.168.1.134节点上操作的
    [omm@host134 ~]$ gs_om -t stop
    [omm@host134 dn]$gs_om -t start

     

    10.登陆主库创建数据库和用户
    创建用户
    [omm@host134 ~]$ gsql -d postgres -p 15400
    openGauss=# create user hxl password 'Gauss@123456';
    NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
    CREATE ROLE

    创建数据库,将该数据库的属主修改为刚才新建的用户hxl
    create database db_test with encoding 'utf8' template = template0 owner hxl;

    这样用户hxl就可以通过navicate进行连接了,注意需要先步骤9完成后 才能执行步骤10的,否则客户端navicate也无法连接的.

     

    -----------------------------新增一个节点----------------------------
    新增的节点的环境提前部署安装好
    1.安装python3.6
    注意只能安装3.6.x的版本,低于和高于该版本的都不行,我这里安装的是3.6.5
    编译的时候需要加上–enable-shared方式编译,可以参考链接:
    https://www.cnblogs.com/hxlasky/p/14913936.html

    2.安装依赖包
    yum install libaio-devel
    yum install flex
    yum install bison
    yum install ncurses-devel
    yum install glibc-devel
    yum install patch
    yum install redhat-lsb-core
    yum install readline-devel
    yum install libnsl
    yum install expect


    ----------------主节点上操作---------------------------
    1.修改xml文件,添加新的备库
    该配置文件是参考官方文档的,1主2备的模板进行修改的.
    https://opengauss.org/zh/docs/3.0.0/docs/installation/%E5%88%9B%E5%BB%BAXML%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.html

     

    [omm@host134 tmp]$ more cluster_config_template.xml 
    <?xml version="1.0" encoding="UTF-8"?> 
    <ROOT> 
        <!-- openGauss整体信息 --> 
        <CLUSTER> 
            <PARAM name="clusterName" value="Cluster_template" /> 
            <PARAM name="nodeNames" value="host134,host135,host85" /> 
        
            <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" /> 
            <PARAM name="gaussdbLogPath" value="/opt/huawei/log/omm" /> 
            <PARAM name="tmpMppdbPath" value="/opt/huawei/tmp"/> 
            <PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" /> 
            <PARAM name="corePath" value="/opt/huawei/corefile"/> 
            <PARAM name="backIp1s" value="192.168.1.134,192.168.1.135,192.168.1.85"/> 
         
        </CLUSTER> 
        <!-- 每台服务器上的节点部署信息 --> 
        <DEVICELIST> 
            <!-- node1上的节点部署信息 --> 
            <DEVICE sn="host134"> 
                <PARAM name="name" value="host134"/> 
                <PARAM name="azName" value="AZ1"/> 
                <PARAM name="azPriority" value="1"/> 
                <!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> 
                <PARAM name="backIp1" value="192.168.1.134"/> 
                <PARAM name="sshIp1" value="192.168.1.134"/> 
                <!--CM节点部署信息--> 
                <PARAM name="cmsNum" value="1"/> 
                <PARAM name="cmServerPortBase" value="15000"/> 
                <PARAM name="cmServerListenIp1" value="192.168.1.134,192.168.1.135,192.168.1.85"/> 
                <PARAM name="cmServerHaIp1" value="192.168.1.134,192.168.1.135,192.168.1.85"/> 
                <PARAM name="cmServerlevel" value="1"/> 
                <PARAM name="cmServerRelation" value="host134,host135,host85"/> 
                <PARAM name="cmDir" value="/opt/huawei/data/cmserver"/> 
                <!--dn--> 
                <PARAM name="dataNum" value="1"/> 
                <PARAM name="dataPortBase" value="15400"/> 
                <PARAM name="dataNode1" value="/opt/huawei/install/data/dn,host135,/opt/huawei/install/data/dn,host85,/opt/huawei/install/data/dn"/> 
                <PARAM name="dataNode1_syncNum" value="0"/> 
            </DEVICE> 
     
            <!-- node2上的节点部署信息,其中“name”的值配置为主机名称 --> 
            <DEVICE sn="host135"> 
                <PARAM name="name" value="host135"/> 
                <PARAM name="azName" value="AZ1"/> 
                <PARAM name="azPriority" value="1"/> 
                <!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> 
                <PARAM name="backIp1" value="192.168.1.135"/> 
                <PARAM name="sshIp1" value="192.168.1.135"/> 
                <!-- cm --> 
                <PARAM name="cmServerPortStandby" value="15000"/> 
                <PARAM name="cmDir" value="/opt/huawei/data/cmserver"/> 
            </DEVICE> 
     
            <!-- node3上的节点部署信息,其中“name”的值配置为主机名称 --> 
            <DEVICE sn="host85"> 
                <PARAM name="name" value="host85"/> 
                <PARAM name="azName" value="AZ1"/> 
                <PARAM name="azPriority" value="1"/> 
                <!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> 
                <PARAM name="backIp1" value="192.168.1.85"/> 
                <PARAM name="sshIp1" value="192.168.1.85"/> 
                <!-- cm --> 
                <PARAM name="cmServerPortStandby" value="15000"/> 
                <PARAM name="cmDir" value="/opt/huawei/data/cmserver"/> 
            </DEVICE> 
        </DEVICELIST> 
    </ROOT>

     

    2.手工创建用户
    在新增的节点机器上执行,192.168.1.85
    groupadd dbgrp -g 2000
    useradd omm -g 2000 -u 1009
    echo "oracle" | passwd --stdin omm

     

    3.修改hosts文件
    将新加的备库配置到hosts文件中,然后将该文件传到新增备库(192.168.1.85),覆盖即可,每个节点保持一致
    192.168.1.134 host134 #Gauss OM IP Hosts Mapping
    192.168.1.135 host135 #Gauss OM IP Hosts Mapping
    192.168.1.85 host85

     

    4.建立主库与新增节点的互信
    原来的主从节点192.168.1.134与192.168.1.135已经在安装的时候,OM自动创建了互信,我这里是将其删除后,重新配置3个节点之间的互信的.
    root和omm用户都要添加互信
    参考:
    https://www.cnblogs.com/hxlasky/p/12204180.html


    5.执行扩容
    在主节点192.168.1.134上的root账号执行
    [root@host134 script]# ./gs_expansion -U omm -G dbgrp -X /tmp/cluster_config_template.xml -h 192.168.1.85

     

    说明:

    扩容完成后系统会自动将OMM账号的环境变量添加如下项

    export GAUSS_ENV=2

    若要重新安装可以将该环境变量去掉

  • 相关阅读:
    10款面向HTML5 画布(Canvas)的JavaScript库
    lufylegend库 LGraphics扭曲图片
    lufylegend库 LGraphics绘制图片
    lufylegend库 LGraphics
    lufylegend库 LBitmapData LBitmap LSprite
    Web骇客网;外刊IT评论
    HTML5画布(CANVAS)速查简表
    Canvas 画板
    Canvas 阴影效果
    Canvas 图片灰度
  • 原文地址:https://www.cnblogs.com/hxlasky/p/16506238.html
Copyright © 2020-2023  润新知