ITPub博客

首页 > 数据库 > 国内数据库 > 华为GaussDB T(Gaussdb 100) 安装系列一

华为GaussDB T(Gaussdb 100) 安装系列一

原创 国内数据库 作者:passion_of_data 时间:2019-12-11 16:38:31 0 删除 编辑

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

 

本次拔草的是GaussDB 100:OLTP型数据库,分布式并行数据库集群,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})\n" | 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、安装数据库:

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。如果开启免密登录则不需要指定本选项。


[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分布式安装短文会继续更新,大家一起玩儿起来,有问题一起沟通交流。



微信公众号:IT那活儿

微信公众号对应文章地址:https://mp.weixin.qq.com/s/SD1xdN31uuYvGwiE3m0u1w

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25964700/viewspace-2668114/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论
DBA

注册时间:2011-06-20

  • 博文量
    53
  • 访问量
    310467