openEuler 20.03 TLS编译openGauss2.0.0源码
- 一、安装环境
- 二、安装前准备
- 二、安装步骤
一、安装环境
项目 | Value |
---|---|
操作系统 | openEuler 20.03 64bit with ARM |
openGauss | 2.0.0 |
openGauss-third_party | 2.0.0 |
二、安装前准备
项目 | Value |
---|---|
购买华为ECS | 鲲鹏 8vCPU32G 100M/s带宽 openEuler 20.03 64bit with ARM |
二、安装步骤
以下操作需要在root用户下执行
-
设置字符集参数
cat >>/etc/profile<<EOF export LANG=en_US.UTF-8 EOF
输入如下命令,使修改生效。
source /etc/profile
-
修改python版本并安装libaio包
之前安装过程中openGauss用户互信,openEuler服务器需要用到Python-3.7.x命令,但是默认Python版本为Python-2.7.x,所以需要切换Python版本。cd /usr/bin mv /usr/bin/python /usr/bin/python.bak ln -s python3 /usr/bin/python python -V yum install libaio* -y
-
创建openGauss数据库的安装用户omm及其属组dbgrp
groupadd -g 1000 dbgrp useradd -g dbgrp -u 1000 -d /home/omm omm
修改omm用户密码:
passwd omm #回车,输入用户密码
-
创建openGauss源码存放及openGauss安装路径
mkdir /sda mkdir -p /sda/openGauss/data
-
安装git
需要先修改yum:vim /etc/yum.repos.d/openEuler.repo
,将gpgcheck=1全部改成gpgcheck=0
在执行如下命令使得yum的修改生效:yum clean all yum makecache yum update --allowerasing --skip-broken --nobest -y
最后执行安装git的命令,如下:
yum install git -y
-
下载openGauss源码和openGauss-third_party_binarylibs第三方库,进入到/sda目录下 ,下载openGauss2.0.0 源码和下载openGauss-third_party_binarylibs-2.0.0,由于开源软件编译构建耗时长,我们特地使用openGauss-third_party编译构建出了一份binarylibs并压缩上传到了网上,用户可以直接下载获取。下载比较慢,请稍等几分钟
cd /sda git clone https://gitee.com/opengauss/openGauss-server.git openGauss-server -b 2.0.0 wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/openGauss-third_party_binarylibs.tar.gz # 下载完毕后请解压,重命名文件夹为 binarylibs tar -zvxf openGauss-third_party_binarylibs.tar.gz mv openGauss-third_party_binarylibs binarylibs
至此,/sda目录下已经有了openGauss和第三方库,如下所示:
ls -l # 结果如下 drwxr-xr-x 7 root root 4.0K Mar 20 2022 binarylibs drwxr-xr-x 10 root root 4.0K Jun 5 19:52 openGauss drwxr-xr-x 12 root root 4.0K Jun 5 19:52 openGauss-server -rwxr-xr-x 1 root root 2.6G Mar 20 2022 openGauss-third_party_binarylibs.tar.gz
-
安装编译openGauss-server所需要的第三方依赖库,具体如下所示:
yum install -y libaio-devel ncurses-devel pam-devel libffi-devel libtool libtool-devel libtool-ltdl openssl-devel bison golang dkms-2.6.1-5.oe1.noarch python3-devel patch autoconf readline-devel gcc-c++ libstdc++-devel automake texinfo indent byacc cmake diffutils help2man gettext-devel
具体可以参考如下表格所示:
-
手动安装flex
下载flex安装包,点击下载:flex-2.5.39.tar.bz2
上传flex-2.5.39.tar.bz2安装到/root目录下,并解压配置安装:tar -xvf flex-2.5.39.tar.bz2
进入flex-2.5.39目录下,执行:./autogen.sh ./configure make&make install
然后,将flex-2.5.39目录下的flex脚本复制到/usr/bin目录下,执行:
cp /root/flex-2.5.39/flex /usr/bin/flex
最后,执行flex命令查看版本号:
[root@sjmopengauss02 flex-2.5.39]# flex --version flex 2.5.39
-
手动安装lsb_release
下载openeuler-lsb-5.0-1.oe2203.src.rpm包并上传到/root目录下
执行:rpm -ihv openeuler-lsb-5.0-1.oe2203.src.rpm
,该命令执行完成后,会在当前目录下生成rpmbuild目录,执行:/root/rpmbuild/SOURCES
,进入rpmbuild目录会看到openeuler-lsb-5.0.tar.bz2
,将其解压缩,执行:tar -xvf openeuler-lsb-5.0.tar.bz2
,进入解压后的目录openeuler-lsb-5.0,将其中的lsb_release
复制到/usr/bin
目录下,具体命令如下:rpm -ihv openeuler-lsb-5.0-1.oe2203.src.rpm cd /root/rpmbuild/SOURCES tar -xvf openeuler-lsb-5.0.tar.bz2 cd openeuler-lsb-5.0 cp lsb_release /usr/bin/lsb_release
验证lsb_release是否已经安装成功,执行:
[root@sjmopengauss02 ~]# lsb_release -a LSB Version: n/a Distributor ID: openEuler Description: openEuler release 20.03 (LTS) Release: 20.03 Codename: LTS [root@sjmopengauss02 ~]#
-
【
以root用户登录ECS
】配置环境变量,编辑/etc/profile
文件,在该文件末尾添加如下所示内容:#add export CODE_BASE=/sda/openGauss-server # openGauss-server的路径 export BINARYLIBS=/sda/binarylibs # binarylibs的路径 export GAUSSHOME=$CODE_BASE/openGauss/ export GCC_PATH=$BINARYLIBS/buildtools/openeuler_aarch64/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
环境变量生效,执行:
source /etc/profile
-
修改openGauss源代码所在目录及其子目录的用户及其用户组以及权限,执行:
chown omm:dbgrp -R /sda chmod 755 -R /sda
【以下是在omm
用户下操作】
-
【
以omm用户登录ECS
】配置环境变量,编辑~/.bash_profile
文件,在该文件末尾添加如下所示内容:# GaussDB Code- export GAUSSHOME=/sda/openGauss #the path for openGauss export PGDATA=$GAUSSHOME/data #the path for data export BINARY_PATH=/sda/binarylibs #the path for binarylibs # GCC 7.3 compiler path export GCC_PATH=$BINARY_PATH/buildtools/openeuler_aarch64/gcc7.3 export CC=$GCC_PATH/gcc/bin/gcc export CXX=$GCC_PATH/gcc/bin/g++ export LD_LIBRARY_PATH=$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=$GCC_PATH/bin:$PATH # Gauss DB install path export PATH=$GAUSSHOME/bin:$PATH export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH export GAUSS_WARNING_TYPE=2 export GS_CLUSTER_NAME=single
环境变量生效,执行:
source ~/.bash_profile
-
【配置openGauss源码】进入/sda/openGauss-server目录下,选择版本进行configure。我们这里选择debuge版本,执行如下代码:
./configure --gcc-version=7.3.0 --prefix=$GAUSSHOME CFLAGS="-O0 -D__USE_NUMA -D__ARM_LSE" --enable-debug --without-readline --without-zlib --enable-cassert --enable-thread-safety CC=g++ --3rd=$BINARY_PATH --with-python
-
【编译并安装openGauss】当前一步骤执行成功后,在/sda/openGauss-server目录下执行:
编译openGauss:make -sj8
安装openGauss
make install
-
【初始化openGauss数据库】当安装openGauss成功后,需对其进行数据初始化, 在初始化数据库时,需要设置数据库密码,并且要使用复杂密码,如下命令。
gs_initdb -D $PGDATA --nodename=hostname --locale="en_US.UTF-8" -Atrust -w {password}
,具体执行如下命令:gs_initdb -D $PGDATA --nodename=opengauss01 --locale="en_US.UTF-8" -Atrust -w 'Huawei#!13'
-
【启动数据库】
gs_ctl start -D /opt/software/openGauss/data -Z single_node -l logfile
-
【登录数据库】
gsql -d postgres -p 5432 -r
-
创建数据库db01,执行:
create database db01;
-
退出数据库,执行:
\q