系统环境
CentOS7.9最小化安装(否则配置的时候得先验证) 假设集群主机环境如下
主机IP | 主机名 | ssh端口号 | 是否主节点 |
---|
192.168.42.144 | dbnode1 | 20884 | Y | 192.168.42.145 | dbnode2 | 20885 | N | 192.168.42.146 | dbnode3 | 20886 | N |
确保集群的主机网络互通,ssh互通
主机名设置
hostnamectl set-hostname dbnode1
hostnamectl set-hostname dbnode2
hostnamectl set-hostname dbnode3
hosts文件配置
每个节点的/etc/hosts文件添加以下内容
192.168.42.144 dbnode1
192.168.42.145 dbnode2
192.168.42.146 dbnode3
ssh互信配置
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
- 密钥分发
每个节点都执行以下命令(交互执行,必须一条一条执行),把自己的密钥发送给所有节点
ssh-copy-id -p 20884 root@dbnode1
ssh-copy-id -p 20885 root@dbnode2
ssh-copy-id -p 20886 root@dbnode3
执行示例如下图
时钟同步chrony配置
说明:Chrony是一个开源的自由软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服务,它能保持系统时间与时间服务器(NTP)同步,让时间始终保持同步。相对于NTP时间同步软件,占据很大优势。
详情请参考: CentOS7集群时间同步.
- 主节点chrony服务配置(作为集群的ntp服务端)
在dbnode1节点配置
sed -i '/server /d' /etc/chrony.conf
sed -i "/# Please/a server ntp1.aliyun.com iburst" /etc/chrony.conf
sed -i "/#allow/a allow 0.0.0.0/0" /etc/chrony.conf
sed -i 's/#local/local/g' /etc/chrony.conf
systemctl restart chronyd
chronyc -a makestep
- 其他节点chrony服务配置(作为ntp客户端)
在其他节点上都进行配置
sed -i '/server /d' /etc/chrony.conf
sed -i "/# Please/a server dbnode1 iburst" /etc/chrony.conf
systemctl restart chronyd
chronyc -a makestep
关闭防火墙和selinux
每个节点都执行
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
内核调优
每个节点都执行
sysctl -w vm.swappiness=10
sysctl -p
echo 'vm.swappiness=10' >> /etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
chmod +x /etc/rc.d/rc.local
更新中…
|