Redis 5 集羣安裝

redis3.0 以前集羣需要藉助哨兵 sentinel ,在 3.0 版本正式推出 Redis Cluster 高可用集羣模式; Redis Cluster 方案不需要額外部署 Sentinel(哨兵)集羣。

Redis 集羣要求至少三個節點,否則不成功。本文采用虛擬機,模擬搭建三主三從集羣模式。

虛擬機 IP 分別是 192.168.18.139192.168.18.140192.168.18.141
可以只配置一臺虛擬機,其他兩臺直接用克隆
本文使用 192.168.18.139 進行配置

一 安裝 redis v5

1. 下載

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

2. 解壓

tar -zxvf redis-5.0.7.tar.gz

3. 編譯安裝

將其安裝在 /usr/local/redis 目錄

cd redis-5.0.7
make
cd src && make PREFIX=/usr/local/redis install

二 配置節點

將節點信息配置在cluster目錄下, 端口號分別是6378,6379

cd /usr/local/redis
mkdir -p cluster/6378 cluster/6378

1. 修改配置文件

複製 redis.confcluster/6378/

vim cluster/redis.conf

主要修改內容如下:

啓用守護線程
1.daemonize yes

同臺計器不同節點的端口要不一樣
2. port 6378

指定數據目錄,必須要指定不同的目錄位置,不然會丟失數據
3. dir /usr/local/redis/cluster/6378/

啓動集羣模式
4. cluster-enabled yes

集羣節點信息文件,這裏6378最好和port對應上
5. cluster-config-file nodes-6378.conf

去掉bind綁定訪問ip信息
6. #bind 127.0.0.1

關閉保護模式
7. protected-mode no

  1. appendonly yes
  1. cluster-node-timeout 5000

如果要設置密碼需要增加如下配置

設置redis密碼
10. requirepass xxx

設置集羣節點間訪問密碼,跟上面一致
11. masterauth xxx

6378 的配置複製到 6379 並將 2,3,5 中的端口號修改爲6379

cp cluster/6378/redis.conf cluster/6379/redis.conf

2. 創建啓動腳本

vim /usr/local/redis/start-redis-cluster.sh

#!/bin/sh
REDIS_HOME=/usr/local/redis
$REDIS_HOME/bin/redis-server $REDIS_HOME/cluster/6378/redis.conf
$REDIS_HOME/bin/redis-server $REDIS_HOME/cluster/6379/redis.conf

:wq 保存

3. 克隆該虛擬機

三 啓動集羣

1. 創建啓動集羣腳本

可以在任意一臺虛擬機上創建該腳本,本文在 139 上創建

vim /usr/local/redis/create-cluster.sh

#!/bin/sh
bin/redis-cli --cluster create 192.168.18.139:6378 192.168.18.139:6379 192.168.18.140:6378 192.168.18.140:6379 192.168.18.141:6378 192.168.18.141:6379  --cluster-replicas 1

--cluster: redis 5 提供的參數
--cluster-replicas 1: 一主一從配置,六個節點就是 三主三從

2. 啓動所有的 redis 節點

需要在三個虛擬機上都執行該命令

./start-redis-cluster.sh

2.1 查看是否啓動成功

ps -ef | grep redis

在這裏插入圖片描述

3. 創建集羣

只需要在一臺虛擬機上執行該命令即可

./create-cluster.sh

如出現錯誤: [ERR] Node 192.168.18.139:637x is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 刪除 cluster/637x 下aof、rdb、nodes-637x.conf本地備份文件, 然後再次執行腳本

出現交互 直接輸入 yes 接受即可

在這裏插入圖片描述

[OK] All 16384 slots covered 說明集羣創建成功

在這裏插入圖片描述
待續…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章