openGauss資料庫在CentOS上的安裝實踐
1. 安裝前準備
安裝資料庫前先要有已安裝centOS 7.6的伺服器+資料庫安裝包。
- 首先找小夥伴申請了華為雲ECS伺服器安裝好了OS,這裡使用的是x86_64+centos。
華為雲伺服器現在可是很划算呢,安裝也很方便。
[root@pekphisprb70593 ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL=" BUG_REPORT_URL=" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
- 透過軟體包 | openGauss 登入openGauss開源社群,選擇3.0.0版本對應平臺企業版安裝包。我用的centos_x86_64,安裝包下載到本地。檔名:openGauss-3.0.0-CentOS-64bit-all.tar.gz。
2. python3準備
centos自帶的python是python2,不符合官方文件要求。(實際也確實不能支撐openGauss安裝,我已經試過了)
而且官方文件只寫了要求有python3,並沒有詳細的說明要怎麼裝,所以就對一些新手不太友好。
centos要求python只能是3.6.X,而不是及以上,也就是不能用3.7。我這裡用的3.6.15。Python3安裝還依賴zlib。所以無論線上還是離線安裝都需要先把zlib相關安裝完成。
如果伺服器可以直接連到網際網路yum源或者自己公司的yum源 ,就可以參考線上版安裝。否則使用離線安裝。
2.1 線上版安裝
這裡要求伺服器可以直接連到網際網路用yum 或者wget,或者配置了代理。
-
安裝依賴包,有些可能系統自帶,沒關係。
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
完成後會提示“Complete!”
-
下載python安裝包。
wget
因為下載很慢,也可以先去python官網 下載一個新版本到本地再上傳到伺服器。
解壓然後安裝python3.6。make編譯時間比較長,耐心等待,滿屏的輸出陪著你。tar -zxvf Python-3.6.15.tgz cd Python-3.6.15/ ./configure --prefix=/usr/local/python3 --enable-shared make make install
最後提示Successfully就說明安裝成功了。
但是,注意此時還需要設定下OS上python的軟連線。其中,/usr/local/python3/需要替換為你自己python安裝包的實際路徑,就是上面./configure的路徑。如果是按照 我的指導做的就不用改。
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 ln -s /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64/ export LD_LIBRARY_PATH=/usr/local/python3/lib:$LD_LIBRARY_PATH
到這裡在centos上安裝python3.6就完成了。
2.2 離線版安裝
由於有時需要在公司內網安裝,伺服器直接下載不方便,什麼 yum 、wget 統統不可用。只能去官網下載軟體到windows然後上傳linux後安裝。
[root@pekphisprb70593 software]# rpm -qa|grep zlib zlib-1.2.7-18.el7.x86_64
所以我機器上自帶了1.2.7版本,需要安裝1.2.7版本的zlib-devel。自己去搜一個對應版本的上傳到伺服器上。
rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm
剩下的就是按照線上版中說的,將python安裝包下載本地後上傳,執行與線上版相同的安裝和配置動作即可。
3. 修改作業系統配置
目前僅支援在防火牆關閉的狀態下進行安裝。
-
修改/etc/selinux/config檔案中的“SELINUX”值為“disabled”。使用VIM開啟config檔案。
vi /etc/selinux/config
檢視“SELINUX”的值是否為“disabled”。是的話直接下一步。不是的話修改“SELINUX”的值“disabled”,執行:wq儲存並退出修改,然後reboot重啟。
-
檢查防火牆是否關閉。若防火牆狀態顯示為inactive (dead),直接下一步。
systemctl status firewalld
若防火牆狀態顯示為active (running),則表示防火牆未關閉,請關閉防火牆。
systemctl disable firewalld.service systemctl stop firewalld.service
- 將各資料庫節點的字符集設定為相同的字符集,可以在/etc/profile檔案中新增“export.UTF-8”(也可以設定成GBK,看你習慣用啥)。
- 使用swapoff -a命令將交換記憶體關閉。
- 修改/etc/systemd/logind.conf的“RemoveIPC”的值“no”,前面的#也刪掉。
6.重新載入引數並檢查。
[root@pekphisprb70594 ~]# systemctl daemon-reload [root@pekphisprb70594 ~]# systemctl restart systemd-logind
7.執行ifconfig命令查詢伺服器的網路卡名稱。預設一般就是對的。
如下圖所示,伺服器IP為10.244.53.173,則該伺服器的網路卡名稱為eth0。對於X86,官方文件MTU值推薦1500。
設定root使用者遠端登入
-
vim開啟配置檔案/etc/ssh/sshd_config。
-
檢視PermitRootLogin配置是否為yes,表示允許使用者遠端登入。
-
在Banner XXX 前面加 #,註釋掉歡迎語。
-
重啟sshd服務。
[root@pekphisprb70596 openGauss]# systemctl restart sshd.service
在其他伺服器上執行上面的步驟。
4. 配置檔案cluster_config.xml準備
從安裝文件示例中,把主機名pekphisprb70593和IP 10.x.x.x替換成自己實際使用的值。儲存到檔案,檔名為cluster_config.xml。
下面是修改後的內容。注意編碼格式,我用notepad++ 可以看到編碼格式為UTF-8。新手建議Windows上修改完再上傳伺服器。
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <!-- openGauss整體資訊 --> <CLUSTER> <PARAM name="clusterName" value="opengSingle" /> <PARAM name="nodeNames" value="pekphisprb70593" /> <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" /> <PARAM name="corePath" value="/opt/huawei/corefile" /> <PARAM name="backIp1s" value="10.x.x.x"/> </CLUSTER> <!-- 每臺伺服器上的節點部署資訊 --> <DEVICELIST> <!-- node1上的節點部署資訊 --> <DEVICE sn="pekphisprb70593"> <PARAM name="name" value="pekphisprb70593"/> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 如果伺服器只有一個網路卡可用,將backIP1和sshIP1配置成同一個IP --> <PARAM name="backIp1" value="10.x.x.x"/> <PARAM name="sshIp1" value="10.x.x.x"/> <!--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>
5. 安裝及驗證
- 這一步基本上就是按照產品文件進行安裝的了,沒啥好說的。
以root使用者登入待安裝openGauss的任意主機,並按規劃建立存放安裝包的目錄。mkdir -p /opt/software/openGauss chmod 755 -R /opt/software
- 將安裝包“openGauss-3.0.0-CentOS-64bit-all.tar.gz”和配置檔案“cluster_config.xml”都放到上一步所建立的/opt/software/openGauss目錄中。
-
解壓安裝包。
cd /opt/software/openGauss tar -zxvf openGauss-3.0.0-CentOS-64bit-all.tar.gz tar -zxvf openGauss-3.0.0-CentOS-64bit-om.tar.gz
-
進入script執行預安裝命令。我採用的是互動式,所以需要在中間提示的時候輸入密碼。安裝時長大概一兩分鐘。
[root@opengauss1 openGauss]# cd script/ [root@opengauss1 script]# ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml Parsing the configuration file. Successfully parsed the configuration file. Installing the tools on the local node. Successfully installed the tools on the local node. Are you sure you want to create trust for root (yes/no)?yes Please enter password for root Password: Successfully created SSH trust for the root permission user. Setting host ip env ... ... Fixing server package owner. Setting finish flag. Successfully set finish flag. Preinstallation succeeded.
-
切換到omm使用者,使用gs_install安裝openGauss。中間根據提示輸入要設定的資料庫密碼,大概兩三分鐘的樣子。
[root@pekphisprb70593 script]# su - omm Last login: Wed Jul 6 09:17:01 CST 2022 [omm@pekphisprb70593 ~]$ gs_install -X /opt/software/openGauss/cluster_config.xml Parsing the configuration file. Check preinstall on every node. Successfully checked preinstall on every node. Creating the backup directory. Successfully created the backup directory. begin deploy.. Installing the cluster. ... Please enter password for database: Please repeat for database: ... Configuration is completed. Successfully started cluster. Successfully installed application. end deploy..
-
檢查下資料庫狀態,state都是Normal就可以。
[omm@opengauss1 dn]$ gs_om -t status --detail
-
現在試一下連線。
[omm@opengauss1 om]$ gsql -d postgres -p 15400 gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:19 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. openGauss=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0; CREATE DATABASE openGauss=# openGauss=# \q
安裝到此結束。
6. 可能遇到的問題
-
Python安裝 make install提示zipimport.ZipImportError:can't decompress data;zlib not available。
tar -zxvf Python-3.6.15.tgz cd Python-3.6.15/ ./configure prefix=/usr/local/python3 make make install
然後這裡報錯了,提示zlib沒有,解壓不了資料。
這種一般是沒有裝zlib-devel。可以用yum的話執行 yum -y install zlib-devel 裝一下。
只能離線裝的話就按照本文離線版安裝章節解決下。
PS:這裡我搜了很多資料,因為沒有配置yum,只能離線方式安裝。開始按照zlib-xxx.tar.gz安裝然後編譯,結果安裝python一直提示上面的錯,還以為是zlib配置的不對,後來嘗試了zlib-devel的其他版本也不可。遇到相同問題的人避開這個坑。
-
openGauss執行./preinstall時報錯提示“Unable to import module: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory.”是python配置沒弄好。
解決辦法:
找到這個檔案,寫到python配置檔案裡。
[root@pekphisprb70593 script]# 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@pekphisprb70593 script]# cd /etc/ld.so.conf.d/
在這個路徑下新建python3.conf,裡面寫入libpython3.6m.so.1.0的上一層目錄,我這裡找到兩條,寫一條就好了,比如/usr/local/python3/lib,然後儲存退出。
執行下面這個重新載入下。
[root@pekphisprb70593 ld.so.conf.d]# ldconfig
再重新執行步驟4 ./gs_preinstall那條命令就可以了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023856/viewspace-2942006/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用虛擬機器在CentOS上安裝部署openGauss資料庫指導虛擬機CentOS資料庫
- 使用虛擬機器在CentOS上安裝部署資料庫使用虛擬機CentOS資料庫
- 在anlions os上安裝資料庫資料庫
- SonarQube在CentOS上的安裝CentOS
- 在CentOS上安裝GitCentOSGit
- 在centos上安裝molochCentOS
- 在CentOS上安裝dockerCentOSDocker
- 在CentOS上安裝PowerShellCentOS
- 在Centos上安裝wordpressCentOS
- hive在centos上安裝HiveCentOS
- Oracle資料庫靜默安裝實踐Oracle資料庫
- 在CentOS 8.1上安裝 DockerCentOSDocker
- 在CentOS上安裝GITLABCentOSGitlab
- openGauss資料庫部署實踐(華為雲開發者雲實驗)資料庫
- 2、在VM上的 CentOS 6.5 上安裝mysqlCentOSMySql
- CentOS6.5安裝Redis資料庫CentOSRedis資料庫
- 在Centos7上安裝DockerCentOSDocker
- 在CentOS 7上安裝TensorflowCentOS
- 在Centos6.5上安裝ossfsCentOS
- centos下nosql資料庫的安裝詳解CentOSSQL資料庫
- CentOS下Mysql資料庫的安裝與配置CentOSMySql資料庫
- 在CentOS-6.7上靜默安裝Oracle 11g及靜默建立資料庫CentOSOracle資料庫
- 截圖利器:shutter在centos上的安裝CentOS
- 在solaris 10上安裝oracle 10g資料庫Oracle 10g資料庫
- Centos-8.2-安裝達夢資料庫CentOS資料庫
- 在CentOS 7.5上安裝和配置ProFTPDCentOSFTP
- 在Red Hat和Centos上安裝MongoDBCentOSMongoDB
- 在rhel和CentOS上安裝SQL Server的方法CentOSSQLServer
- CoreOS實踐(2)—在coreos上安裝Kubernetes
- centos上nginx的安裝CentOSNginx
- CentOS7離線安裝(rpm安裝)mysql資料庫CentOSMySql資料庫
- CentOS 7.4下安裝Oracle 11.2.0.4資料庫CentOSOracle資料庫
- AIX 5.3.0.7上安裝了9.2.0.2的資料庫AI資料庫
- 在Centos8上安裝和使用curlCentOS
- 在 Centos/RHEL 6.X 上安裝 WettyCentOS
- 在Centos7上安裝Redis6CentOSRedis
- 在CentOS7上安裝Zabbix3.0CentOS
- 在CentOS 6.5上安裝python2.7CentOSPython