资讯专栏INFORMATION COLUMN

华为gaussDB 安装系列一

IT那活儿 / 2694人阅读
华为gaussDB 安装系列一

最近华为自主研发的gaussDB谈论的比较多,为了一探究竟,抓紧装来瞧瞧,下面是单机版安装顺序,有兴趣的同学可以按照这个步骤自己拔草。

 

本次拔草的是GaussDB 100OLTP型数据库,分布式并行数据库集群,2011年开始研发。GaussDB 100 包括两条线,一条产品线是基于单机版开源数据库 PostgreSQL 研发的产品,另一条线是自研内核的 GaussDB 100 产品。

 

下面开始拔草:

 

环境和安装介质准备:

 

系统版本:RedHat7.5 X86 64

数据库版本:GaussDB100 V1.0.0

 

 

一、开启root用户远程登录权限

1、编辑sshd_config文件

vi /etc/ssh/sshd_config

 

2、修改PermitRootLogin配置,允许用户远程登录。

可以使用以下两种方式实现:

1)注释掉"PermitRootLogin no"

#PermitRootLogin no

2)PermitRootLogin改为yes

PermitRootLogin yes

 

3、修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。

注释掉"Banner"所在的行。

#Banner none

 

4、修改PasswordAuthentication配置,允许用户登录时进行密码鉴权,退出保存。

PasswordAuthentication改为yes

PasswordAuthentication yes

 

5、重启sshd服务,并使用root用户身份重新登录。

#service sshd restart

如果执行命令后返回提示信息Redirecting to /bin/systemctl restart sshd.service

则执行如下命令:

#/bin/systemctl restart sshd.service

 

二、设置操作系统防火墙并重载生效

#firewall-cmd --permanent --zone=trusted --add-source=192.168.57.20/25

#firewall-cmd --permanent --zone=trusted --add-source=10.10.0.20/25

#firewall-cmd --reload

 

附:

开启防火墙

systemctl start firewalld.service

关闭防火墙

systemctl stop firewalld.service

防火墙开机启动

systemctl enable firewalld.service

设置开机禁用防火墙

systemctl disable firewalld.service

查看防火墙状态

firewall-cmd --state

 

三、系统参数配置

修改/etc/sysctl.conf,添加如下参数:

kernel.sem = 50100 128256000 50100 2560

net.core.netdev_max_backlog = 1000

net.ipv4.tcp_max_syn_backlog = 2048

kernel.core_pattern = /corefile/core.%p.%e

kernel.core_uses_pid = 1

kernel.shmmni = 4096

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

fs.file-max = 6815744

 

激活参数:

#sysctl -p

 

 

四、安装系统包

本次使用ISO介质配置yum源,用于数据库安装依赖包的安装。

/etc/rc.local文件末尾写入一行

mount /dev/cdrom /mnt  

保证每次系统启动的时候都能把光盘里面的内容挂载到/mnt目录中。

   

1、配置yum

将原先的yum源备份,新建一个yum

cd /etc/yum.repos.d

mkdir bak

mv redhat* ./bak

vi iso.repo 

 

[root@gaussdb11 yum.repos.d]# cat iso.repo 

[rhel-iso]

name=Red Hat Enterprise Linux - Source

baseurl=file:///mnt

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

2、查看package

#yum list

 

yum install -y zlib readline gcc

yum install -y python python-devel

yum install perl-ExtUtils-Embed

yum -y install -y readline-devel

yum -y install -y zlib-devel

 

3、验证包是否安装:

rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH}) " | grep -E "zlib|readline|gcc

|python|python-devel|perl-ExtUtils-Embed|readline-devel|zlib-devel"

 

五、开始数据库安装

1、创建组和用户:

groupadd -g 1000 dbgrp

useradd -u 1100 -g dbgrp -d /home/gsdb -m -s /bin/bash gsdb

passwd gsdb

 

2、文件系统规划:

#软件安装目录:≤0750       

mkdir -p /gsql/gaussdb100

mkdir -p /gsdata/data

mkdir /gslog

 

chown  gsdb:dbgrp /gsql

chown  gsdb:dbgrp /gsql/gaussdb100

chown  gsdb:dbgrp  /gsdata

chown  gsdb:dbgrp  /gsdata/data

chown  gsdb:dbgrp  /gslog

 

[root@gaussdb11 ~]#  ln -s /gsql/gaussdb100 /usr/local/gsdb100

[root@gaussdb11 ~]#  ls -rlt /usr/local/gsdb100

lrwxrwxrwx. 1 root root 16 Nov 13 11:32 /usr/local/gsdb100 -> /gsql/gaussdb100

 

3、解压安装包:(gsdb用户操作)

cd /tmp

