OceanBase CentOS7集群部署
2024-01-08 12:59:46
文章目录
OceanBase CentOS7集群部署
一、前置条件
1.1手动关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
1.2配置hosts
10.8.16.150 oceanbase1
10.8.16.151 oceanbase2
10.8.16.152 oceanbase3
10.8.16.153 oceanbase4
1.3设置无密码 SSH 登录
便捷脚本
#!/usr/bin/bash
#ip列表,密码
SERVERS=("root@oceanbase1" "root@oceanbase2" "root@oceanbase3" "root@oceanbase4")
PASSWORD="cqie"
keygen() {
sudo yum -y install expect
expect -c "
spawn ssh-keygen -t rsa
expect {
*(~/.ssh/id_rsa):* { send -- \r;exp_continue}
*(y/n)* { send -- y\r;exp_continue}
*Enter* { send -- \r;exp_continue}
*(y/n)* { send -- y\r;exp_continue}
*Enter* { send -- \r;exp_continue}
eof {exit 0}
}
expect eof
"
}
copy(){
expect -c "
set timeout -1
spawn ssh-copy-id $1
expect {
*(yes/no)* { send -- yes\r; exp_continue }
*password:* { send -- $PASSWORD\r; exp_continue}
eof {exit 0}
}
expect eof
"
}
ssh_copy_id_to_all(){
keygen ;
for host in ${SERVERS[@]}
do
copy $host
done
}
ssh_copy_id_to_all
1.4配置时钟源
1.4.1在每台机器上执行以下命令安装 NTP
yum install ntp ntpdate -y
1.4.2启动NTP
如果您计划部署分布式 OceanBase 集群,需要保证集群内各机器的时间同步,否则集群无法启动,服务在运行时也会出现异常。OceanBase 集群允许的时钟偏差不能超过 2s。当超过 2s 时,会出现无主情况。恢复时钟同步后,重启 OceanBase 集群,可以恢复正常
systemctl start ntpd
systemctl enable ntpd
1.4.2配置NTP服务端服务器
这里使用oceanbase1作为NTP服务端服务器
#以 root 用户登录 NTP 服务端服务器,运行以下命令编辑配置文件:
vi /etc/ntp.conf
#在配置文件中添加以下内容:
server cn.pool.ntp.org
#保存并关闭配置文件。
#重启ntp服务
systemctl restart ntpd
1.5配置 limits.conf
- 将会话级别的最大栈空间大小设置为
unlimited
,最大文件句柄数设置为655350
,Core 文件大小设置为unlimited
。
执行以下命令,打开 /etc/security/limits.conf
配置文件:
vi /etc/security/limits.conf
- 在
/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
1.6配置 sysctl.conf
- 执行以下命令,打开
/etc/sysctl.conf
配置文件:
vi /etc/sysctl.conf
- 在
/etc/sysctl.conf
配置文件中添加以下内容:
# for oceanbase
## 修改内核异步 I/O 限制
fs.aio-max-nr=1048576
## 网络优化
net.core.somaxconn = 2048
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.ip_local_port_range = 3500 65535
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_slow_start_after_idle=0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
# 此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /data/core-%e-%p-%t
- 加载配置
sysctl -p
1.7关闭防火墙和 SELinux
- 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
- 关闭 SELinux
#执行以下命令,打开 /etc/selinux/config 配置文件:
vi /etc/selinux/config
#在 /etc/selinux/config 配置文件中修改对应配置项为以下内容:
SELINUX=disabled
#执行以下命令或重启服务器,使更改生效:
setenforce 0
#执行以下命令,查看更改是否生效:
sestatus
二、集群部署
2.1集群规划
本文采用三副本部署模式,推荐使用四台机器,您可以根据自己实际情况选择合适的部署方案。本文中四台机器的使用情况如下:
角色 | 机器 | 备注 |
---|---|---|
OBD | 10.8.16.150 | 安装在中控机上的自动化部署软件 |
OBServer 节点 | 10.8.16.151 | OceanBase 数据库 Zone1 |
OBServer 节点 | 10.8.16.152 | OceanBase 数据库 Zone1 |
OBServer 节点 | 10.8.16.153 | OceanBase 数据库 Zone1 |
OBAgent | 10.8.16.151、10.8.16.152、10.8.16.153 | OceanBase 数据库监控采集框架 |
ODP | 10.8.16.150 | OceanBase 数据库专用的反向代理软件 |
OCP Express | 10.8.16.150 | 基于 Web 的 OceanBase 数据库 4.x 管理工具 |
2.2下载并安装 all-in-one 安装包
2.2.1在线安装
若您的机器可以连接网络,可执行如下命令在线安装。
bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"
source ~/.oceanbase-all-in-one/bin/env.sh
2.2.2离线安装
若您的机器无法连接网络,可参考如下步骤离线安装。
从 OceanBase 软件下载中心 下载最新的 all-in-one 安装包,并将其复制到中控机任意目录下。
在安装包所在目录下执行如下命令解压安装包并安装。
tar -xzf oceanbase-all-in-one-*.tar.gz
cd oceanbase-all-in-one/bin/
./install.sh
source ~/.oceanbase-all-in-one/bin/env.sh
2.3 OBD白屏部署
启动白屏界面
命令行执行 obd web
命令启动白屏界面,单击输出的地址访问白屏界面,在白屏界面中单击 开启体验之旅 即可进入到 OceanBase 数据库的配置界面。
obd web
说明
- 白屏界面默认使用 8680 端口,您可使用
obd web -p <PORT>
命令指定端口。 - 在阿里云或其他云环境下,可能出现程序无法获取公网 IP,从而输出内网地址的情况,此 IP 非公网地址,您需要使用正确的地址访问白屏界面。
文章来源:https://blog.csdn.net/qq_41631913/article/details/135403129
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!