【我和openGauss的故事】编译安装openGauss 5.0.0

编译安装openGuass 5.0.0

1. 环境检查

1.1 检查OS版本
  
  
  
openGauss支持的操作系统:

CentOS 7.6(x86 架构)
openEuler-20.03-LTS(aarch64 架构)
openEuler-20.03-LTS(x86 架构)
Kylin-V10(aarch64 架构)
  
  
  
[root@og3 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
1.2 修改主机名及/etc/hosts
  
  
  
hostnamectl set-hostname og
cat>>/etc/hosts<<EOF
192.168.137.129 og
EOF

1.3. 检查防火墙和selinux
在RHEL 7中,防火墙firewalld取代了iptables

  
  
  
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl is-enabled firewalld
/bin/sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
cat /etc/selinux/config|grep SELINUX=
setenforce 0
1.4 配置yum源并安装依赖包

上传操作系统iso到/soft目录

  
  
  
[root@og3 ~]# mkdir -p /soft
[root@og3 ~]# cd /soft
[root@og3 soft]# ls -ltr
total 4481024
-rw-r--r--. 1 root root 4588568576 Apr 8 2019 CentOS-7-x86_64-DVD-1810.iso
  
  
  
cd /soft
mv CentOS-7-x86_64-DVD-1810.iso yum.iso
mount -o loop /soft/yum.iso /mnt
mkdir -p /etc/yum.repos.d/bak/
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
cat>>/etc/yum.repos.d/rhel-source.repo <<EOF
[rhel-oracle-lib]
name=oracle
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
yum clean all
yum makecache
yum list

yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb readline-devel unzip dos2unix vim git wget lrzsz net-tools bzip2 gcc tree zlib*
1.5 设置字符集参数
  
  
  
cat>>/etc/profile<<EOF
export LANG=zh_CN.UTF-8
EOF
1.6 设置时区和时间
  
  
  
[root@og ~]# timedatectl set-timezone Asia/Shanghai
[root@og ~]# timedatectl status

使用date -s命令将各主机的时间设置为统一时间,举例如下。

date -s "Sat Sep 27 16:00:07 CST 2020"
1.7 关闭HISTORY记录(测试环境可选)
  
  
  
cat>>/etc/profile<<EOF
HISTSIZE=0
EOF
2、安装Python3官方 建议安装Python3.6
  
  
  
cd /soft/
wget -c https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
mkdir -p /usr/local/python3.6.5
tar -zxvf Python-3.6.5.tgz
cd Python-3.6.5
./configure --prefix=/usr/local/python3.6.5 --enable-shared CFLAGS=-fPIC && make && make install
rm -f /usr/bin/python
ln -s /usr/local/python3.6.5/bin/python3 /usr/bin/python
ln -s /usr/local/python3.6.5/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.6.5/bin/pip3 /usr/bin/pip3

cp /usr/local/python3.6.5/lib/libpython3.6m.so.1.0 /usr/lib64/
python -V

3. 下载软件包

  
  
  
cd /soft/
git clone https://gitee.com/opengauss/openGauss-server.git openGauss-server -b 5.0.0
git clone https://gitee.com/opengauss/openGauss-OM.git -b 5.0.0
wget -c https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz

4. 一键式脚本编译安装

4.1 openGauss-server编译
  
  
  
tar -xf openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
mv openGauss-third_party_binarylibs_Centos7.6_x86_64 binarylibs
cd openGauss-server/
sh build.sh -m debug -3rd /soft/binarylibs -pkg

显示如下内容,表示编译成功。

  
  
  
success!

生成的安装包会存放在./output目录下。
编译和打包日志为:./build/script/makemppdb_pkg.log。

4.2 openGauss-OM编译
  
  
  
cd /soft/openGauss-OM
chmod +x build.sh
export BINARYLIBS_PATH=/soft/binarylibs (这里填写前面的第三方软件包解压后的目录)
./build.sh -3rd $BINARYLIBS_PATH

显示以下内容,表示 Gauss-OM编译成功:

  
  
  
ROOT_DIR: /soft/binarylibs
Everything is ready.
success!
4.3 程序下载及解压
  
  
  
mkdir -p /opt/software/openGauss
mv /soft/openGauss-server/output/* /opt/software/openGauss/
mv /soft/openGauss-OM/package/* /opt/software/openGauss/
chmod 755 -R /opt/software
cd /opt/software/openGauss/

tar -jxf openGauss-5.0.0-CentOS-64bit.tar.bz2
tar -xf openGauss-5.0.0-CentOS-64bit-om.tar.gz
4.4 创建用户
  
  
  
groupadd dbgrp
useradd omm -g dbgrp
echo "Root_1234"|passwd --stdin omm
4.5 生成配置文件
  
  
  
cat >> /opt/software/openGauss/cluster_config.xml <<-EOF
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="dbCluster" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="`hostname`" />
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/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="`cat /etc/hosts|grep \`hostname\`|awk '{print $1}'|head -1`"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的部署信息 -->
<DEVICE sn="node1_hostname">
<!-- 节点1的主机名称 -->
<PARAM name="name" value="`hostname`"/>
<!-- 节点1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="`cat /etc/hosts|grep \`hostname\`|awk '{print $1}'|head -1`"/>
<PARAM name="sshIp1" value="`cat /etc/hosts|grep \`hostname\`|awk '{print $1}'|head -1`"/>

<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
EOF

4.6 初始化安装环境
  
  
  
/opt/software/openGauss/script/gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml

4.7 执行安装

  
  
  
su - omm
gs_install -X /opt/software/openGauss/cluster_config.xml
4.8 检查数据库状态
  
  
  
[root@og openGauss]# su - omm
Last login: Mon May 9 19:28:07 CST 2022 on pts/1

[omm@og ~]$ gs_om -t status


执行如下命令检查数据库状态是否正常,“cluster_state ”显示“Normal”表示数据库可正常使用。


[omm@og ~]$ gsql -p 15400 -d postgres
gsql ((openGauss 5.0.0 build 2e619658) compiled at 2023-07-14 01:21:30 commit 0 last mr debug)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+-----------+---------+-------+-------------------
postgres | omm | SQL_ASCII | C | C |
template0 | omm | SQL_ASCII | C | C | =c/omm +
| | | | | omm=CTc/omm
template1 | omm | SQL_ASCII | C | C | =c/omm +
| | | | | omm=CTc/omm
(3 rows)

openGauss=#

5. 手工编译安装

5.1 执行如下命令进入到软件代码目录
  
  
  
cd /soft/openGauss-server
5.2 配置环境变量
  
  
  
export CODE_BASE=/soft/openGauss-server # openGauss-server的路径
export BINARYLIBS=/soft/binarylibs # binarylibs的路径
export GAUSSHOME=$CODE_BASE/dest/
export GCC_PATH=$BINARYLIBS/buildtools/gcc7.3/
export CC=$GCC_PATH/gcc/bin/gcc
export CXX=$GCC_PATH/gcc/bin/g++
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH
5.3 选择版本进行configure
  
  
  
./configure --gcc-version=7.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
5.4 执行如下命令,编译安装
  
  
  
make && make install

note:
openGauss InstallationGuide complete.
1, 编译后软件安装路径为:$GAUSSHOME
2. 编译后的二进制放置路径为:$GAUSSHOME/bin

5.5 编译后验证
  
  
  
### 1. 使用root用户,创建用户omm
groupadd dbgrp
useradd omm -g dbgrp
echo "Root_1234"|passwd --stdin omm

#
## 2. 使用omm用户,在~/.bashrc中增加以下环境变量
cat>>/home/omm/.bashrc<<EOF
export GAUSSHOME=/soft/openGauss-server/dest/ ##编译结果的路径,可根据实际情况修改
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$PATH
EOF

#
## 3. 建立数据目录和日志目录
su - omm -c "mkdir ~/data"
su - omm -c "mkdir ~/log"
chown -R omm:dbgrp /soft/openGauss-server

#
## 4. 数据库初始化
su - omm
gs_initdb -D /home/omm/data --nodename=db1

#
## 5. 启动数据库
gs_ctl start -D /home/omm/data -Z single_node -l /home/omm/log/opengauss.log

[omm@og ~]$ gsql -d postgres

ALTER ROLE "omm" PASSWORD 'Root_1234';
openGauss=# \l

6. 参考文档

  
  
  
https://docs.opengauss.org/zh/docs/5.0.0/docs/CompilationGuide/%E7%89%88%E6%9C%AC%E7%BC%96%E8%AF%91.html

本文分享自微信公众号 - openGauss(openGauss)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
OpenGauss 5.0.0是一个开源的关系型数据库管理系统,下面是集群部署的步骤: 1. 准备环境:确保所有参与集群的服务器都满足最低配置要求,并且安装了适当的操作系统和依赖项。 2. 下载并安装OpenGauss:从官方网站下载OpenGauss 5.0.0的安装包,并按照安装指南进行安装。 3. 配置OpenGauss集群:在任意一台服务器上执行集群初始化命令,例如: ``` gsql -d postgres -p 5432 -c "gaussdb -D $GAUSSHOME/data" ``` 4. 创建集群用户:使用创建集群命令创建集群用户,并设置密码: ``` gsql -d postgres -p 5432 -c "create user myuser with password 'mypass'" ``` 5. 配置集群参数:根据实际需求,修改数据库的配置文件,在OpenGauss 5.0.0中,配置文件为postgresql.conf。 6. 启动集群:在所有服务器上启动OpenGauss集群服务: ``` gs_ctl start -D $GAUSSHOME/data -M primary ``` 7. 验证集群状态:使用集群账户登录集群,并执行一些SQL语句来验证集群是否正常运行: ``` gsql -d postgres -p 5432 -U myuser -W ``` 8. 添加额外节点(可选):如果需要添加更多的节点到现有的集群中,可以执行“扩展集群”操作,具体操作步骤可以参考OpenGauss的官方文档。 9. 配置和管理集群:为了更好地管理和监控集群,可以使用OpenGauss提供的工具,如pgAdmin等。 通过以上步骤,就能成功部署一个OpenGauss 5.0.0的集群。在实际部署过程中,还需要根据实际需求和环境做适当的调整和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

openGauss社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值