tar -zxvf GaussDB_100_1.0.0-DATABASE-REDHAT-64bit.tar.gz -C /gsql/

 

4、安装数据库:

#执行install.py会按照建库模板,创建实例。模板要求data目录至少20G空间.

#"/opt/software/gaussdb/GAUSSDB100-V300R001C00-DATABASE-EULER20SP8-64bit/GAUSSDB100-V300R001C00-RUN-EULER20SP8-64bit/admin/scripts/create_database.sample.sql"

#本例中模板位置:/gsql/gaussdb100/admin/scripts/create_database.sample.sql

cd /gsql/GaussDB_100_1.0.0-DATABASE-REDHAT-64bit

python install.py -U gsdb:dbgrp -R /gsql/gaussdb100 -D /gsdata/data -C LSNR_ADDR=127.0.0.1,192.168.57.20,10.10.0.20 -C LSNR_PORT=1650 -C DATA_BUFFER_SIZE=400M -C SHARED_POOL_SIZE=150M -C TEMP_BUFFER_SIZE=150M

 

示例:


-U      指定安装用户和用户组。

-R       指定安装目录。

-D      指定数据文件目录,即GAUSSDATA目录。

-C       指定配置参数,可以指定多个。如果不指定,则按照/gsdata/data/cfg/zengine.ini中的默认配置项。

-P       在安装时,如果禁用免密登录,则需要在命令行最后指定此选项。命令行执行过程中,会提示输入连接数据库的用户名和密码,用户名是SYS

密码是SYS用户的出厂密码Changeme_123。如果开启免密登录则不需要指定本选项。

 

--注意:这个过程会比较久:从日志看,主要花费在create database

[root@gaussdb11 tmp]# ps -ef|grep -i gsdb

root       2403   1452  0 01:00 pts/0    00:00:00 python install.py -U gsdb:dbgrp -R /gsql/gaussdb100 -D /gsdata/data -C LSNR_ADDR=127.0.0.1,192.168.57.20,10.10.0.20 -C LSNR_PORT=1650 -C DATA_BUFFER_SIZE=400M -C SHARED_POOL_SIZE=150M -C TEMP_BUFFER_SIZE=150M

gsdb     2667      1 86 01:01 ?        00:01:10 /gsql/gaussdb100/bin/zengine nomount -D /gsdata/data

root       2712   2711  0 01:01 pts/0    00:00:00 su - gsdb -c /gsql/gaussdb100/bin/zsql / as sysdba 127.0.0.1:1650 -q -D /gsdata/data -f /gsql/gaussdb100/admin/scripts/create_database.sample.sql 

gsdb     2713   2712  0 01:01 ?        00:00:00 /gsql/gaussdb100/bin/zsql / as sysdba 127.0.0.1:1650 -q -D /gsdata/data -f /gsql/gaussdb100/admin/scripts/create_database.sample.sql

root       2729   2378  0 01:02 pts/2    00:00:00 grep --color=auto -i gsdb

 

2)查看日志,安装日志默认释放到用户home目录下:

安装日志示例:



 

5、编辑数据库参数(参数值大小请根据实际环境设置),重启实例生效:

cd /gsdata/data

mkdir cfg

cd cfg

vi zengine.ini

LSNR_PORT = 1650

LSNR_ADDR = 127.0.0.1,192.168.57.20,10.10.0.20

TEMP_BUFFER_SIZE = 150M

DATA_BUFFER_SIZE = 400M

SHARED_POOL_SIZE = 150M

LOG_BUFFER_SIZE = 32M

DBWR_PROCESSES = 2

LOG_BUFFER_COUNT = 6

SESSIONS = 300

 

/*参数说明:

TEMP_BUFFER_SIZE Temp buffer的大小。

DATA_BUFFER_SIZE 用于缓存最近访问的数据的,数据BUFFER区的大小。

SHARED_POOL_SIZE           Shared Pool的大小。

LOG_BUFFER_SIZE    Log buffer的大小。Log buffer用于缓存Redo日志。

DBWR_PROCESSES    后台写脏页面线程的个数,提高数值可以提高并发效率,但也会消耗较多资源。

LOG_BUFFER_COUNT         Log buffer的数量。

LSNR_ADDR        侦听的服务器IPV4地址。

LSNR_PORT        服务侦听的端口号。

SESSIONS 最大并发SESSION数。

*/

 

6、装完库,数据库默认是启动的。

su - gsdb

zengine  -D /gsdata/data &

 

[root@gaussdb11 gsdb]# ps -ef|grep -i gsper

root      19406  19285  0 16:32 pts/0    00:00:00 su - gsdb

gsdb    19407  19406  0 16:32 pts/0    00:00:01 -bash

