前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >抢鲜体验:openGauss 安装编译过程要点及问题解决

抢鲜体验:openGauss 安装编译过程要点及问题解决

作者头像
数据和云
发布2020-07-08 14:24:05
1.2K0
发布2020-07-08 14:24:05
举报
文章被收录于专栏:数据和云数据和云

墨墨导读:OpenGauss1.0.0基于PostgreSQL9.2.4,支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持一主多备,目前支持最多4备。

OpenGauss支持单机或者主备两种部署方式,下面分享在Centos7.6安装过程中遇到的几个问题。

系统环境要求

软硬件环境要求(https://opengauss.org/zh/docs/1.0.0/docs/installation.html)

参考官网使用centos7.6,centos只能是这个版本。

单机虚拟机功能测试最小内存2G。

SSL问题

Centos7.6自带的openssl版本比较低,需要安装openssl-1.1.1

代码语言:javascript
复制
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/opt/openssl shared zlib
make -j 4
make -j 4 install

openssl依赖perl,如果没有安装,需要提前安装perl5,参考如下

代码语言:javascript
复制
tar -xzf perl-5.30.2.tar.gz
cd perl-5.30.2
./Configure -des -Dprefix=/opt/perl
make -j 4
make -j 4 test
make -j 4 instal

Python问题

OpenGauss在Centos7.6安装依赖Python3.6.X,测试过Python3.6.8和Python3.6.10都是可以的。

yum和部分依赖python2需要在安装完Python3,修改python引用版本,如下:

代码语言:javascript
复制
vi /usr/bin/yum
第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"

vi /usr/libexec/urlgrabber-ext-down
第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"

源码编译完Python3后需要建立符号链接

代码语言:javascript
复制
ln -sf /opt/python3/bin/python3 /usr/bin/python

编译完Python后,修改Modules/Setup文件,修改SSL路径,如下

代码语言:javascript
复制
_socket socketmodule.c
SSL=/opt/openssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

注意:因为源码安装openssl时没有使用默认路径,自定义安装在/opt/openssl目录下,所以需要需改。

3.6以上版本可以直接通过编译参数指定ssl路径,3.6需要手工修改。

下面是编译安装完整过程

代码语言:javascript
复制
tar -zxvf Python-3.6.10.tgz

cd Python-3.6.10

./configure --prefix=/opt/python3 \
--enable-shared \
--enable-optimizations

make -j 4

make -j 4 install

cp /opt/python3/lib/libpython3.6m.so.1.0 /usr/lib64

导入测试ssl

代码语言:javascript
复制
/opt/python3/bin/python3
>>> import ssl
>>> import _ssl

上面两个import不报错则正常。

初始化问题

比较常见的问题是SSH互信问题,单机初始化可以不需要配置SSH互信 单机环境可以使用下面的两个参数

  • 使用-L选项本地安装
  • 使用–non-interactive非交换模式
代码语言:javascript
复制
./gs_preinstall -U omm -G dbgrp -L \
-X /opt/software/openGauss/clusterconfig.xml \
--non-interactive

/opt/software/openGauss/clusterconfig.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <CLUSTER>
        <PARAM name="clusterName" value="dbCluster" />
        <PARAM name="nodeNames" value="opengauss" />
        <PARAM name="backIp1s" value="127.0.0.1"/>
        <PARAM name="gaussdbAppPath" value="/opt/gaussdb/app" />
        <PARAM name="gaussdbLogPath" value="/var/log/gaussdb" />
        <PARAM name="gaussdbToolPath" value="/opt/huawei/wisequery" />
        <PARAM name="corePath" value="/opt/opengauss/corefile"/>
        <PARAM name="clusterType" value="single-inst"/>
    </CLUSTER>
    <DEVICELIST>
        <DEVICE sn="1000001">
            <PARAM name="name" value="opengauss"/>
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <PARAM name="backIp1" value="127.0.0.1"/>
            <PARAM name="sshIp1" value="127.0.0.1"/>
        <!--dbnode-->
        <PARAM name="dataNum" value="1"/>
        <PARAM name="dataPortBase" value="26000"/>
        <PARAM name="dataNode1" value="/gaussdb/data/db1"/>
        </DEVICE>
    </DEVICELIST>
</ROOT>

手工建立SSH互信(主备安装需要配置) root用户

代码语言:javascript
复制
# ssh-keygen -t rsa
# ssh-copy-id -i .ssh/id_rsa.pub root@opengauss
# ssh-copy-id -i .ssh/id_rsa.pub root@opengauss2

omm用户

代码语言:javascript
复制
# su - omm
$ ssh-keygen -t rsa
$ ssh-copy-id -i .ssh/id_rsa.pub omm@opengauss
$ ssh-copy-id -i .ssh/id_rsa.pub omm@opengauss2

配置数据库参数

默认参数配置的内存较大,使用虚拟机测试时需要调小内存参数

代码语言:javascript
复制
gs_install \
-X /opt/software/openGauss/clusterconfig.xml \
-l /home/omm/gs_install.log \
--gsinit-parameter="--encoding=UTF8" \
--dn-guc="max_connections=10" \
--dn-guc="max_process_memory=2GB" \
--dn-guc="shared_buffers=128MB" \
--dn-guc="bulk_write_ring_size=128MB" \
--dn-guc="cstore_buffers=16MB" \
--autostart=yes

数据库密码加密算法配置

默认加密算法是sha256,如果要兼容使用psql 可以修改为md5,对应password_encryption_type参数

远程访问

默认的omm超级用户不允许远程访问,需要新建用户,同时配置pg_hba防火墙,或者通过gs_guc设置

墨天轮原文链接:https://www.modb.pro/db/27006(复制到浏览器中打开或者点击“阅读原文”)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据和云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统环境要求
  • SSL问题
  • Python问题
  • 初始化问题
  • 配置数据库参数
  • 数据库密码加密算法配置
  • 远程访问
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档