阅读量:4
目录
- 📚第一章 官方地址
- 📚第二章 安装
- 📚第三章 安装总结
- ⁉️问题记录
- ❓问题一:执行gs_preinstall报错:Python 解释器在编译时未使用 -enable-shared 选项
- ❓问题二:No module named '_ctypes'
- ❓问题三:libpython3.6m.so.1.0 未找到
- ❓问题四:Failed to read clusterName. Error:
- ❓问题五: Failed to obtain local instance information
- ❓问题六:[GAUSS-51405] : You need to install software:expect
- ❓问题七:[FAILURE] bigdata02:[GAUSS-51251] : The /home/opengauss/app cannot be a root user group or a lin
- ❓问题八:[GAUSS-51405] : You need to install software:['bzip2']
📚第一章 官方地址
📗安装包下载地址
https://opengauss.org/zh/download/
简单注册下账号,登录即可下载,注意对应的操作系统
📗文档指南
https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/InstallationGuide/InstallationGuide.html
📚第二章 安装
📗准备工作
关闭防火墙等配置,状态保持和下图一致
[root@localhost home]# less /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@localhost home]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@localhost home]#
重新启动操作系统(谨慎操作,确保该机器上没有其它应用):
reboot
检查防火墙是否关闭(inactive (dead)):
systemctl status firewalld
关闭防火墙:
systemctl disable firewalld.service systemctl stop firewalld.service
📗开始安装
📕创建XML配置文件
按需创建目录(也可以直接根据官网的配置文件创建目录,省的修改配置文件了)
mkdir -p /home/opengauss/{app,log,tmp,tool,corefile,data}
创建并修改文件,参考如下,采用的一主一备
配置,cluster_config.xml
,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <!-- openGauss整体信息 --> <CLUSTER> <!-- 数据库名称 --> <PARAM name="openGaussDB" value="Cluster_template" /> <!-- 数据库节点名称(hostname) --> <PARAM name="nodeNames" value="bigdata01,bigdata02" /> <!-- 数据库安装目录--> <PARAM name="gaussdbAppPath" value="/home/opengauss/app" /> <!-- 日志目录--> <PARAM name="gaussdbLogPath" value="/home/opengauss/log" /> <!-- 临时文件目录--> <PARAM name="tmpMppdbPath" value="/home/opengauss/tmp"/> <!-- 数据库工具目录--> <PARAM name="gaussdbToolPath" value="/home/opengauss/tool" /> <!-- 数据库core文件目录--> <PARAM name="corePath" value="/home/opengauss/corefile"/> <!-- 节点IP,与数据库节点名称列表一一对应 --> <PARAM name="backIp1s" value="192.168.2.10,192.168.2.11"/> </CLUSTER> <!-- 每台服务器上的节点部署信息 --> <DEVICELIST> <!-- 节点1上的部署信息 --> <DEVICE sn="bigdata01"> <!-- 节点1的主机名称 --> <PARAM name="name" value="bigdata01"/> <!-- 节点1所在的AZ及AZ优先级 --> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name="backIp1" value="192.168.2.10"/> <PARAM name="sshIp1" value="10.0.2.10"/> <!--dn--> <PARAM name="dataNum" value="1"/> <PARAM name="dataPortBase" value="15400"/> <PARAM name="dataNode1" value="/home/opengauss/data,bigdata02,/home/opengauss/data"/> <PARAM name="dataNode1_syncNum" value="0"/> </DEVICE> <!-- 节点2上的节点部署信息,其中“name”的值配置为主机名称 --> <DEVICE sn="bigdata02"> <!-- 节点2的主机名称 --> <PARAM name="name" value="bigdata02"/> <!-- 节点2所在的AZ及AZ优先级 --> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 节点2的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name="backIp1" value="192.168.2.11"/> <PARAM name="sshIp1" value="10.0.2.11"/> </DEVICE> </DEVICELIST> </ROOT>
📕初始化安装环境
[root@localhost script]# python3.6 ./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 Please enter password for current user[root]. Password: Checking network information. All nodes in the network are Normal. Successfully checked network information. Creating SSH trust. Creating the local key file. Successfully created the local key files. Appending local ID to authorized_keys. Successfully appended local ID to authorized_keys. Updating the known_hosts file. Successfully updated the known_hosts file. Appending authorized_key on the remote node. Successfully appended authorized_key on all remote node. Checking common authentication file content. Successfully checked common authentication content. Distributing SSH trust file to all node. Distributing trust keys file to all node successfully. Successfully distributed SSH trust file to all node. Verifying SSH trust on all hosts. Successfully verified SSH trust on all hosts. Successfully created SSH trust. Successfully created SSH trust for the root permission user. Setting host ip env Successfully set host ip env. Distributing package. Begin to distribute package to tool path. Successfully distribute package to tool path. Begin to distribute package to package path. Successfully distribute package to package path. Successfully distributed package. Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes Preparing SSH service. Successfully prepared SSH service. Installing the tools in the cluster. Successfully installed the tools in the cluster. Checking hostname mapping. Successfully checked hostname mapping. Creating SSH trust for [omm] user. Please enter password for current user[omm]. Password: Checking network information. All nodes in the network are Normal. Successfully checked network information. Creating SSH trust. Creating the local key file. Successfully created the local key files. Appending local ID to authorized_keys. Successfully appended local ID to authorized_keys. Updating the known_hosts file. Successfully updated the known_hosts file. Appending authorized_key on the remote node. Successfully appended authorized_key on all remote node. Checking common authentication file content. Successfully checked common authentication content. Distributing SSH trust file to all node. Distributing trust keys file to all node successfully. Successfully distributed SSH trust file to all node. Verifying SSH trust on all hosts. Successfully verified SSH trust on all hosts. Successfully created SSH trust. Successfully created SSH trust for [omm] user. Checking OS software. Successfully check os software. Checking OS version. Successfully checked OS version. Creating cluster's path. Successfully created cluster's path. 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 bigdata01,bigdata02 --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. Setting Cgroup. Successfully set Cgroup. Set ARM Optimization. No need to set ARM Optimization. Fixing server package owner. Setting finish flag. Successfully set finish flag. Preinstallation succeeded. [root@localhost script]#
📕执行安装
[root@localhost script]# su - omm 上一次登录:四 4月 11 15:46:24 CST 2024 [omm@bigdata01 ~]$ gs_install -X /opt/software/openGauss/cluster_config.xml Parsing the configuration file. Successfully checked gs_uninstall on every node. 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 /home/opengauss/app/share/sslcert/om NO cm_server instance, no need to create CA for CM. Non-dss_ssl_enable, no need to create CA for DSS 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. Successful check consistence of memCheck and coresCheck on all nodes. Configuring pg_hba on all nodes. Configuration is completed. The cluster status is Normal. Successfully started cluster. Successfully installed application. end deploy.. [omm@bigdata01 ~]$
📕验证
数据库安装完成后,会默认生成名称为postgres
的数据库
[omm@bigdata01 ~]$ gs_om -t status ----------------------------------------------------------------------- cluster_name : openGaussDB cluster_state : Normal redistributing : No ----------------------------------------------------------------------- [omm@bigdata01 ~]$ [omm@bigdata01 ~]$ gsql -d postgres -p 15400 gsql ((openGauss 5.1.0 build b5a8d5b0) compiled at 2023-09-28 00:09:57 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. openGauss=# help You are using gsql, the command-line interface to gaussdb. Type: \copyright for distribution terms \h for help with SQL commands \? for help with gsql commands \g or terminate with semicolon to execute query \q to quit openGauss=# \h Available help: ABORT ALTER TEXT SEARCH CONFIGURATION CREATE NODE GROUP DROP DIRECTORY EXPLAIN ALTER APP WORKLOAD GROUP ALTER TEXT SEARCH DICTIONARY CREATE OPERATOR DROP EVENT FETCH ALTER APP WORKLOAD GROUP MAPPING ALTER TRIGGER CREATE PACKAGE DROP EVENT TRIGGER GRANT ALTER AUDIT POLICY ALTER TYPE CREATE PACKAGE BODY DROP EXTENSION INSERT ALTER DATA SOURCE ALTER USER CREATE PROCEDURE DROP FOREIGN TABLE LOCK ALTER DATABASE ALTER VIEW CREATE PUBLICATION DROP FUNCTION MERGE ALTER DEFAULT PRIVILEGES ALTER WORKLOAD GROUP CREATE RESOURCE LABEL DROP GLOBAL CONFIGURATION MOVE ALTER DIRECTORY ANALYSE CREATE RESOURCE POOL DROP GROUP PREDICT BY ALTER EVENT ANALYZE CREATE ROLE DROP INDEX PREPARE ALTER EVENT TRIGGER ANONYMOUS BLOCK CREATE ROW LEVEL SECURITY POLICY DROP MASKING POLICY PREPARE TRANSACTION ALTER EXTENSION ARCHIVE SNAPSHOT CREATE SCHEMA DROP MATERIALIZED VIEW PUBLISH SNAPSHOT ALTER FOREIGN TABLE BEGIN CREATE SEQUENCE DROP MODEL PURGE ALTER FOREIGN TABLE FOR HDFS CALL CREATE SERVER DROP NODE PURGE SNAPSHOT ALTER FUNCTION CHECKPOINT CREATE SNAPSHOT AS DROP NODE GROUP REASSIGN OWNED ALTER GLOBAL CONFIGURATION CLEAN CONNECTION CREATE SNAPSHOT FROM DROP OPERATOR REFRESH MATERIALIZED VIEW ALTER GROUP CLOSE CREATE SUBSCRIPTION DROP OWNED REINDEX ALTER INDEX CLUSTER CREATE SYNONYM DROP PACKAGE REPLACE ALTER LARGE OBJECT COMMENT CREATE TABLE DROP PACKAGE BODY RESET ALTER MASKING POLICY COMMIT CREATE TABLE AS DROP PROCEDURE REVOKE ALTER MATERIALIZED VIEW COMMIT PREPARED CREATE TABLE PARTITION DROP PUBLICATION ROLLBACK ALTER NODE COPY CREATE TABLE SUBPARTITION DROP RESOURCE LABEL ROLLBACK PREPARED ALTER NODE GROUP CREATE APP WORKLOAD GROUP CREATE TABLESPACE DROP RESOURCE POOL SAMPLE SNAPSHOT ALTER OPERATOR CREATE APP WORKLOAD GROUP MAPPING CREATE TEXT SEARCH CONFIGURATION DROP ROLE SAVEPOINT ALTER PACKAGE CREATE AUDIT POLICY CREATE TEXT SEARCH DICTIONARY DROP ROW LEVEL SECURITY POLICY SELECT ALTER PROCEDURE CREATE BARRIER CREATE TRIGGER DROP SCHEMA SELECT INTO ALTER PUBLICATION CREATE CLIENT MASTER KEY CREATE TYPE DROP SEQUENCE SET ALTER RESOURCE LABEL CREATE COLUMN ENCRYPTION KEY CREATE USER DROP SERVER SET CONSTRAINTS ALTER RESOURCE POOL CREATE DATA SOURCE CREATE VIEW DROP SUBSCRIPTION SET ROLE ALTER ROLE CREATE DATABASE CREATE WEAK PASSWORD DICTIONARY DROP SYNONYM SET SESSION AUTHORIZATION ALTER ROW LEVEL SECURITY POLICY CREATE DIRECTORY CREATE WORKLOAD GROUP DROP TABLE SET TRANSACTION ALTER SCHEMA CREATE EVENT CURSOR DROP TABLESPACE SHOW ALTER SEQUENCE CREATE EVENT TRIGGER DEALLOCATE DROP TEXT SEARCH CONFIGURATION SHOW EVENTS ALTER SERVER CREATE EXTENSION DECLARE DROP TEXT SEARCH DICTIONARY START TRANSACTION ALTER SESSION CREATE FOREIGN TABLE DELETE DROP TRIGGER TIMECAPSULE TABLE ALTER SUBSCRIPTION CREATE FUNCTION DO DROP TYPE TRUNCATE ALTER SYNONYM CREATE GROUP DROP APP WORKLOAD GROUP DROP USER UPDATE ALTER SYSTEM KILL SESSION CREATE INDEX DROP APP WORKLOAD GROUP MAPPING DROP VIEW VACUUM ALTER SYSTEM SET CREATE LANGUAGE DROP AUDIT POLICY DROP WEAK PASSWORD DICTIONARY VALUES ALTER TABLE CREATE MASKING POLICY DROP CLIENT MASTER KEY DROP WORKLOAD GROUP ALTER TABLE PARTITION CREATE MATERIALIZED VIEW DROP COLUMN ENCRYPTION KEY END ALTER TABLE SUBPARTITION CREATE MODEL DROP DATA SOURCE EXECUTE ALTER TABLESPACE CREATE NODE DROP DATABASE EXECUTE DIRECT openGauss=#
📚第三章 安装总结
- 安装
5.0.1
快要成功的时候,业务人员说应该安装5.1.0
,好在安装步骤都一样,只要替换一下安装包即可 - 安装
5.0.1
最大的坑就是环境必须是python3.6
,但是5.1.0
版本,就没这个限制了 - 安装过程还有就是其它一些软件安装,除了官网提到的
bzip2
,还有expect
等,根据错误提示缺啥就安装啥即可
⁉️问题记录
❓问题一:执行gs_preinstall报错:Python 解释器在编译时未使用 -enable-shared 选项
[root@localhost openGauss]# cd /opt/software/openGauss/script [root@localhost script]# ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml Traceback (most recent call last): File "./gs_preinstall", line 32, in <module> check_python_compiler_option() File "/opt/software/openGauss/script/gspylib/common/CheckPythonVersion.py", line 39, in check_python_compiler_option carry the -enable-shared parameters") Exception: [GAUSS-52200] : When compiling python, carry the -enable-shared parameters [root@localhost script]#
❗解决方式:重新安装python,放开–enable-shared
./configure --enable-optimizations --enable-shared make make intall
❓问题二:No module named ‘_ctypes’
[root@localhost script]# /usr/local/bin/python3.7 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml Traceback (most recent call last): File "./gs_preinstall", line 48, in <module> from gspylib.common.Common import DefaultValue File "/opt/software/openGauss/script/gspylib/common/Common.py", line 20, in <module> import ctypes File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module> from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' [root@localhost script]#
❗解决方式:安装libffi-devel
yum install libffi-devel -y
make && make install
安装好libffi-devel
之后,重新编译安装python
之后,尝试导入import _ctypes
,可以正常导入
❓问题三:libpython3.6m.so.1.0 未找到
[root@localhost script]# /usr/local/bin/python3.7 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml Traceback (most recent call last): File "/opt/software/openGauss/script/gspylib/common/Common.py", line 64, in <module> import psutil File "/opt/software/openGauss/script/gspylib/common/../../../lib/psutil/__init__.py", line 102, in <module> from . import _pslinux as _psplatform File "/opt/software/openGauss/script/gspylib/common/../../../lib/psutil/_pslinux.py", line 26, in <module> from . import _psutil_linux as cext File "/opt/software/openGauss/script/gspylib/common/../../../lib/psutil/_psutil_linux.py", line 7, in <module> __bootstrap__() File "/opt/software/openGauss/script/gspylib/common/../../../lib/psutil/_psutil_linux.py", line 6, in __bootstrap__ imp.load_dynamic(__name__,__file__) File "/usr/local/lib/python3.7/imp.py", line 342, in load_dynamic return _load(spec) ImportError: /opt/software/openGauss/script/gspylib/common/../../../lib/psutil/_psutil_linux.so: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "./gs_preinstall", line 48, in <module> from gspylib.common.Common import DefaultValue File "/opt/software/openGauss/script/gspylib/common/Common.py", line 98, in <module> import psutil File "/opt/software/openGauss/script/gspylib/common/../../../lib/psutil/__init__.py", line 102, in <module> from . import _pslinux as _psplatform File "/opt/software/openGauss/script/gspylib/common/../../../lib/psutil/_pslinux.py", line 26, in <module> from . import _psutil_linux as cext ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory [root@localhost script]# [root@localhost script]#
❗解决方式:重新安装python3.6(5.0版本只支持python3.6)
❓问题四:Failed to read clusterName. Error:
[root@localhost script]# python3.6 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml [GAUSS-50204] : Failed to read clusterName. Error:
❗解决方式:配置不对
配置文件name
属性被改了,还原为clusterName
即可,value属性是可以改的
❓问题五: Failed to obtain local instance information
[root@localhost script]# python3.6 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml [GAUSS-51620] : Failed to obtain local instance information. It is not a host name localhost.localdomain. [root@localhost script]#
❗解决方式:修改主机名
根据报错修改为对应的主机名,和配置文件保持一致:hostnamectl set-hostname 要修改的名字
[root@localhost script]# python3.6 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml [GAUSS-51620] : Failed to obtain local instance information. It is not a host name localhost.localdomain. [root@localhost script]# [root@localhost script]# [root@localhost script]# [root@localhost script]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.2.10 bigdata01 192.168.2.11 bigdata02 192.168.2.12 bigdata03 [root@localhost script]# hostname localhost.localdomain [root@localhost script]# hostnamectl set-hostname bigdata01 [root@localhost script]# [root@localhost script]# [root@localhost script]# hostname bigdata01 [root@localhost script]#
❓问题六:[GAUSS-51405] : You need to install software:expect
直接根据报错进行软件安装
[root@localhost script]# python3.6 ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml [GAUSS-51405] : You need to install software:expect [root@localhost script]# [root@localhost script]# yum install -y expect
❓问题七:[FAILURE] bigdata02:[GAUSS-51251] : The /home/opengauss/app cannot be a root user group or a lin
根据报错进行修改,更改文件所属用户
❓问题八:[GAUSS-51405] : You need to install software:[‘bzip2’]
直接根据报错进行软件安装: yum install -y bzip2
[SUCCESS] bigdata01: [FAILURE] bigdata02: [GAUSS-51405] : You need to install software:['bzip2']