张小白带你使用CentOS 7.6安装openGauss 2.0.1企业版
最近张小白参加了 openGauss的8小时训练营,写了2篇博客:
张小白OpenGauss训练营日记:
https://bbs.huaweicloud.com/blogs/300227
https://bbs.huaweicloud.com/blogs/300224
还顺利地通过了训练营的考试:
其实张小白连openGauss的皮都没有碰过,这就尴尬了。
张小白不得不赶紧找个版本装装试试:先装A机,如果装不了就只能装B了。。。
作为一个资深的数据库小白,先需要到官网了解一下安装的过程:https://opengauss.org/zh/docs/latest/docs/installation/%E4%BA%86%E8%A7%A3%E5%AE%89%E8%A3%85%E6%B5%81%E7%A8%8B.html
然后一步一步来就行了。
一、准备CentOS 7.6操作系统
首先,需要下载CentOS 7.6的镜像,这个镜像在CentOS官网和华为云、网易云、阿里云等镜像站已经找不到了。
只好去百度网盘找到了一个链接下载。。。
新建虚拟机:
下一步:
简易安装,下一步:
设置名称和位置:
给60G空间吧:(地主家余粮不多了)
下一步:
选择自定义硬件,多给点内存和CPU吧:
这样给不知道行不行:
点击完成开始简易安装:
耐心等待安装完毕。。。
安装完毕,重启,进入登陆界面:
登陆进去:
打开终端,查看CentOS版本:cat /etc/redhat-release
切换到root用户:
查看文件系统:
查看内存:
看看能不能连外网:
可以的。
二、更新yum源为国内源
更新yum源为华为云源:
cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
清除原有yum缓存并更新缓存:
yum clean all
yum makecache
三、下载openGauss 2.0.1企业版软件包
切换到/root目录
cd /root
到 https://opengauss.org/zh/download.html 下载企业版 CentOS的安装包:
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.1/x86/openGauss-2.0.1-CentOS-64bit-all.tar.gz
查看硬件:
内存要求32G以上。笔记本宿主机才32G内存,那就可以分配16G给它。
CPU要求8核,2.0G。笔记本宿主机是8核,2.3G。核有点少,主频是够了。
四、安装Python 3.6
需要Python 3.6.X
预装的系统只有python2:
安装Python3试试。
yum install python3
是要装Python 3.6.8,看来满足要求,那就Y继续:
python -V
python3 -V
五、安装系统软件依赖
下面开始安装以下软件:
1.libaio-devel 0.3.109-13
yum install libaio-devel
按Y继续:
0.3.109-13 刚刚好。
2.flex >=2.5.31
yum install flex
2.5.37 满足。
3.bison >=2.7-4
yum install bison
3.0.4 够了
4.ncurses-devel >=5.9-13
yum install ncurses-devel
5.9-14,够了,按Y继续:
5.glibc-devel >=2.17-111
yum install glibc-devel
2.17-324 够了,按Y继续:
6.patch >=2.7.1-10
yum install patch
2.7.1-12, 够了。
7.redhat-lsb-core >=4.1
yum install redhat-lsb-core
4.1,够了,按Y继续:
8.readline-devel >=7.0-13
yum install readline-devel
貌似有点不足啊,先按Y继续:
六、系统环境设置
1.关闭防火墙:
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
(当然常规的做法应该是建防火墙例外,现在为了快速搭建,直接关闭防火墙)
2.关闭SELINUX:
3.设置时区和时间:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
好像文件无需更换,已经一模一样了。
4.设置网卡MTU值:
MTU为1500
5.更新hostname
6.设置UTF-8字符集
vi /etc/locale.conf
vi /etc/profile
这样中文就能正常显示了:
7.允许root用户远程登陆:
修改banner设置:
重启sshd
systemctl restart sshd.service
重启CentOS。
使用Xshell,用root登陆:
8.创建数据库组:
groupadd dbgrp
omm用户暂时不需要创建。
9.修改系统参数sysctl.conf
vi /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 30
# add
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 30
# add
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_retries2 = 12
net.ipv4.ip_local_reserved_ports = 15400-15407,20050-20057
# add
net.ipv4.tcp_syncookies = 1
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
net.sctp.sctp_mem = 94500000 915000000 927000000
net.sctp.sctp_rmem = 8192 250000 16777216
net.sctp.sctp_wmem = 8192 250000 16777216
kernel.sem = 250 6400000 1000 25600
# add
net.ipv4.ip_local_port_range = 26000-65535
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
vm.min_free_kbytes = 812390
# add
vm.overcommit_memory = 0
vm.extfrag_threshold = 500
vm.overcommit_ratio = 90
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535
kernel.shmall = 1152921504606846720
kernel.shmmax = 18446744073709551615
sysctl -p
使得系统参数生效:
(需要去掉 net.ipv4.ip_local_port_range 参数,否则sysctl -p会报错)
10.修改文件句柄:
echo "* soft nofile 1000000" >>/etc/security/limits.conf
echo "* hard nofile 1000000" >>/etc/security/limits.conf
需重启系统生效,重启 CentOS:
七、openGauss安装
1.初始化安装环境:
mkdir -p /opt/software/openGauss
chmod 755 -R /opt/software
cd /opt/software/openGauss
mv /root/openGauss-2.0.1-CentOS-64bit*.gz .
2.编辑XML文件:
vi cluster_config.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="openGauss" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="db1" />
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" />
<!-- 数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<!-- 数据库core文件目录-->
<PARAM name="corePath" value="/opt/huawei/corefile" />
<!-- 节点IP,与数据库节点名称列表一一对应 -->
<PARAM name="backIp1s" value="192.168.49.132"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的部署信息 -->
<DEVICE sn="db1">
<!-- 节点1的主机名称 -->
<PARAM name="name" value="db1"/>
<!-- 节点1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.49.132"/>
<PARAM name="sshIp1" value="192.168.49.132"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
3.执行安装
用root用户,执行以下语句:
解压:
tar -zxvf openGauss-2.0.1-CentOS-64bit-om.tar.gz
cd script
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
密码输入的是zhanghui
切换到omm用户:
gs_install -X /opt/software/openGauss/cluster_config.xml --gsinit-parameter="--locale=zh_CN.utf8"
安装完毕。
八、安装后验证
1.查看进程:
2.查看数据库状态
gs_om -t status
3.gsql命令行操作:
查看XML中设置的openGauss的侦听端口(dataPortBase):
确认是15400
连接数据库:
gsql -d postgres -p 15400
\l 查看当前数据库列表:
创建数据库:
CREATE DATABASE mydb WITH ENCODING 'UTF-8' template = template0;
切换数据库 \c mydb
创建表以及一些常规插入,更新,删除操作:
# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录
SELECT * FROM user_tbl;
# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格
DROP TABLE IF EXISTS backup_tbl;
\q退出
好像常规操作没啥问题。
那么,这次的安装就告一段落吧!
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)