最近华为自主研发的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}) " | 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
.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...
摘要:年月国产数据库流行度排行榜前名连续三个月的分数下跌让名次下降一位,以分的总分来到榜单第三。国产数据库流行度排行榜与趋势变化本月分数下跌,总分,位于榜单第五。 2021年10月国产数据库流行度排行榜前15名 连续三个月的分数下跌让OceanBase名次下降一位,以424.83分的总分来到榜单第三。本月,OceanBase有几个重要事件,如亮相2021中国国际服务贸易交流会,参与HICOO...
摘要:本文整理了年月国产数据库大事件和重要产品发布消息。柏睿数据库加速安全卡面向全球重磅发布。月日,在全球数字经济大会成果发布会上,中国移动北京分公司与国产数据库领域新锐企业柏睿数据签署战略合作协议。本次大赛主要面向全国爱好数据库的高校学生。 本文整理了2021年8月国产数据库大事件和重要产品发布消息。目录8月国产数据库大事记TOP108月国产数据库大事记时间线产品/版本发布兼容认证8月排行榜新增...
摘要:年月国产数据库流行度排行榜前名达梦本月分数下跌,总分,位于榜单第二位。人大金仓保持增长态势,本月分数大幅上涨,总分,位于榜单第九位。达梦入选其中,位列总榜第国产数据库第。月日,人大金仓与天津科大正式签订联合人才培养协议。2021年11月国产数据库流行度排行榜前15名 达梦本月分数下跌10.88,总分467.45,位于榜单第二位。作为具有完全自主知识产权的国产数据库厂商,今年达梦的...
摘要:月日消息,近日,中国信息通信研究院大数据产品能力评测数据库方向的测评结果陆续出炉。月日消息,国家工业信息安全发展研究中心发布电信行业数据库产品第一期测评结果,前三名分别是阿里云数据库柏睿数据企业级交易型数据库信创版云和恩墨企业级数据库。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-si...
阅读 1343·2023-01-11 13:20
阅读 1679·2023-01-11 13:20
阅读 1130·2023-01-11 13:20
阅读 1852·2023-01-11 13:20
阅读 4095·2023-01-11 13:20
阅读 2703·2023-01-11 13:20
阅读 1383·2023-01-11 13:20
阅读 3590·2023-01-11 13:20