網站首頁 編程語言 正文
這是一篇基于華為云ECS+CentOS 7的openGauss數據庫安裝實踐。
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="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
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,或者配置了代理。
1.安裝依賴包,有些可能系統自帶,沒關系。
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!”
2.下載python安裝包
wget https://www.python.org/downloads/release/python-3615/
因為下載很慢,也可以先去python官網 https://www.python.org/downloads/release/python-3615/下載一個新版本到本地再上傳到服務器。
解壓然后安裝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. 修改操作系統配置
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. 安裝及驗證
這一步基本上就是按照產品文檔進行安裝的了,沒啥好說的。
1.以root用戶登錄待安裝openGauss的任意主機,并按規劃創建存放安裝包的目錄。
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
2.將安裝包“openGauss-3.0.0-CentOS-64bit-all.tar.gz”和配置文件“cluster_config.xml”都放到上一步所創建的/opt/software/openGauss目錄中。
3.解壓安裝包。
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
4.進入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.
5.切換到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..
6.檢查下數據庫狀態,state都是Normal就可以。
[omm@opengauss1 dn]$ gs_om -t status --detail
7.現在試一下連接。
[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. 可能遇到的問題
1.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的其他版本也不可。遇到相同問題的人避開這個坑。
2.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那條命令就可以了。
原文鏈接:https://blog.csdn.net/GaussDB/article/details/125673427
相關推薦
- 2022-08-29 Python可視化神器pyecharts繪制漏斗圖_python
- 2022-07-09 Pytorch從0實現Transformer的實踐_python
- 2022-04-20 C語言數據結構與算法之時間空間復雜度入門_C 語言
- 2022-10-21 解決Git?Revert?再次合代碼無效問題_相關技巧
- 2022-03-20 C++靜態成員函數和this指針詳解_C 語言
- 2022-12-25 pytorch中model.named_parameters()與model.parameters(
- 2022-05-07 Python數據結構之棧詳解_python
- 2022-05-17 Git 克隆指定分支的代碼
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支