Redis 手把手教你搭建Redis叢集
阿新 • • 發佈:2020-12-18
Redis Cluster 即 Redis 叢集,是 Redis 官方在 3.0 版本推出的一套分散式儲存方案。完全去中心化,由多個節點組成,所有節點彼此互聯。Redis 客戶端可以直接連線任何一節點獲取叢集中的鍵值對,不需要中間代理,如果該節點不存在使用者所指定的鍵值,其內部會自動把客戶端重定向到鍵值所在的節點。
Redis 叢集是一個網狀結構,每個節點都通過 TCP 連線跟其他每個節點連線。在一個有 N 個節點的叢集中,每個節點都有 N-1 個流出的 TCP 連線,和 N-1 個流入的連線,這些 TCP 連線會永久保持。
伺服器:阿里雲
shell:finalShell
# 解壓並安裝Redis
tar -zxvf redis-6.0.9.tar.gz
cd redis-6.0.9/
make & make install
節點設定
節點編號 | ip地址 | TCP埠 | 節點型別 | 配置檔案 |
1 | 127.0.0.1 | 7001 | 主。從節點4 | ~/software/redis/redis-cluster/7001/redis.conf |
2 | 127.0.0.1 | 7002 | 主。從節點5 | ~/software/redis/redis-cluster/7002/redis.conf |
3 | 127.0.0.1 | 7003 | 主。從節點6 | ~/software/redis/redis-cluster/7003/redis.conf |
4 | 127.0.0.1 | 8001 | 從。主節點1 | ~/software/redis/redis-cluster/8001/redis.conf |
5 | 127.0.0.1 | 8002 | 從。主節點2 | ~/software/redis/redis-cluster/8002/redis.conf |
6 | 127.0.0.1 | 8003 | 從。主節點3 | ~/software/redis/redis-cluster/8003/redis.conf |
主要配置資訊,其他可根據需求自行調節
bind 192.168.83.128 # 設定當前節點主機地址 port 7001 # 設定客戶端連線監聽埠 pidfile /var/run/redis_7001.pid # 設定 Redis 例項 pid 檔案 daemonize yes # 以守護程序執行 Redis 例項 cluster-enabled yes # 啟用叢集模式 cluster-node-timeout 15000 # 設定當前節點連線超時毫秒數 cluster-config-file nodes-7001.conf # 設定當前節點叢集配置檔案路徑
分別配置每個資料夾下面的conf檔案
啟動redis服務
/usr/local/bin/redis-server /root/software/redis/redis-cluster/7001/redis.conf
/usr/local/bin/redis-server /root/software/redis/redis-cluster/7002/redis.conf
/usr/local/bin/redis-server /root/software/redis/redis-cluster/7003/redis.conf
/usr/local/bin/redis-server /root/software/redis/redis-cluster/8001/redis.conf
/usr/local/bin/redis-server /root/software/redis/redis-cluster/8002/redis.conf
/usr/local/bin/redis-server /root/software/redis/redis-cluster/8003/redis.conf
配置redis叢集
/usr/local/bin/redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 --cluster-replicas 1
檢視Redis節點資訊
/usr/local/bin/redis-cli -p 8002 cluster nodes