当我们准备好了软硬件环境后,就可以配置Hubble集群环境服务了
注意:
每台服务器都需要进行配置
使用root账户
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a #关闭
swapon -a #开启
注意:
建议永久性关闭交换分区
Hubble数据库属于对IO敏感型基础架构,swapping会将主内存交换到磁盘,从而对性能造成负面影响。内存中操作是需要快速执行的操作。如果内存交换到磁盘,100微秒操作将花费10毫秒。建议系统上完全禁用swapping
systemctl status firewalld.service
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld.service
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
vi /etc/sysconfig/selinux
SELINUX=disabled
setenforce 0
注意:
建议永久性禁用selinux
vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
kernel.core_uses_pid = 1
kernel.pid_max = 4194303
kernel.randomize_va_space = 0
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 51200 100 2048
kernel.sysrq = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
fs.file-max = 1500000
net.ipv4.ip_forward = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 3
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_retries2 = 3
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_fin_timeout = 10
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
net.core.somaxconn = 32768
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
vm.swappiness = 0
vm.max_map_count = 6553000
sysctl -p
vi /etc/security/limits.d/hubble.conf
hubble - nofile 1000000
hubble - nproc 16000
echo 1500000 > /proc/sys/fs/file-max
vi /etc/hostname
hubble01
注意:
主机名需要根据实际环境进行编排
vi /etc/sysconfig/network-scripts/ifcfg-xx
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=p3p2
UUID=4f145ed6-e645-45c5-a91f-cbfb6df7213a
DEVICE=p3p2
ONBOOT=yes
IPADDR=192.168.1.11
PREFIX=24
GATEWAY=192.168.1.1
IPV6_PRIVACY=no
DNS1=8.8.8.8
DNS2=192.168.1.180
注意:
ifcfg-xx
需要根据实际地址进行改动
useradd -d /home/hubble -m hubble #添加用户与组
passwd hubble #设置密码
rpm -qa|grep chrony # 确认是否安装了chrony
yum install chrony -y #安装时间同步软件
vi /etc/chrony.conf
server 192.168.1.11 iburst #选择集群中一台作为服务器
allow 192.168.1.0/24 # 设置运行同步的网段
local stratum 10 #同步时间周期10ms
systemctl start chronyd.service #启动chrony服务
systemctl enable chronyd.service #开机启动
注意:
Chrony是一个开源的自由软件,在RHEL 7操作系统,已经是默认服务,Chrony作为NTP的替代,推荐使用chrony
基于实际情况进行chrony配置
Hubble数据库需要一定级别的时钟同步来保证数据的一致性。如果当一个节点检测到自身的时钟与集群中至少一半节点不同步,并超出了可接受的最大偏移量时(默认500ms),这个节点将自动关闭服务,以保护数据库整体数据的一致性。所以hubble数据库集群的稳定性,需要建立在稳定的时钟同步前提下
yum install nfs-utils rpcbind #安装nfs 和rpcbind服务
vi /etc/sysconfig/nfs
#增加配置
LOCKD_TCPPORT=30001 #TCP锁使用端口
LOCKD_UDPPORT=30002 #UDP锁使用端口
MOUNTD_PORT=30003 #挂载使用端口
STATD_PORT=30004 #状态使用端口
firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=30001/tcp --permanent
firewall-cmd --zone=public --add-port=30002/tcp --permanent
firewall-cmd --zone=public --add-port=30003/tcp --permanent
firewall-cmd --zone=public --add-port=30004/tcp –permanent
mkdir -p /data5/shares #需要找一个磁盘空间大的文件目录
chmod -R 777 /data5/shares/
vi /etc/exports #默认不存在此文件新建即可
/data5/shares 192.168.1.0/24(rw,sync)
注意:
指定集群中1台服务器中作为NFS挂载
设置的NFS盘一定要空间相对比较大
#先为rpcbind和nfs做开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
#然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
rpcinfo -p #确认NFS服务器启动成功
exportfs -r #使exportfs生效
exportfs #可以查看到已经配置正确
mkdir /data_shares
mount -t nfs 192.168.1.11:/data5/shares /data_shares
vi /etc/fstab
192.168.1.11:/data5/shares /data_shares nfs defaults 0 0
df -h
192.168.1.11:/data5/shares 1.8T 507G 1.3T 29% /data_shares
注意:
192.168.1.11 根据每台环境来设置
客户端配置集群中每台服务器都执行
vi /etc/hosts #设置集群主机名称
192.168.1.11 hubble01
192.168.1.12 hubble02
注意:
192.168.1.11 hubble01
为每台服务器真实地址
scp -r /etc/hosts root@192.168.1.12:/etc/
注意:
192.168.1.12
设置集群中每台节点主机名
规划的Hubble启动用户做免密登录,使用hubble用户操作
ssh-keygen -t rsa #一路回车 --【各个节点都执行】
cd ~/.ssh/
ssh-copy-id <目标节点地址>
ssh 192.168.1.12 #测试免密登录