openGauss 单机部署

一、安装环境

操作系统:虚拟机 VMware、CentOS7.9

环境设置:

(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 “ ... node1” >>/etc/hosts

二、安装详细步骤

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

(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。

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,...'"

③ 执行如下命令在数据库主节点配置文件中增加一条认证规则。(这里假设客户端 IP 地址为 ...,即远程连接的机器的 IP 地址)

gs_guc reload -N all -I all -h "host all yushan .../32 sha256"

  • -N all表示openGauss中的所有主机。
  • -I all表示主机中的所有实例。
  • -h表示指定需要在“pg_hba.conf”增加的语句。
  • all表示允许客户端连接到任意的数据库。
  • yushan表示连接数据库的用户。
  • .../32表示只允许IP地址为...的主机连接。在使用过程中,请根据用户的网络进行配置修改。32表示子网掩码为1的位数,即... - 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://...:26000/postgres";

Connection conn = null;

    try
{
//加载驱动。
Class.forName(driver);
}
catch( Exception e )
{
e.printStackTrace();
return null;
} try
{
//创建连接。
conn = DriverManager.getConnection(sourceURL, username, passwd);
System.out.println("Connection succeed!");
}
catch(Exception e)
{
e.printStackTrace();
return null;
} return conn;
};
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = getConnect("yushan", "1qaz@wsx");
//BatchInsertData(conn);
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

}

编译执行程序后,如图,连接成功。

三、安装过程中碰到的问题与解决办法

问题 1

在安装结束后,准备运行后,发现 gsom 无法启动。

解决过程:

猜测可能是内存不足,虚拟机一开始设置的内存为 1G,查阅相关博客发现,1G 内存对于企业版不足,后将虚拟机内存设置为 3G。

问题 2

运行 gsom 后报错如下

解决过程:

检查发现 pg_hba.conf 文件配置出错,修改如下

问题 3

一开始安装的虚拟机为 centos8,进行预安装后发现不支持该版本操作系统。

解决过程:

切换为 centos7.9,但依然报错,因此修改/etc/redhat-release 文件中系统版本为 CentOS Linux release 7.6(Core)

openGauss单机部署的更多相关文章

  1. Hadoop系列之(一):Hadoop单机部署

    1. Hadoop介绍 Hadoop是一个能够对海量数据进行分布式处理的系统架构. Hadoop框架的核心是:HDFS和MapReduce. HDFS分布式文件系统为海量的数据提供了存储, MapRe ...

  2. Ecstore安装篇-2.单机部署【linux】

    单机部署实施-linux 单机部署实施-linux author :James,jimingsong@vip.qq.com since :2015-03-02 系统环境需求 软件来源 底层依赖 1. ...

  3. ETL作业调度软件TASKCTL4.1单机部署

    单机部署,实际上就是将EM节点和一个Server节点安装到同一个地方.EM节点是TASKCTL服务端的最顶层,主要负责客户端与服务端之间的通信.Server节点是TASKCTL的调度服务控制层,也有A ...

  4. 使用yum源的方式单机部署MySQL8.0.13

    使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...

  5. 使用二进制安装包的方式单机部署MySQL8.0.13

    使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...

  6. solr单机部署tomcat

    所需软件:solr4.8.1.Tomcat7 下载完相应软件后开始单机部署(windows下) 在F盘根目录创建solr文件夹,并解压solr4.8和tomcat7到该文件夹 在F盘根目录创建solr ...

  7. Hadoop生态圈-CentOs7.5单机部署ClickHouse

    Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...

  8. Kafka记录-Kafka简介与单机部署测试

    1.Kafka简介 kafka-分布式发布-订阅消息系统,开发语言-Scala,协议-仿AMQP,不支持事务,支持集群,支持负载均衡,支持zk动态扩容 2.Kafka的架构组件 1.话题(Topic) ...

  9. centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解

    centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...

  10. Win10 下 hadoop3.0.0 单机部署

    前言 因近期要做 hadoop 有关的项目,需配置 hadoop 环境,简单起见就准备进行单机部署,方便开发调试.顺便记录下采坑步骤,方便碰到同样问题的朋友们. 安装步骤 一.下载 hadoop-XX ...

随机推荐

  1. Nebula Graph 源码解读系列 | Vol.03 Planner 的实现

    上篇我们讲到 Validator 会将由 Parser 生成的抽象语法树(AST)转化为执行计划,这次,我们来讲下执行计划是如何生成的. 概述 Planner 是执行计划(Execution Plan ...

  2. C++ 模板的笔记1

    C++模板的笔记1 C++ 函数模板 函数模板的定义 函数模板是一种可以生成不同类型函数的函数声明.函数模板的参数类型不是固定的,而是在调用时由实参类型推导出来. 语法: template <t ...

  3. Java 常用类 于 StringBuffer 和 StringBuilder的使用 + String三者的异同

    1 package com.bytezero.stringclass; 2 3 import org.junit.Test; 4 5 /** 6 * 关于 StringBuffer 和 StringB ...

  4. 按值传递,引用传递 浅析java String ,对象与对象引用的区别

    目录 一.前言 二.何谓对象? 三.何谓对象引用? 四.创建对象 Vehicle veh1 = new Vehicle(); 五.参数传值 六.Java Sting 最后!有错误的地方欢迎指正 一.前 ...

  5. [VueJsDev] 目录列表

    [VueJsDev] 目录列表 云服务器域名就一年,gitee上有不给发布,没办法 https://www.vuejsdev.com/ 还是迁移到博客园吧. 文章大部分是2022年9月份左右写的. 已 ...

  6. roadmap - json格式的 思维导图

    roadmap - json格式的 思维导图 前端路线图 http://www.bitcountrys.com/frontend.html https://gitee.com/ironman1987/ ...

  7. ESP8266 下安装esptool.py并使用esptool刷机神助手

    一 前记 在使用ESP8266模块时,通常会用到一些刷机软件.官方提供了nodemcu_flasher.ESPFlashDownloadTool.ESP8266Flasher等下载工具,但是缺少更底层 ...

  8. vivo统一接入网关VUA转发性能优化实践

    作者:vivo 互联网服务器团队 - Qiu Xiangcun 本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能.我们将介绍如何 ...

  9. iOS端创建ReactNative容器第一步:打出jsbundle和资源包

    react-native的打包流程是通过执行react-native bundle指令进行的.   添加构建指令 修改RN项目中的package.json文件,先其中添加构建命令build-relea ...

  10. 专访冠军考拉ok|“新人问我学Blender能找到工作吗,我回复不能”

    "新锐先锋,玩转未来"--首届实时染3D动画创作大赛由瑞云科技主办,英伟达.青椒云.3DCAT实时渲染云协办,戴尔科技集团.Reallusion.英迈.万生华态.D5渲染器.中视典 ...