一、集群部署
1、案例拓撲

2、資源列表
主從節點是隨機分配的,下屬列表只是框架:
操作系統 | 主機名 | 配置 | IP | 應用 |
---|
OpenEuler24 | master1 | 2C4G | 192.168.10.101 | Redis |
OpenEuler24 | master2 | 2C4G | 192.168.10.102 | Redis |
OpenEuler24 | master3 | 2C4G | 192.168.10.103 | Redis |
OpenEuler24 | slave1 | 2C4G | 192.168.10.104 | Redis |
OpenEuler24 | slave2 | 2C4G | 192.168.10.105 | Redis |
OpenEuler24 | slave3 | 2C4G | 192.168.10.106 | Redis |
OpenEuler24 | HK1 | 2C4G | 192.168.10.107 | Haproxy+Keepalived |
OpenEuler24 | HK2 | 2C4G | 192.168.10.108 | Haproxy+Keepalived |
3、基礎配置
3.1、安裝
systemctl stop firewalld
setenforce 0
dnf -y install gcc zlib-devel
tar -zxf redis-5.0.14.tar.gz
make && make PREFIX=/usr/local/redis install && ln -s /usr/local/redis/bin/* /usr/local/bin/
cd utils
./install_server.sh





3.2、加入守護進程
vim /etc/systemd/system/redis.service##編輯內容##
# [Unit] 部分,用于定義服務的元數據和依賴關系
[Unit]
# 描述該服務,這里說明是 redis 服務
Description=redis
# 表示該服務在 network.target 這個目標單元之后啟動,即網絡相關服務就緒后再啟動 redis ,保障網絡依賴
After=network.target # [Service] 部分,定義服務的具體運行方式等配置
[Service]
# Type=forking 表示服務會以 fork 方式運行,即啟動后會創建子進程,父進程退出,子進程繼續提供服務
Type=forking
# ExecStart 定義啟動服務時執行的命令,這里是調用 redis 服務器程序,并指定配置文件 /etc/redis/6379.conf ,讓 redis 按該配置啟動
ExecStart=/usr/local/redis/bin/redis-server /etc/redis/6379.conf # [Install] 部分,定義服務安裝相關的配置,即服務啟用時如何關聯到系統啟動目標
[Install]
# WantedBy=multi-user.target 表示該服務希望被關聯到 multi-user.target 這個系統啟動目標,
# 在多用戶模式(常見的系統正常運行模式,提供命令行等多用戶使用環境 )下,啟用該服務時會被納入啟動流程
WantedBy=multi-user.target

3.3、修改配置文件




配置項 | 配置值 | 說明 |
---|
開啟 Cluster | cluster-enabled yes | --- |
集群配置文件 | cluster-config-file nodes-6379.conf | Redis 運行時保存配置的文件,不可修改 |
集群超時時間 | cluster-node-timeout 15000 | 結點超時多久則認為它宕機 |
槽是否全覆蓋 | cluster-require-full-coverage no | 默認 yes,結點宕機致 16384 個槽未全覆蓋時集群全停止服務,需改為 no |
3.4、重載守護進程
/etc/init.d/redis_6379 stopsystemctl daemon-reloadsystemctl restart redisnetstat -anpt | grep redis

4、集群配置
4.1、創建集群
redis-cli --cluster create --cluster-replicas 1 192.168.10.101:6379 192.168.10.102:6379 192.168.10.103:6379 192.168.10.104:6379 192.168.10.105:6379 192.168.10.106:6379

4.2、查看狀態
cluster nodes

二、安裝Keepalived+Haproxy
systemctl stop firewalld
setenforce 0
dnf -y install keepalived

1、編寫一個監控腳本并啟動 keepalived
vim /etc/keepalived/chk.sh###編輯內容###
#!/bin/bashif [ $(ps -C haproxy --no-header | wc-l) -eq 0 ];then /etc/init.d/keepalived stopecho "你的keepalived已經關閉了"
fichmod +x /etc/keepalived/chk.sh


2、編輯配置文件

3、安裝Haproxy,并修改配置文件

4、開啟服務

5、客戶端驗證
