作者:可達
openGauss單機部署
一、安裝環境
1.作業系統:虛擬機VMware、CentOS7.9
2.環境設定:
(1)虛擬機記憶體3G、磁盤100G
(2)系統版本修改
一開始使用了centos8,無法安裝,因此降低版本,選用7.9后依然存在一些問題,因此修改/etc/redhat-release檔案中系統版本為CentOS Linux release 7.6(Core)
(3)配置YUM源
①洗掉系統自帶yum源
rm -rf /etc/yum.repos.d/*
②下載阿里云yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
③生成倉庫快取
yum makecache
(4)安裝依賴包
1 yum install ‐y libaio‐devel flex bison ncurses‐devel glibc.devel patch lsb_release 2 yum install ‐y openssl* python3
(5)關閉SELINUX和Firewall
1 setenforce 0 2 systemctl disable firewalld.service 3 systemctl stop firewalld.service
(6)關閉交換記憶體
swapoff -a
(7)關閉透明大頁
1 vim /etc/rc.d/rc.local 2 if test ‐f /sys/kernel/mm/transparent_hugepage/enabled; 3 then 4 echo never > /sys/kernel/mm/transparent_hugepage/enabled 5 fi 6 if test ‐f /sys/kernel/mm/transparent_hugepage/defrag; 7 then 8 echo never > /sys/kernel/mm/transparent_hugepage/defrag 9 fi
(8)修改主機名
1 echo "node1" > /etc/hostname 2 echo “ 192.168.17.129 node1” >>/etc/hosts
二、安裝詳細步驟
1.Opengauss安裝
(1)下載opengauss安裝包及創建用戶組和目錄
1 groupadd dbgrp 2 useradd -g dbgrp -d /home/omm -m -s /bin/bash omm 3 echo "omm" | passwd -‐stdin omm 4 mkdir -p /opt/software/openGauss 5 chmod 755 -R /opt/software 6 chown -R omm:dbgrp /opt/software/openGauss cd /opt/software/openGauss/ 7 wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/x86/openGauss-2.0.0-CentOS-64bit-all.tar.gz 8 tar -zxvf openGauss-2.0.0-CentOS-64bit-all.tar.gz 9 tar -zxvf openGauss-2.0.0-CentOS-64bit-om.tar.gz
(2)單機xml組態檔
首先從如下地址復制檔案至當前位置
cp script/gspylib/etc/conf/cluster_config_template.xml .
修改組態檔具體如下,組態檔中要注意配置一下幾個引數:nodeNAMES、backips
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <!-- openGauss整體資訊 --> <CLUSTER> <!-- 資料庫名稱 --> <PARAM name="clusterName" value="singlenode" /> <!-- 資料庫節點名稱(hostname) --> <PARAM name="nodeNames" value="node1" /> <!-- 資料庫安裝目錄--> <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" /> <!-- 日志目錄--> <PARAM name="gaussdbLogPath" value="/opt/huawei/log" /> <!-- 臨時檔案目錄--> <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="clusterType" value="single-inst"/> <PARAM name="backIp1s" value="192.168.17.129"/> </CLUSTER> <!-- 每臺服務器上的節點部署資訊 --> <DEVICELIST> <!-- 節點1上的部署資訊 --> <DEVICE sn="1000001"> <!-- 節點1的主機名稱 --> <PARAM name="name" value="node1"/> <!-- 節點1所在的AZ及AZ優先級 --> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 節點1的IP,如果服務器只有一個網卡可用,將backIP1和sshIP1配置成同一個IP --> <PARAM name="backIp1" value="192.168.17.129"/> <PARAM name="sshIp1" value="192.168.17.129"/> <!--dbnode--> <PARAM name="dataNum" value="1"/> <PARAM name="dataPortBase" value="26000"/> <PARAM name="dataNode1" value="/opt/huawei/install/data/db1"/> <PARAM name="dataNode1_syncNum" value="0"/> </DEVICE> </DEVICELIST> </ROOT>
(3)設定lib庫
vim .bashrc 添加 export GPHOME=/opt/huawei/install/om export PATH=$GPHOME/script/gspylib/pssh/bin:$GPHOME/script:$PATH export LD_LIBRARY_PATH=$GPHOME/lib:$LD_LIBRARY_PATH export PYTHONPATH=$GPHOME/lib export GAUSSHOME=/opt/huawei/install/app export PATH=$GAUSSHOME/bin:$PATH export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH export S3_CLIENT_CRT_FILE=$GAUSSHOME/lib/client.crt export GAUSS_VERSION=2.0.0 export PGHOST=/opt/huawei/tmp export GAUSSLOG=/opt/huawei/log/omm umask 077 export GAUSS_ENV=2 export GS_CLUSTER_NAME=singlenode
(4)執行互動式初始化
①預安裝
操作如下:
1 cd /opt/software/openGauss/script 2 root@node1 script]#python3 gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config_template.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. Setting pssh path Successfully set core path. Are you sure you want to create the user[omm] and create trust for it (yes)? yes Preparing SSH service. Successfully prepared SSH service. Checking OS software. Successfully check os software. Checking OS version. Successfully checked OS version. Creating cluster's path. Successfully created cluster's path. Setting SCTP service. Successfully set SCTP service. Set and check OS parameter. Setting OS parameters. Successfully set OS parameters. Warning: Installation environment contains some warning messages. Please get more details by "/opt/software/openGauss/script/gs_checkos -i A -h node1 --detail". Set and check OS parameter completed. Preparing CRON service. Successfully prepared CRON service. Setting user environmental variables. Successfully set user environmental variables. Setting the dynamic link library. Successfully set the dynamic link library. Setting Core file Successfully set core path. Setting pssh path Successfully set pssh path. Set ARM Optimization. No need to set ARM Optimization. Fixing server package owner. Setting finish flag. Successfully set finish flag. Preinstallation succeeded.
當出現“Preinstallation succeeded.”時,預安裝成功,
②安裝
進入script目錄后進行正式安裝,命令如下,其中“/opt/software/openGauss/cluster_config_template.xml”為前幾步中編輯的組態檔,
此程序需要輸入密碼,且設定的密碼要符合復雜度要求如下:
最少包含8個字符;
不能和用戶名和當前密碼(ALTER)相同,或和當前密碼反序;
至少包含大寫字母(A-Z),小寫字母(a-z),數字,非字母數字字符(限定為~!@#$%^&*()-_=+|[{}];:,<.>/?)四類字符中的三類字符:
[omm@node1 openGauss]$ cd script/ [omm@node1 script]$ gs_install -X /opt/software/openGauss/cluster_config_template.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. begin prepare Install Cluster.. Checking the installation environment on all nodes. begin install Cluster.. Installing applications on all nodes. Successfully installed APP. begin init Instance.. encrypt cipher and rand files for database. Please enter password for database: Please repeat for database: begin to create CA cert files The sslcert will be generated in /opt/huawei/install/app/sslcert/om Cluster installation is completed. Configuring. Deleting instances from all nodes. Successfully deleted instances from all nodes. Checking node configuration on all nodes. Initializing instances on all nodes. Updating instance configuration on all nodes. Check consistence of memCheck and coresCheck on database nodes. Configuring pg_hba on all nodes. Configuration is completed. Successfully started cluster. Successfully installed application. end deploy..
測驗安裝是否成功,首先需要使資料庫處于開啟狀態,然后輸入”gsql -d postgres -p 26000”命令使資料庫在本地運行,其中-p 為資料庫埠dataPortBase,具體數值在前述程序中xml組態檔中確定,這里為26000,


2.Opengauss連接設定
(1)安裝java,確認jdk版本為1.8
(2)從官網下載jdbc壓縮包后,將其解壓至路徑/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre/lib/ext下
(3)配置資料庫服務器中的白名單與監聽名單
①以作業系統用戶omm登錄資料庫主節點
②執行如下命令增加對外提供服務的網卡IP或者主機名(英文逗號分隔),其中NodeName為當前節點名稱,如:
gs_guc reload -N NodeName -I all -c "listen_addresses='localhost,192.168.17.129'"
③執行如下命令在資料庫主節點組態檔中增加一條認證規則,(這里假設客戶端IP地址為192.168.17.129,即遠程連接的機器的IP地址)
gs_guc reload -N all -I all -h "host all yushan 192.168.17.129/32 sha256"
- -N all表示openGauss中的所有主機,
- -I all表示主機中的所有實體,
- -h表示指定需要在“pg_hba.conf”增加的陳述句,
- all表示允許客戶端連接到任意的資料庫,
- yushan表示連接資料庫的用戶,
- 192.168.17.129/32表示只允許IP地址為192.168.17.129的主機連接,在使用程序中,請根據用戶的網路進行配置修改,32表示子網掩碼為1的位數,即255.255.255.255
- sha256表示連接時jack用戶的密碼使用sha256演算法加密,
與之效果相同的代替操作:
在/opt/huawei/install/data/db1路徑(創建的節點名叫db1)下編輯pg_hba.conf檔案

(4)通過撰寫java程式即可連接,example如下
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import java.sql.CallableStatement; public class test{ public static Connection getConnect(String username, String passwd) { //驅動類, String driver = "org.postgresql.Driver"; //資料庫連接描述符, String sourceURL = "jdbc:postgresql://127.0.0.1:26000/postgres"; Connection conn = null;<span class="hljs-keyword">try</span> { <span class="hljs-comment">//加載驅動,</span> Class.forName(driver); } <span class="hljs-keyword">catch</span>( Exception e ) { e.printStackTrace(); <span class="hljs-keyword">return</span> <span class="hljs-literal">null</span>; } <span class="hljs-keyword">try</span> { <span class="hljs-comment">//創建連接,</span> conn = DriverManager.getConnection(sourceURL, username, passwd); System.out.println(<span class="hljs-string">"Connection succeed!"</span>); } <span class="hljs-keyword">catch</span>(Exception e) { e.printStackTrace(); <span class="hljs-keyword">return</span> <span class="hljs-literal">null</span>; } <span class="hljs-keyword">return</span> conn; }; <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">main</span><span class="hljs-params">(String[] args)</span> { <span class="hljs-comment">// TODO Auto-generated method stub</span> <span class="hljs-type">Connection</span> <span class="hljs-variable">conn</span> <span class="hljs-operator">=</span> getConnect(<span class="hljs-string">"yushan"</span>, <span class="hljs-string">"1qaz@wsx"</span>); <span class="hljs-comment">//BatchInsertData(conn);</span> <span class="hljs-keyword">try</span> { conn.close(); } <span class="hljs-keyword">catch</span> (SQLException e) { e.printStackTrace(); } }
}
編譯執行程式后,如圖,連接成功,

三、安裝程序中碰到的問題與解決辦法
1.問題1
在安裝結束后,準備運行后,發現gsom 無法啟動,
解決程序:
猜測可能是記憶體不足,虛擬機一開始設定的記憶體為1G,查閱相關博客發現,1G記憶體對于企業版不足,后將虛擬機記憶體設定為3G,
2.問題2
運行gsom后報錯如下

解決程序:
檢查發現pg_hba.conf檔案配置出錯,修改如下

3.問題3
一開始安裝的虛擬機為centos8,進行預安裝后發現不支持該版本作業系統,
解決程序:
切換為centos7.9,但依然報錯,因此修改/etc/redhat-release檔案中系統版本為CentOS Linux release 7.6(Core)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/390540.html
標籤:其他
