【OBD 白屏部署单机 OceanBase-CE 4.2.0】

OBD 白屏部署单机 OceanBase-CE 4.2.0

官网文档
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001697442

软件下载
https://www.oceanbase.com/softwarecenter

注意:以下显示obadmin的地方,全部改为admin

一、准备工作

一、测试服务器配置

IPCPU内存磁盘
192.166.0.2154C16G380G机械

● 注意:即使是单机部署,最好可以挂载多块磁盘,分别用来存储不同组件的数据,防止出现问题
在这里插入图片描述
● 由于是单机部署单实例数据库,因此,OBProxy 和监控不用装

● 通过实际安装,对比mysql(单体),mysql除了实例安装以外,就只剩下运行时占用内存,包括session、sql执行、数据缓存等;OceanBase存在租户概念,每个租户都要占用一部分内存,在小型应用场景下,首先系统租户需要占用一定的CPU和内存,其次是数据库系统服务需要占用一定的CPU和内存,最后是多租户公共资源,这是比mysql多的地方;除此以外,OceanBase有官方监控,这个不建议安装和使用,因为只有一台服务器,那么数据库和监控就会在一起,增加服务器负担(监控服务资源占用较高);剩下的就是业务使用了;为了业务使用,需要建立一个业务租户

● 实际使用中,建议不要使用机械硬盘

二、注意时间同步

1、在内网环境下,可能存在服务器时间慢的问题,需要部署一个NTP服务器,数据库服务器和NTP服务器保持时间同步

2、如果可以连接外网,看看是否安装了 chrony,安装了以后可以自动同步网络时间

三、目录安排

1、backup-job: 物理备份脚本所在位置,使用crontab调用,详情见《物理备份脚本》

2、core-dump:存储系统内核的dump日志,在修改系统参数时需要使用

3、install:安装包

4、singleob:数据库

5、startup:数据库开机自动启动脚本在这里插入图片描述
※注意:为了日后扩展方便,安装数据库的非root租户需要是admin用户,其余用户名称都可能出现问题

二、安装部署

一、配置服务器用户(之后的安装不用root用户)

● useradd -U admin -d /home/admin -s /bin/bash

● mkdir -p /home/admin

● sudo chown -R admin:admin /home/admin

● passwd admin

※ 密码:xxx

● 为admin用户设置sudo权限

	vim /etc/sudoers

	添加以下内容:admin		ALL=(ALL)       NOPASSWD: ALL

	保存

二、服务器上切换 admin 用户,并创建目录

● su admin

● cd ~

● 创建目录:mkdir core-dump singleob startup install

三、上传 oceanbase-all-in-one-4.2.0 到服务器,解压安装

● scp oceanbase-all-in-one-4.2.0-xxxx.tar.gz root@192.168.0.220:/home/admin/install

● tar -xzf oceanbase-all-in-one-*.tar.gz

● cd oceanbase-all-in-one/bin/

● ./install.sh

● source ~/.oceanbase-all-in-one/bin/env.sh

● vim ~/.bashrc
	
	source ~/.oceanbase-all-in-one/bin/env.sh

四、修改 limits.conf

● vim /etc/security/limits.conf

root soft nofile 655350
root hard nofile 655350
* soft nofile 655350
* hard nofile 655350
* soft stack 20480
* hard stack 20480
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited

● 退出当前会话,ulimit -a验证是否生效

五、配置 /etc/sysctl.conf

● vim /etc/sysctl.conf

fs.aio-max-nr=1048576 # 修改内核异步 I/O 限制
net.core.somaxconn = 2048 # Socket 监听队列的最大长度,频繁建立连接需要调大该值
net.core.netdev_max_backlog = 10000 # 协议栈处理的缓冲队列长度,设置的过小有可能造成丢包   
net.core.rmem_default = 16777216 # 接收缓冲区队列的默认长度
net.core.wmem_default = 16777216 # 发送缓冲区队列的默认长度
net.core.rmem_max = 16777216 # 接收缓冲区队列的最大长度
net.core.wmem_max = 16777216 # 发送缓冲区队列的最大长度

