1. 程式人生 > 其它 >Redis 手把手教你搭建Redis叢集

Redis 手把手教你搭建Redis叢集

技術標籤:Redisredis

Redis Cluster 即 Redis 叢集,是 Redis 官方在 3.0 版本推出的一套分散式儲存方案。完全去中心化,由多個節點組成,所有節點彼此互聯。Redis 客戶端可以直接連線任何一節點獲取叢集中的鍵值對,不需要中間代理,如果該節點不存在使用者所指定的鍵值,其內部會自動把客戶端重定向到鍵值所在的節點。

Redis 叢集是一個網狀結構,每個節點都通過 TCP 連線跟其他每個節點連線。在一個有 N 個節點的叢集中,每個節點都有 N-1 個流出的 TCP 連線,和 N-1 個流入的連線,這些 TCP 連線會永久保持。

伺服器:阿里雲
shell:finalShell

zk:redis-5.0.3(可以直接在官網下載,其他版本應該也可以)

# 解壓並安裝Redis
tar -zxvf redis-6.0.9.tar.gz
cd redis-6.0.9/
make & make install

節點設定

節點編號ip地址TCP埠節點型別配置檔案
1127.0.0.17001主。從節點4~/software/redis/redis-cluster/7001/redis.conf
2127.0.0.17002主。從節點5~/software/redis/redis-cluster/7002/redis.conf
3127.0.0.17003主。從節點6~/software/redis/redis-cluster/7003/redis.conf
4127.0.0.18001從。主節點1~/software/redis/redis-cluster/8001/redis.conf
5127.0.0.18002從。主節點2~/software/redis/redis-cluster/8002/redis.conf
6127.0.0.18003從。主節點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