海量数据库安装部署初体验

文章目录


前言

今天受所长邀请体验一下海量数据库

于是我到官网上找安装包结果没找到。。。。

最后问了所长原本在学堂里
https://education.vastdata.com.cn/pc/#/index/classroomDetails?id=3aec5445ae


一、环境准备

项目 配置
操作系统 OracleLinux7.9
CPU架构 x86_64
内存 8GB
硬盘 32G

没有centos7.9的镜像,OracleLinux7.9应该也可以吧,尝试一下

操作系统信息

sql 复制代码
cat /etc/os-release

二、安装前准备

1.关闭防火墙

sql 复制代码
sudo systemctl status firewalld.service
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

2.关闭透明大页

如果不关闭THP(Transparent Huge Pages,透明大页),可能会对数据库性能产生负面影响。

a. 查看 service 文件。

sql 复制代码
vi /etc/systemd/system/disable-thp.service

b. 编辑文件,添加以下内容。

sql 复制代码
[Unit]
Description=Disable Transparent Huge Pages (THP)
 
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
 
[Install]
WantedBy=multi-user.target

c. 修改完成后,执行命令加载系统服务,并设置开机自启动。

sql 复制代码
systemctl daemon-reload
systemctl start disable-thp
systemctl enable disable-thp

d. 查看THP状态,当返回结果均为always madvise [never]时表示成功设置透明大页永久关闭。

sql 复制代码
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag

3.配置时区

sql 复制代码
timedatectl set-timezone Asia/Shanghai
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4.配置IPC参数

如果删除数据库服务器使用的IPC资源(共享内存段和信号量),可能引发数据库宕机,所以需要设置参数RemoveIPC=no。

a. 查看配置文件logind.conf,确认已设置RemoveIPC=no。

sql 复制代码
vi /etc/systemd/logind.conf

b. 查看文件systemd-logind.service,确认已设置RemoveIPC=no。

sql 复制代码
vi /usr/lib/systemd/system/systemd-logind.service

c. 重新加载配置参数。

sql 复制代码
systemctl daemon-reload
systemctl restart systemd-logind

d. 检查修改是否生效。

sql 复制代码
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC

5.配置内核参数

a. 查看内核参数配置文件。

sql 复制代码
vi /etc/sysctl.conf

b. 编辑配置文件,将内核信息写入文件。以下示例仅供参考,可根据实际内存等情况进行设置。

sql 复制代码
fs.aio-max-nr=1048576
fs.file-max= 76724600
kernel.sem = 4096 2097152000 4096 512000
kernel.shmall = 1572864         # pages,  80% MEM or higher
kernel.shmmax = 4294967296     # bytes,  50% MEM or higher
kernel.shmmni = 819200
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 4194304
net.core.somaxconn = 4096
net.ipv4.tcp_fin_timeout = 5
vm.dirty_background_bytes = 409600000 
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 80
vm.dirty_writeback_centisecs = 50
vm.overcommit_memory = 0
vm.swappiness = 0
net.ipv4.ip_local_port_range = 40000 65535
fs.nr_open = 20480000

c. 重载配置,使其在不关机的情况下生效。

sql 复制代码
sysctl -p

6.关闭SELinux

a. 查看配置文件

sql 复制代码
vi /etc/selinux/config

编辑配置文件,将 SELINUX=enforcing 修改为 SELINUX=disabled。

修改完成之后需要重启系统让修改生效。

sql 复制代码
reboot

三、数据库安装

1.创建数据库用户

创建数据库安装用户 vastbase,设定初始密码

sql 复制代码
useradd -m vastbase 
passwd vastbase

2.创建数据库数据目录

sql 复制代码
mkdir -p /home/vastbase/data/vastbase
chmod 700 /home/vastbase/data/vastbase
chown -R vastbase:vastbase /home/vastbase/data/vastbase

3.创建数据库软件目录

sql 复制代码
mkdir -p /home/vastbase/local/vastbase
chown -R vastbase:vastbase /home/vastbase

4.修改资源限制

a. 查看配置文件

sql 复制代码
vi /etc/security/limits.conf

b. 在文件末尾添加以下内容,保存退出