net.ipv4.tcp_rmem = 4096 87380 16777216 # Socket 接收缓冲区的大小,分别为最小值、默认值、最大值
net.ipv4.tcp_wmem = 4096 65536 16777216 # Socket 发送缓冲区的大小,分别为最小值、默认值、最大值
net.ipv4.tcp_max_syn_backlog = 16384 # 处于 SYN_RECVD 状态的连接数
net.ipv4.tcp_fin_timeout = 15 # Socket 主动断开之后 FIN-WAIT-2 状态的持续时间
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1 # 允许重用处于 TIME WAIT 状态的 Socket
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_slow_start_after_idle=0 # 禁止 TCP 连接从 Idle 状态的慢启动,降低某些情况的网络延迟

vm.swappiness = 0 # 优先使用物理内存
vm.min_free_kbytes = 2097152

# 系统内核dump日志存储目录,结合具体使用修改目录位置
kernel.core_pattern = /home/admin/core-dump/core-%e-%p-%t

● 生效:sysctl -p

六、关闭防火墙和SELinux

● 关闭防火墙

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

● 关闭 SELinux
vim /etc/selinux/config
	
	SELINUX=disabled

● 查看 SELinux 状态:sestatus

● 重启sudo reboot

在这里插入图片描述

七、启动 obd web在这里插入图片描述

● 单机部署,资源不足,不部署代理服务和监控服务

在这里插入图片描述

● 因为只有一个虚拟机,因此全部节点IP都是当前的虚拟机IP

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

● datafile_size:数据文件使用的磁盘空间量;

● log_disk_size:redolog 使用的磁盘空间量;

● 当datafile和logfile在一个磁盘上的时候,二者总使用量可设置为总磁盘空间的90%,其中datafile_size占60%,log_disk_size占30%;log_disk_size可复用,除非出现BUG,否则不会持续增长

● memory_limit 是整个数据库能使用的最大内存量

● system_memory:是在memory_limit中预留出的给非用户租户和系统租户使用的内存(500租户),即租户共享内存,不要设置的太小,建议设置为memory_limit的1/4

● cpu_count:为实际的主机(虚拟机)核数

● enable_syslog_recycle + max_syslog_file_count:使得observer.log.20230915110215490 这种日志的数量<=max_syslog_file_count配置的值,避免无限使用磁盘空间

● datafile_maxsize:数据文件可使用的磁盘空间的最大值,该值可比当前服务器剩余磁盘空间大,这样方便日后磁盘扩容

● datafile_next:当数据文件占用磁盘空间达到datafile_size时,下一步扩容的空间;比如datafile_size设置为20G,datafile_next设置为2G,当20G快用完时,数据库会再向系统申请2G的空间用于存储数据文件

※ 注意系统日志使用的磁盘空间:

系统日志文件一共为4种,最大使用磁盘空间的计算公式为:

max_syslog_file_count * 256M * 4 * (enable_syslog_wf ? 2 : 1)

max_syslog_file_count 是设置的,假如是20,enable_syslog_wf默认是开启的,4是指系统日志类型有4种

带入公式, 20 * 256M * 4 * 2 = 30G

由于 .wf 类型日志数据量,在通常情况下会很少,因此磁盘空间使用会低于40G

因此,在设置 数据空间 + 日志空间磁盘占用的时候,需要考虑一下系统日志(数据库运行日志) +  操作系统使用的空间

※ 注意,datafile_next的值不应过小,否则数据量增长过快时,数据库会频繁向操作系统申请空间

※ 比如磁盘剩余空间500G,datafile_size设置为100G,datafile_maxsize设置的比500G大,则在OB中查询服务器资源的时候(查询GV$OB_SERVERS),DATA_DISK_CAPACITY实际上显示的是磁盘剩余空间的95%,即470G左右,当剩余磁盘空间不断被其他程序挤占,则DATA_DISK_CAPACITY会随着占用而减小

● 预检查

此处发生了个问题,ssh 失败,但是用户名密码都对,最后发现是ssh连接太慢

在这里插入图片描述
在这里插入图片描述

三、部署完成

一、创建用户租户

● 略

● 注意:直连业务租户的数据库时,注意用户名后,需要跟着租户,比如:root@租户

二、集群运维

● 查看集群状态
	obd cluster display singleob

● 停止已部署的集群
	obd cluster stop singleob

● 销毁已部署的集群
	obd cluster destroy singleob

三、配置开机自启

※ 注意:如果配置了物理备份,则需要先启动NFS、挂载NFS服务端目录,最后再启动数据库

※ 开机自启脚本略

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值