網(wǎng)站建設(shè)的行業(yè)分析整合營銷公司排名
📢📢📢📣📣📣
哈嘍!大家好,我是【IT邦德】,江湖人稱jeames007,10余年DBA及大數(shù)據(jù)工作經(jīng)驗
一位上進心十足的【大數(shù)據(jù)領(lǐng)域博主】!😜😜😜
中國DBA聯(lián)盟(ACDU)成員,目前服務(wù)于工業(yè)互聯(lián)網(wǎng)
擅長主流Oracle、MySQL、PG、高斯及GP 運維開發(fā),備份恢復(fù),安裝遷移,性能優(yōu)化、故障應(yīng)急處理等。
? 如果有對【數(shù)據(jù)庫】感興趣的【小可愛】,歡迎關(guān)注【IT邦德】💞💞💞
??????感謝各位大可愛小可愛!??????
文章目錄
- 前言
- 📣 1.openGauss 5.0
- 📣 2.環(huán)境準(zhǔn)備
- ? 2.1 關(guān)閉SeLinux
- ? 2.2 關(guān)閉防火墻
- ? 2.3 關(guān)閉RemoveIPC
- ? 2.4 設(shè)置root用戶遠程登錄
- ? 2.5 yum安裝依賴
- ? 2.6 host設(shè)置
- ? 2.7 Python安裝
- 📣 3.目錄創(chuàng)建
- 4.安裝包解壓
- 5.XML配置文件
- 6.初始化安裝
- 7.執(zhí)行安裝
- 8.安裝驗證
前言
2023年4月1日, openGauss 5.0正式發(fā)布,本博客介紹了openGauss 5.0企業(yè)版主從部署的詳細過程。📣 1.openGauss 5.0
2023年4月1日,openGauss 5.0.0是openGauss發(fā)布的第三個LTS版本,版本生命周期為3年。
openGauss 5.0.0版本與之前的版本功能特性保持兼容,在內(nèi)核能力、工具鏈、兼容性方面全面增強。官網(wǎng)下載地址:
https://opengauss.org/zh/download/
📣 2.環(huán)境準(zhǔn)備
##操作系統(tǒng):
CentOS Linux release 7.9.2009 (Core)##主機IP
主庫:hostnamectl set-hostname opengauss5M
備庫:hostnamectl set-hostname opengauss5B##內(nèi)存
[root@Jeames ~]# free -mtotal used free shared buff/cache available
Mem: 3020 281 2630 7 107 2684
Swap: 10239 0 10239##字符集確認
[root@opengauss5m ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"可以在/etc/profile文件中添加export LANG=en_US.UTF-8##軟件依賴要求
下列依賴軟件的默認安裝包,若不存在下列軟件,可參看軟件對應(yīng)的建議版本。
? 2.1 關(guān)閉SeLinux
sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
setenforce 0注:主庫和備庫同時修改,然后重啟服務(wù)器
[root@opengauss5m ~]# /usr/sbin/sestatus
SELinux status: disabled
? 2.2 關(guān)閉防火墻
注:主備庫均做如下操作1.檢查防火墻是否關(guān)閉
[root@opengauss5m ~]# systemctl status firewalld
若防火墻狀態(tài)顯示為active (running),則表示防火墻未關(guān)閉
若防火墻狀態(tài)顯示為inactive (dead),則無需再關(guān)閉防火墻2.關(guān)閉防火墻并禁止開機重啟
systemctl disable firewalld.service
systemctl stop firewalld.service
? 2.3 關(guān)閉RemoveIPC
1.修改/etc/systemd/logind.conf文件中的“RemoveIPC”值為“no”
vi /etc/systemd/logind.conf
RemoveIPC=no##重新加載配置參數(shù)
systemctl daemon-reload
systemctl restart systemd-logind
? 2.4 設(shè)置root用戶遠程登錄
vi /etc/ssh/sshd_config
## 將“PermitRootLogin”改為“yes”
PermitRootLogin yes## 注釋掉“Banner”所在的行
#Banner none## 重啟生效
systemctl restart sshd.service
? 2.5 yum安裝依賴
注:兩個節(jié)點均做如下操作##創(chuàng)建掛載目錄
mkdir /cdrom[root@opengauss5m ~]# ls -lrt /opt/CentOS-7-x86_64-DVD-2009.iso
-rw-r--r-- 1 root root 4712300544 Apr 8 09:28 /opt/CentOS-7-x86_64-DVD-2009.iso##掛載目錄
mount -o loop /opt/CentOS-7-x86_64-DVD-2009.iso /cdrom[root@opengauss5m ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs tmpfs 1.5G 0 1.5G 0% /dev/shm
tmpfs tmpfs 1.5G 11M 1.5G 1% /run
tmpfs tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 96G 6.8G 89G 8% /
/dev/sda1 xfs 1.1G 158M 906M 15% /boot
tmpfs tmpfs 297M 0 297M 0% /run/user/0
/dev/loop0 iso9660 4.8G 4.8G 0 100% /cdrom##yum源配置文件
[root@opengauss5m ~]# cd /etc/yum.repos.d/
[root@opengauss5m yum.repos.d]# mkdir bak
[root@opengauss5m yum.repos.d]# mv CentOS* bak[root@opengauss5m yum.repos.d]# vi local.repo
[base-local]
name=CentOS7-local
baseurl=file:///cdrom
enabled=1
gpgcheck=0#清空并重載yum
yum clean all
yum makecache
##測試yum安裝
yum -y install tree##安裝依賴包
yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel libnsl -y
yum install net-tools -y
? 2.6 host設(shè)置
注:主備2個節(jié)點均做如下設(shè)置##主庫
[root@opengauss5m ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.6.10 opengauss5m##備庫
[root@opengauss5b ~]# more /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.6.11 opengauss5b
? 2.7 Python安裝
CentOS:支持Python 3.6.X,python需要通過--enable-shared方式編譯
1.依賴包安裝
[root@opengauss5m ~]# yum install -y zlib*
[root@opengauss5m ~]# rpm -qa | grep zlib
zlib-1.2.7-18.el7.x86_64
zlib-devel-1.2.7-18.el7.x86_642.安裝包下載
python官網(wǎng) https://www.python.org/downloads/release/python-3615/下載安裝包即可
安裝包為:Python-3.6.15.tgz3.解壓并編譯
cd /opt
tar -zxvf Python-3.6.15.tgz
cd Python-3.6.15/
./configure --prefix=/usr/local/python3 --enable-sharedmake
make install
注意:make編譯時間比較長,耐心等待4.OS上設(shè)置python的軟連接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip5.環(huán)境校驗
[root@opengauss5m ~]# python -V
python: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory出現(xiàn)以上報錯處理方法,libpython3.6m.so.1.0復(fù)制到/usr/lib64/目錄下即可[root@opengauss5m ~]# find / -name libpython3.6m.so.1.0
/usr/local/python3/lib/libpython3.6m.so.1.0
/opt/Python-3.6.15/libpython3.6m.so.1.0[root@opengauss5m ~]# cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64[root@opengauss5m ~]# python3 -V
Python 3.6.15[root@opengauss5m ~]# python
Python 3.6.15 (default, Apr 8 2023, 11:45:45)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
📣 3.目錄創(chuàng)建
##創(chuàng)建存放安裝包的目錄
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software##創(chuàng)建數(shù)據(jù)庫軟件相關(guān)目錄
mkdir -p /opt/openGauss
chmod -R 755 /opt/openGauss
4.安裝包解壓
安裝包下載地址: https://opengauss.org/zh/download/
注:從以上網(wǎng)站下載企業(yè)版即可上傳到主庫所在的目錄:/opt/software/openGauss##解壓安裝包
cd /opt/software/openGauss
tar -zxvf openGauss-5.0.0-CentOS-64bit-all.tar.gz
tar -zxvf openGauss-5.0.0-CentOS-64bit-om.tar.gz
5.XML配置文件
安裝openGauss前需要創(chuàng)建cluster_config.xml文件。cluster_config.xml文件包含部署openGauss的服務(wù)器信息、安裝路徑、IP地址以及端口號等。
用于告知openGauss如何部署。用戶需根據(jù)不同場景配置對應(yīng)的XML文件。本次部署以一主一備的方式創(chuàng)建XML配置文件## 配置數(shù)據(jù)庫名稱及各項目錄
[root@opengauss5m ~]# find / -name cluster_config_template.xml
/opt/software/openGauss/script/gspylib/etc/conf/cluster_config_template.xml
說明:獲取XML文件模板,按照實際環(huán)境配置編輯配置XML文件:
vi /opt/software/openGauss/cluster_config.xml<?xml version="1.0" encoding="UTF-8"?>
<ROOT><!-- openGauss整體信息 --><CLUSTER><!-- 數(shù)據(jù)庫名稱 --><PARAM name="clusterName" value="opengauss" /><!-- 數(shù)據(jù)庫節(jié)點名稱(hostname) --><PARAM name="nodeNames" value="opengauss5m,opengauss5b" /><!-- 數(shù)據(jù)庫安裝目錄--><PARAM name="gaussdbAppPath" value="/opt/openGauss/app" /><!-- 日志目錄--><PARAM name="gaussdbLogPath" value="/opt/openGauss/log/omm" /><!-- 臨時文件目錄--><PARAM name="tmpMppdbPath" value="/opt/openGauss/tmp"/><!-- 數(shù)據(jù)庫工具目錄--><PARAM name="gaussdbToolPath" value="/opt/openGauss/om" /><!-- 數(shù)據(jù)庫core文件目錄--><PARAM name="corePath" value="/opt/openGauss/corefile"/><!-- 節(jié)點IP,與數(shù)據(jù)庫節(jié)點名稱列表一一對應(yīng) --><PARAM name="backIp1s" value="192.168.6.10,192.168.6.11"/> </CLUSTER><!-- 每臺服務(wù)器上的節(jié)點部署信息 --><DEVICELIST><!-- 節(jié)點1上的部署信息 --><DEVICE sn="opengauss5m"><!-- 節(jié)點1的主機名稱 --><PARAM name="name" value="opengauss5m"/><!-- 節(jié)點1所在的AZ及AZ優(yōu)先級 --><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 節(jié)點1的IP,如果服務(wù)器只有一個網(wǎng)卡可用,將backIP1和sshIP1配置成同一個IP --><PARAM name="backIp1" value="192.168.6.10"/><PARAM name="sshIp1" value="192.168.6.10"/><!--dn--><PARAM name="dataNum" value="1"/><PARAM name="dataPortBase" value="15400"/><PARAM name="dataNode1" value="/opt/openGauss/data/dn,opengauss5b,/opt/openGauss/data/dn"/><PARAM name="dataNode1_syncNum" value="0"/></DEVICE><!-- 節(jié)點2上的節(jié)點部署信息,其中“name”的值配置為主機名稱 --><DEVICE sn="opengauss5b"><!-- 節(jié)點2的主機名稱 --><PARAM name="name" value="opengauss5b"/><!-- 節(jié)點2所在的AZ及AZ優(yōu)先級 --><PARAM name="azName" value="AZ1"/><PARAM name="azPriority" value="1"/><!-- 節(jié)點2的IP,如果服務(wù)器只有一個網(wǎng)卡可用,將backIP1和sshIP1配置成同一個IP --><PARAM name="backIp1" value="192.168.6.11"/><PARAM name="sshIp1" value="192.168.6.11"/></DEVICE></DEVICELIST>
</ROOT>
6.初始化安裝
采用交互模式執(zhí)行前置,并在執(zhí)行過程中自動創(chuàng)建操作系統(tǒng)root用戶互信和omm用戶互信
#主庫執(zhí)行即可
[root@opengauss5m ~]# cd /opt/software/openGauss/script
[root@opengauss5m script]# ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
[GAUSS-51405] : You need to install software:expect
#解決辦法是安裝如下依賴包
yum install expect輸入集群密碼:omm123[FAILURE] opengauss5m:
[GAUSS-50202] : The /opt/openGauss must be empty. Or user [omm] has write permission to directory /opt/openGauss. Because it will create symbolic link [/opt/openGauss/app] to install path [/opt/openGauss/app_a07d57c3] in gs_install process with this user.
[FAILURE] opengauss5b:
[GAUSS-50202] : The /opt/openGauss must be empty. Or user [omm] has write permission to directory /opt/openGauss. Because it will create symbolic link [/opt/openGauss/app] to install path [/opt/openGauss/app_a07d57c3] in gs_install process with this user.#以上報錯處理方法,然后再重新執(zhí)行
[root@opengauss5m script]# rm -rf /opt/openGauss
[root@opengauss5m script]# chmod 775 /opt -R
[root@opengauss5m script]# chown omm:dbgrp /opt -R
7.執(zhí)行安裝
/opt/openGauss/app#主庫執(zhí)行即可,在執(zhí)行過程中,用戶需根據(jù)提示輸入數(shù)據(jù)庫的密碼,密碼具有一定的復(fù)雜度,為保證用戶正常使用該數(shù)據(jù)庫,請記住輸入的數(shù)據(jù)庫密碼設(shè)置的密碼要符合復(fù)雜度要求:
最少包含8個字符,最多包含16個字符。
不能和用戶名、當(dāng)前密碼(ALTER)、或當(dāng)前密碼反序相同。
至少包含大寫字母(A-Z)、小寫字母(a-z)、數(shù)字、非字母數(shù)字字符(限定為~!@#$%^&*()-_=+\|[{}];:,<.>/?)四類字符中的三類字符。
1.登錄到openGauss的主機,并切換到omm用戶
[root@opengauss5m ~]# su - omm
[omm@opengauss5m ~]$ ll /opt/software/openGauss/cluster_config.xml
-rw------- 1 omm dbgrp 2532 Apr 8 11:21 /opt/software/openGauss/cluster_config.xml
gs_install -X /opt/software/openGauss/cluster_config.xml2.安裝執(zhí)行成功之后,需要手動刪除主機root用戶的互信,即刪除openGauss數(shù)據(jù)庫各節(jié)點上的互信文件。
rm –rf ~/.ssh
8.安裝驗證
1.集群狀態(tài)檢查
## 通過openGauss提供的gs_om工具可以完成數(shù)據(jù)庫狀態(tài)檢查以omm用戶身份登錄服務(wù)器。
執(zhí)行如下命令檢查數(shù)據(jù)庫狀態(tài)是否正常,“cluster_state ”顯示“Normal”表示數(shù)據(jù)庫可正常使用[root@opengauss5m ~]# su - omm
Last login: Sat Apr 8 12:56:31 CST 2023 on pts/0
[omm@opengauss5m ~]$ gs_om -t status
-----------------------------------------------------------------------cluster_name : opengauss
cluster_state : Normal
redistributing : No-----------------------------------------------------------------------
[omm@opengauss5m ~]$ 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 opengauss5m 192.168.6.10 15400 6001 /opt/openGauss/data/dn P Primary Normal
2 opengauss5b 192.168.6.11 15400 6002 /opt/openGauss/data/dn S Standby Normal3.gs_om -t stop
[omm@opengauss5m ~]$ gs_om -t stop4.啟動集群
[omm@opengauss5m ~]$ gs_om -t start5.登錄數(shù)據(jù)庫
[omm@opengauss5m ~]$ gsql -d postgres -p 15400
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:07:56 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.openGauss=# \lList of databasesName | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+-----------+---------+-------+-------------------postgres | omm | SQL_ASCII | C | C |template0 | omm | SQL_ASCII | C | C | =c/omm +| | | | | omm=CTc/ommtemplate1 | omm | SQL_ASCII | C | C | =c/omm +| | | | | omm=CTc/omm
(3 rows)