1)参数修改
vim /etc/sysctl.confnet.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
vm.max_map_count=655360
fs.aio-max-nr=1048576sysctl -p
vi /etc/security/limits.conf * soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimiteduname -a
2)关闭防火墙和 SELinux
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
vi /etc/selinux/config SELINUX=disabled //千万不要改错行,最后一行#SELINUXTYPE=disabled,否则重启会起不来
[root@obce01 ~]# reboot
[root@obce01 ~]# getenforce
Disabled
3)配置时间同步服务(linux8.x使用chronyc)
OceanBase 数据库是分布式数据库产品,是一个集群软件,对各个节点之间的时间同步性有要求。 技术上要求所有节点之间的时间误差需控制在50ms 以内。实际生产环境中为了稳定性和性能考虑,建议时间误差控制在 10ms 以内。
服务端最简单的配置(以本机为服务端,客户端的话,只需配置第一行)
vi /etc/chrony.conf
server 127.0.0.1
allow 192.168.0.0/16 ## 允许客户端来同步本机时间
local stratum 10 ## 本机不同步任何主机的时间,本机作为时间源。
值10可以被其他值取代,可选范围为1到15。
stratum 1表示计算机具有直接连接的真实时间的参考时间源,例如:GPS、原子钟。这样的计算机的时间与真实时间非常接近。
stratum 2表示该计算机有一个stratum 1的计算机作为同步时间源
stratum 3表示该计算机有一个stratum 10的计算机作为同步时间源。
stratum 10,表示距离具有真实时间的服务器比较远,它的时间是不太可靠的。换句话说,假如该计算机可以连接到一台最终与真实时间同步的计算机,那么该计算机的stratum层级几乎可以肯定比10小。因此,为local命令选取stratum 10这样的大数值,可以防止机器本身的时间与真实时间混淆,可以保证该机器不会将本身的时间授时给那些可以连接同步到真实时间的ntp服务器的ntp客户端。
重启服务
systemctl restart chronyd.service
查看时间同步活动
chronyc activity
查看时间服务器
chronyc sources
查看同步状态
chronyc sources -v
校准时间服务器:
chronyc tracking
当前系统时区 timedatectl
查看可用时区 timedatectl list-timezones
4)新加admin用户并提权
useradd admin
echo ‘admin:adminPWD123’ | chpasswd
在 CentOS 上为 admin 用户增加 sudo 权限有以下两个方法:
方法1:
usermod admin -G wheel
vi /etc/sudoers
%wheel ALL=(ALL) NOPASSWD: ALL方法2:
vi /etc/sudoers
添加admin ALL=(ALL) NOPASSWD: ALL admin用户下,sudo date测试
5)配置 SSH 免密登录(必须做,否则obd部署会报错)
admin@192.168.152.30 connect failed: No authentication methods available
1.在中控机生成 RSA 或 DSA 公钥和私钥
su - admin
ls -al .ssh/
ssh-keygen -t rsa
ls -al .ssh/
2.打通到本机的 SSH 免密登录,多个设备之间互相打通同理。
ssh-copy-id 192.168.152.30
ls -al .ssh/
6)安装 OBD 软件(离线)
下载 Redhat / CentOS 8.x 相关软件命令(版本可以调整,访问https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/自己选择):
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/ob-deploy-1.1.0-1.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/oceanbase-ce-3.1.0-3.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/oceanbase-ce-libs-3.1.0-3.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/obclient-2.0.0-2.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/libobclient-2.0.0-2.el8.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/obproxy-3.1.0-1.el8.x86_64.rpm
su - admin
sudo rpm -ivh *
source /etc/profile.d/obd.shrpm -ql oceanbase-ce-3.1.0-3.el8.x86_64.rpm
rpm -ql obproxy-3.1.0-1.el8.x86_64.rpm
rpm -ql `rpm -qa|grep ob-deploy`
OBD 工作的文件都在当前用户 HOME 目录下:
tree ~/.obd -L 1
报错:未找到~/.obd/
卸载当前版本,重新安装如下版本,解决
cd /home/admin
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/8/x86_64/ob-deploy-1.6.2-10.el8.x86_64.rpm
7)将软件包添加到离线仓库
查看仓库的 RPM 列表 obd mirror list (不同用户有不同的仓库,请一直使用admin)
obd mirror disable remote
将前面的软件包复制到本地仓库 obd mirror clone ~/*.rpm
obd mirror list local[admin@obce01 ~]$ obd mirror list local
+-------------------------------------------------------------------------------------------+
| local Package List |
+-------------------+---------+---------+--------+------------------------------------------+
| name | version | release | arch | md5 |
+-------------------+---------+---------+--------+------------------------------------------+
| libobclient | 2.0.0 | 2.el8 | x86_64 | 358a90b4a47da193140c3bee023b2450126de4c6 |
| obclient | 2.0.0 | 2.el8 | x86_64 | 71753559d82e9f6c0b8a6d949b9a5194c6c53dc6 |
| ob-deploy | 1.1.0 | 1.el8 | x86_64 | 0c84129b699aca0b43fdfb01fb2c4439f36ff856 |
| ob-deploy | 1.6.2 | 10.el8 | x86_64 | 0c0071b14d3799da3dac39b5d5711afcd34c4921 |
| obproxy | 3.1.0 | 1.el8 | x86_64 | d242ea5fe45222b8f61c3135ba2aaa778c61ea22 |
| oceanbase-ce | 3.1.0 | 3.el8 | x86_64 | 84bd2fe27f8b8243cc57d8a3f68b4c50f94aab80 |
| oceanbase-ce-libs | 3.1.0 | 3.el8 | x86_64 | 1c20be0df8929f843e9bdd509de4916f883d62f8 |
| obagent | 1.2.0 | 4.el8 | x86_64 | 5a4dd1c44dbf975042d26332f4ea7dc76ad16940 |
+-------------------+---------+---------+--------+------------------------------------------+