gsdb    20793      1 75 17:03 ?        00:20:06 /gsql/gaussdb100/bin/zengine nomount -D /gsdata/data

gsdb    32697  19407  4 17:28 pts/0    00:00:02 zsql SYS/*@127.0.0.1:1650

root      32752  20478  0 17:29 pts/2    00:00:00 grep --color=auto -i gsper

 

7、登录数据库

--连接数据库:GaussDB 100默认管理员账户为SYS,密码为Changeme_123

zsql SYS/Changeme_123@127.0.0.1:1650 -q

 

 

8、配置PATH

[gsdb@gaussdb11 ~]$ vi .bash_profile

 

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

GSDB_DATA=/gsdata/data

export GSDB_DATA

 

GSDB_HOME=/gsql/gaussdb100

export GSDB_HOME

 

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/gsdb100/bin:$GSDB_HOME/bin

export PATH

 

--使得PATH生效:

source .bash_profile

 

 

[gsdb@gaussdb11 ~]$ which zsql

/gsql/gaussdb100/bin/zsql

 

9、登录数据库并修改管理员密码

[gsdb@gaussdb11 ~]$ zsql SYS/Changeme_123@127.0.0.1:1650 -q

 

connected.

 

 

SQL> ALTER USER SYS IDENTIFIED BY Gsdb_123 REPLACE Changeme_123;

 

Succeed.

 

10、创建用户及数据插入测试

1)创建测试用户及对应表空间



2)创建测试表及数据插入测试


插入734W数据耗时79.674S,本次安装测试是在笔记本上的虚拟机上进行的。不能作为生产库数据插入速度参考。

 

 

附:
当在centos使用redhat平台gaussdb100安装包进行安装时,会报错:


 

解决方法:

注释掉install.py文件中的平台检查指令:

cd /gsql/GaussDB_100_1.0.0-DATABASE-REDHAT-64bit

vi install.py

#        if self.run_pkg_name.find(distname.upper().replace("OS", "")) == -1:

#            logExit("Run package %s.tar.gz is inconsistent with os system %s." % (self.run_pkg_name, distname))

 

gaussDB单机版的登陆界面和使用习惯是不是似曾相识,感觉还是熟悉的问道


后续gaussDB分布式安装短文会继续更新,大家一起玩儿起来,有问题一起沟通交流。



文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130241.html

相关文章

  • 2021年9月国产数据库大事记

    .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body...

    suemi 评论0 收藏0
  • 2021年10月国产数据库排行榜:达梦反超OceanBase夺榜眼,TDSQL实现“四连增”,数据生

    摘要:年月国产数据库流行度排行榜前名连续三个月的分数下跌让名次下降一位,以分的总分来到榜单第三。国产数据库流行度排行榜与趋势变化本月分数下跌,总分,位于榜单第五。 2021年10月国产数据库流行度排行榜前15名 连续三个月的分数下跌让OceanBase名次下降一位,以424.83分的总分来到榜单第三。本月,OceanBase有几个重要事件,如亮相2021中国国际服务贸易交流会,参与HICOO...

    vpants 评论0 收藏0
  • 2021年8月国产数据库大事记

    摘要:本文整理了年月国产数据库大事件和重要产品发布消息。柏睿数据库加速安全卡面向全球重磅发布。月日,在全球数字经济大会成果发布会上,中国移动北京分公司与国产数据库领域新锐企业柏睿数据签署战略合作协议。本次大赛主要面向全国爱好数据库的高校学生。 本文整理了2021年8月国产数据库大事件和重要产品发布消息。目录8月国产数据库大事记TOP108月国产数据库大事记时间线产品/版本发布兼容认证8月排行榜新增...

    Scorpion 评论0 收藏0
  • 2021年11月国产数据库排行榜:openGauss闯入前三,Kingbase流行度与日俱增,TDe

    摘要:年月国产数据库流行度排行榜前名达梦本月分数下跌,总分,位于榜单第二位。人大金仓保持增长态势,本月分数大幅上涨,总分,位于榜单第九位。达梦入选其中,位列总榜第国产数据库第。月日,人大金仓与天津科大正式签订联合人才培养协议。2021年11月国产数据库流行度排行榜前15名   达梦本月分数下跌10.88,总分467.45,位于榜单第二位。作为具有完全自主知识产权的国产数据库厂商,今年达梦的...

    waruqi 评论0 收藏0
  • 2021年10月国产数据库大事记

    摘要:月日消息,近日,中国信息通信研究院大数据产品能力评测数据库方向的测评结果陆续出炉。月日消息,国家工业信息安全发展研究中心发布电信行业数据库产品第一期测评结果,前三名分别是阿里云数据库柏睿数据企业级交易型数据库信创版云和恩墨企业级数据库。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-si...

    elva 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<