sql 复制代码
vastbase soft nproc unlimited
vastbase hard nproc unlimited
vastbase soft stack unlimited
vastbase hard stack unlimited
vastbase soft core unlimited
vastbase hard core unlimited
vastbase soft memlock unlimited
vastbase hard memlock unlimited
vastbase soft nofile 1024000
vastbase hard nofile 1024000

5.解压安装包

sql 复制代码
mkdir -p /soft/vb
cd /soft/vb
tar -xvf Vastbase-installer-2.2_Build15-centos_7-x86_64.tar.gz
chown -R vastbase:vastbase /soft/vb/
chmod -R 775 /soft/vb/

6.运行安装程序

切换到数据库安装用户vastbase

sql 复制代码
su - vastbase

运行安装程序

sql 复制代码
cd /soft/vb/vastbase-installer/
./vastbase_installer

7.数据库安装



写入一下授权文件

sql 复制代码
echo "license_path='/soft/vb/vastbase_license' " >> $PGDATA/postgresql.conf

7.常用命令

sql 复制代码
##启动数据库服务
vb_ctl start

##停止数据库服务
vb_ctl stop

##重启数据库服务
vb_ctl restart

##显示数据库状态
vb_ctl status

##查看数据库版本
select version();

##查看帮助
\h

##查看用户列出所有用户的权限信息
\du

##查看当前用户
\c 
或 
select current_user;SELECT SESSION_USER, CURRENT_USER;

##退出
\q

##查看数据库、所有者、字符集
\l

##切换数据库
\c  datahub

##切换用户
\c  - system

##列举表
\dt

##查看表结构
\d users

##查看索引
\di

##查看角色属性
\du or \dg

##开启扩展显示
\x

##查看当前数据存储目录
show data_directory;

##查看文件路径
show config_file;
show hba_file;
show ident_file;

##查看用户列表
SELECT * FROM pg_user;

##查询pg_roles系统视图查看用户权限
SELECT * FROM pg_roles;

##查看用户属性
SELECT * FROM pg_authid;

##查看数据库角色
SELECT * FROM PG_ROLES;

##查看数据库时间
SELECT now;
SELECT sysdate;
SELECT CURRENT_TIMESTAMP;
SELECT CURRENT_DATE;
SELECT CURRENT_TIME;

总结

这次在 Oracle Linux 7.9 上安装 Vastbase ,需要注意两点:系统依赖补齐 和 内存参数调优。前期安装器能正常运行,但会因为缺少 perl、libicu、tcl、bzip2 等依赖导致安装中断。还有一点是 memory out of limit 启动失败问题,原因是默认模板配置中 shared_buffers、wal_buffers、max_connections 等参数过大,需要修改。

总体体验下来海量的安装不复杂,由于我是用的Oracle Linux可能阻力会多一些,正常centos应该不会出现这些问题。

相关推荐
野生技术架构师1 分钟前
一个简单SQL的深度解析
android·数据库·sql
云飞云共享云桌面1 分钟前
研发部门使用SolidWorks和ug,cad,设计共享云桌面应该怎么选?
运维·服务器·网络·人工智能·3d
麦聪聊数据6 分钟前
数据库安全与运维管控(五):基于AST的SQL拦截与动态审批
运维·数据库·sql
BullSmall7 分钟前
linux 系统下模拟网络丢失和ping延迟,可以怎么来模拟
linux·网络·php
亚空间仓鼠8 分钟前
OpenEuler系统常用服务(十)
linux·运维·服务器·网络
艾莉丝努力练剑8 分钟前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
同聘云8 分钟前
阿里云国际站 服务器的“客户端” (Client) 和 “服务器” (Server)到底是什么?有什么区别?
服务器·网络·阿里云·云计算·云小强
邓霖涛9 分钟前
nginx使用openSSL自签生成https相关证书
服务器·nginx·https
有味道的男人10 分钟前
电商效率翻倍:用 Open Claw 对接 1688 接口,快速实现图片选品 + 货源监控
java·开发语言·数据库
Omics Pro13 分钟前
马普所:生命蛋白质宇宙聚类
数据库·人工智能·算法·机器学习·数据挖掘·aigc·聚类