diff --git "a/content/zh/post/cchen676/openGauss_\350\265\204\346\272\220\346\261\240\345\214\226\345\274\200\345\217\221\350\200\205\345\205\245\351\227\250\346\214\207\345\215\227(\344\272\214).md" "b/content/zh/post/cchen676/openGauss_\350\265\204\346\272\220\346\261\240\345\214\226\345\274\200\345\217\221\350\200\205\345\205\245\351\227\250\346\214\207\345\215\227(\344\272\214).md" index de63b09f9f92a9edb48d9e0a66623bd6d0edd019..1264d40066b44aca0ee99a179a0cf7e2a7ce822b 100644 --- "a/content/zh/post/cchen676/openGauss_\350\265\204\346\272\220\346\261\240\345\214\226\345\274\200\345\217\221\350\200\205\345\205\245\351\227\250\346\214\207\345\215\227(\344\272\214).md" +++ "b/content/zh/post/cchen676/openGauss_\350\265\204\346\272\220\346\261\240\345\214\226\345\274\200\345\217\221\350\200\205\345\205\245\351\227\250\346\214\207\345\215\227(\344\272\214).md" @@ -42,22 +42,18 @@ openGauss资源池化是openGauss推出的一种新型的集群架构.通过DMS **注意:** - 以下请勿用于生产环境 - 必须是debug版本,不能用release版本 - - 三方库版本可能不是最新,此时需要手动更新DMS组件。方法为 a.下载最新版本CBB代码,编译安装替换三方库中的CBB; b.下载最新版本的DMS代码,并根据src/gausskernel/ddes/ddes_commit_id内的版本号,回退DMS至指定版本; c.编译安装替换三方库中的DMS组件 - - 不管三方库版本是否为最新版本,都需要对DSS组件进行3中的操作 - - 当编译完DSS、DMS、CBB之后,会自动更新到三方库,只需要按正常流程编译数据库就行了 - 1. 环境预备: 仅需要一台单独的物理机, 剩余磁盘空间最好足够大, 建议大于2T, 不低于1T - 2. 环境预备: 假设已经自行使用编译方式编译出了openGauss带资源池化代码的debug版本的安装包, 可以通过确认生成的bin目录下是否有dssserver, dsscmd, lib目录下是否有libdms.so, libdssapi.so , libdssaio.so, 来判断,同时要保证已经编译出的安装包使用的是Dsstest方式的DSS组件 - 3. 环境准备: 因为本博客介绍的安装方式为非cm安装,需要对DSS组件使用Dsstest方式进行编译,因此在编译数据库之前,需要下载DSS对应代码并自行采用dsstest方式对DSS进行编译,编译代码如下所示,编译脚本文件路径为/xxx/.../DSS/build/linux/opengauss/build.sh,具体如何编译可以查看对应README文件 - - 下载最新版本的DMS代码,下载链接为 https://gitee.com/opengauss/DSS - - 据src/gausskernel/ddes/ddes_commit_id内的版本号,回退DSS至指定版本 - - -3rd后面跟三方库对应的绝对路径 + - 因为本博客介绍的安装方式为非cm安装,需要对DSS组件使用Dsstest方式进行编译,因此在编译数据库之前,需要下载DSS对应代码并自行采用dsstest方式对DSS进行编译。方法为 a.下载最新版本CBB代码,编译安装替换三方库中的CBB; b.下载最新版本的DSS代码,并根据src/gausskernel/ddes/ddes_commit_id内的版本号,回退DSS至指定版本; c.编译安装替换三方库中的DSS组件,命令如下: ```shell +#-3rd后面跟三方库对应的绝对路径 sh build.sh -3rd /xxx/.../binarylibs -t cmake -m DebugDsstest ``` + - 三方库版本可能不是最新,此时需要手动更新DMS组件。方法为 a.下载最新版本CBB代码,编译安装替换三方库中的CBB(上条操作已经执行过); b.下载最新版本的DMS代码,并根据src/gausskernel/ddes/ddes_commit_id内的版本号,回退DMS至指定版本; c.编译安装替换三方库中的DMS组件 + - 当编译完DSS、DMS、CBB之后,会自动更新到三方库,不需要手动拷贝,只需要按正常流程编译数据库就行了 + 1. 环境预备: 仅需要一台单独的物理机, 剩余磁盘空间最好足够大, 建议大于2T, 如果没有太大业务量,最小大于等于100G + 2. 环境预备: 假设已经自行使用编译方式编译出了openGauss带资源池化代码的debug版本的安装包, 可以通过确认生成的bin目录下是否有dssserver, dsscmd, lib目录下是否有libdms.so, libdssapi.so , libdssaio.so, 来判断,同时要保证已经编译出的安装包使用的是Dsstest方式的DSS组件 下面是以2个节点为例 - - 4. 配置好环境变量/home/cctest/envfile, 参考示例, 其中DSS_HOME是dn实例1的dssserver运行时需要的目录, 需要手动新建 + 3. 配置好环境变量/home/cctest/envfile, 参考示例, 其中DSS_HOME是dn实例1的dssserver运行时需要的目录, 需要手动新建 ```shell export GAUSSHOME=/home/test/openGauss-server/dest/ @@ -65,8 +61,8 @@ export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH export PATH=$GAUSSHOME/bin:$PATH export DSS_HOME=/home/test/dss/dss0/dssdba ``` - 5. 需要注意的是一台服务器上建多个dn(数据库)节点, ip是相同的, 服务使用的端口号不同 - 6. 新建dsssever需要的目录: + 4. 需要注意的是一台服务器上建多个dn(数据库)节点, ip是相同的, 服务使用的端口号不同 + 5. 新建dsssever需要的目录: ```shell cd /home/test mkdir -p dss/dss0/dssdba/cfg @@ -75,12 +71,12 @@ export DSS_HOME=/home/test/dss/dss0/dssdba mkdir -p dss/dss1/dssdba/log mkdir -p dss/dev ``` - 7. 用dd命令创建一个模拟的块设备文件(执行时间依赖于磁盘的性能), 下面的命令是建2T的命令 + 6. 用dd命令创建一个模拟的块设备文件(执行时间依赖于磁盘的性能), 下面的命令是建2T的命令 - 请不要直接拷贝, 请务必根据自己需要的大小自己调整下bs和count的值, 否则磁盘会爆 ```shell dd if=/dev/zero of=/home/test/dss/dev/dss-dba bs=2M count=1024000 >/dev/null 2>&1 ``` - 8. 创建2个dn节点需要的dss实例1和dss实例0的配置: + 7. 创建2个dn节点需要的dss实例1和dss实例0的配置: 实例1配置: ```shell @@ -90,7 +86,7 @@ export DSS_HOME=/home/test/dss/dss0/dssdba ```shell INST_ID=0 _LOG_LEVEL=255 - DSS_NODES_LIST=0:127.0.0.1:17102, 1:127.0.0.1:18102 + DSS_NODES_LIST=0:127.0.0.1:17102,1:127.0.0.1:18102 DISK_LOCK_FILE_PATH=/home/test/dss/dss0 LSNR_PATH=/home/test/dss/dss0 _LOG_MAX_FILE_SIZE=20M @@ -114,7 +110,7 @@ export DSS_HOME=/home/test/dss/dss0/dssdba ```shell INST_ID=1 _LOG_LEVEL=255 - DSS_NODES_LIST=0:127.0.0.1:17102, 1:127.0.0.1:18102 + DSS_NODES_LIST=0:127.0.0.1:17102,1:127.0.0.1:18102 DISK_LOCK_FILE_PATH=/home/test/dss/dss0 LSNR_PATH=/home/test/dss/dss1 _LOG_MAX_FILE_SIZE=20M @@ -130,7 +126,7 @@ export DSS_HOME=/home/test/dss/dss0/dssdba data:/home/test/dss/dev/dss-dba ``` - 9. 建dssserver需要的卷, 起dssserver + 8. 建dssserver需要的卷, 起dssserver ```shell ##这里是步骤3中配好的环境变量 @@ -147,7 +143,7 @@ export DSS_HOME=/home/test/dss/dss0/dssdba ``` - 注意: dss不支持启动后修改卷组配置,如涉及修改请重新执行上述步骤 - 10. 手动执行多节点的initdb + 9. 手动执行多节点的initdb ```shell mkdir -p /home/test/data @@ -184,13 +180,13 @@ ss_log_max_file_size = 1GB sed '91 ahost all all 0.0.0.0/0 sha256' -i /home/test/data/node2/postgresql.conf ``` - 11. 依次启动节点1和节点2 + 10. 依次启动节点1和节点2 ```shell gs_ctrl start -D /home/test/data/node1 gs_ctrl start -D /home/test/data/node2 ``` - 12. 部分补充说明: + 11. 部分补充说明: - ss_log_level参数用于控制日志中打印DMS和DSS相关的日志, 日志目录在pg_log/DMS里面 - 17102和18102是dssserver要用的端口