搭建Redis5.0.3集羣(linux)(親自嘗試過,可行)

在linux系統上搭建Redis5.0.3集羣,一下方法都是使用linux命令來執行的。
同時使用了下圖三個軟件。
第一個軟件:創建虛擬機
第二個軟件:查看虛擬機上的系統文件
第三個軟件:鏈接虛擬機
具體使用方法,還需自行去百度學習一下,學習了也對自身有好處。
在這裏插入圖片描述
創建文件夾。

mkdir -p /usr/local/redis/redis-cluster/      //創建文件夾
cd /usr/local/redis/redis-cluster/				//定位目錄位置
mkdir 6380 6381 6382 6383 6384 6385  //在定位的目錄下創建這5個文件夾

安裝wget (wget是一個從網絡上自動下載文件的自由工具) 用來下載Redis5.0.3

../
yum -y install wget

解壓

tar -zxvf redis-5.0.3.tar.gz 

安裝gcc(GCC 編譯器是 Linux 下默認的 C/C++ 編譯器)

yum -y install make gcc*

進入解壓之後的目錄

cd redis-5.0.3

編譯安裝 (使用prefix 指定一個安裝位置)

make && make install  PREFIX=/usr/local/redis

在這裏插入圖片描述
把redis.conf依次複製到各個文件夾下

cd ../
cp -r redis-5.0.3/redis.conf /usr/local/redis/redis-cluster/6380 
cp -r redis-5.0.3/redis.conf /usr/local/redis/redis-cluster/6381 
cp -r redis-5.0.3/redis.conf /usr/local/redis/redis-cluster/6382 
cp -r redis-5.0.3/redis.conf /usr/local/redis/redis-cluster/6383 
cp -r redis-5.0.3/redis.conf /usr/local/redis/redis-cluster/6384 
cp -r redis-5.0.3/redis.conf /usr/local/redis/redis-cluster/6385

依次修改redis.conf

vim /usr/local/redis/redis-cluster/6380/redis.conf

(1)修改 bind 修改成 0.0.0.0 。默認綁定本地地址,導致其它地方不可遠程訪問 改成局域網中的IP地址或者0.0.0.0所有ip都可以訪問
在這裏插入圖片描述(2)開啓遠程訪問 protected-mode no(設置爲非保護模式) 和 修改端口 port 6380。修改端口依次是 6380、6381、6382、6383、6384、6385 ,分別對應5個文件夾
在這裏插入圖片描述(3)設置後臺運行 daemonize yes(redis後臺運行)
在這裏插入圖片描述(4)設置pidfile存放在 run目錄下的文件名 pidfile /var/run/redis_6380.pid(需要修改爲 reids_{port}.pid 的形式)。文件名中的數字依次是: 6380、6381、6382、6383、6384、6385 ,分別對應5個文件夾。
在這裏插入圖片描述(5)設置logfile存放在log目錄下的文件名 logfile /var/log/redis_6380.log(需要修改爲 reids_{port}.log的形式)。文件名中的數字依次是: 6380、6381、6382、6383、6384、6385 ,分別對應5個文件夾。
在這裏插入圖片描述(6)設置redis集羣密碼 masterauth redis和 requirepass redis注意:所有節點的密碼都必須一致。(也可以不設置,這裏建議還是不要設置的好。不然後邊鏈接都要輸入密碼。)
在這裏插入圖片描述在這裏插入圖片描述(7)設置開啓AOF模式,指定持久化方式 appendonly yes
在這裏插入圖片描述(8)設置啓用集羣模式 cluster-enabled yes,開啓配置文件cluster-config-file nodes-6380.conf (其他文件設置對應的數字,按照設置的5個端口),超時時間 cluster-node-timeout 5000
在這裏插入圖片描述文件編寫完後,需要保存退出。先按 Esc 鍵,在輸入 :wq! 。注意,這裏的 “ : ” 是英文冒號
啓動全部redis節點
第一中方法,逐一啓動

/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6380/redis.conf 
/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6381/redis.conf 
/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6382/redis.conf 
/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6383/redis.conf 
/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6384/redis.conf 
/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6385/redis.conf 

第二種方法,設置redis_cluster_all_start.sh啓動腳本,在/usr/local/redis/redis-cluster 文件夾下創建。

cd /usr/local/redis/redis-cluster
touch redis_cluster_all_start.sh   //創建啓動腳本
chmod u+x redis_cluster_all_start.sh   //賦權
vim redis_cluster_all_start.sh         //編寫腳本

以下內容就是 redis_cluster_all_start.sh 腳本的內容

#!/bin/bash
/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6380/redis.conf

/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6381/redis.conf

/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6382/redis.conf

/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6383/redis.conf

/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6384/redis.conf

/usr/local/redis/redis-5.0.3/src/redis-server /usr/local/redis/redis-cluster/6385/redis.conf 

統一啓動全部redis 節點

cd /usr/local/redis/redis-cluster
./redis_cluster_all_start.sh

放行端口號 (防火牆關閉了的話,不需要這步)

firewall-cmd --zone=public --add-port=6380/tcp --permanent
firewall-cmd --zone=public --add-port=6381/tcp --permanent
firewall-cmd --zone=public --add-port=6382/tcp --permanent
firewall-cmd --zone=public --add-port=6383/tcp --permanent
firewall-cmd --zone=public --add-port=6384/tcp --permanent
firewall-cmd --zone=public --add-port=6385/tcp --permanent
firewall-cmd --reload

啓動集羣 注意:由於我們設置了redis集羣的密碼,所以要帶上 -a redis(密碼),之前配置的masterauth 密碼
進入到/usr/local/redis/redis-5.0.3/src 目錄下,拷貝一份 redis-cli 到 /usr/local/redis/redis-cluster 目錄下

cd /usr/local/redis/redis-5.0.3/src
cp redis-cli /usr/local/redis/redis-cluster

創建集羣
沒有密碼的情況下

cd /usr/local/redis/redis-cluster
./redis-cli --cluster create 192.168.6.135:6380 192.168.6.135:6381 192.168.6.135:6382 192.168.6.135:6383 192.168.6.135:6384 192.168.6.135:6385 --cluster-replicas 1

有密碼的情況

cd /usr/local/redis/redis-cluster
./redis-cli --cluster create 192.168.6.135:6380 192.168.6.135:6381 192.168.6.135:6382 192.168.6.135:6383 192.168.6.135:6384 192.168.6.135:6385 --cluster-replicas 1 -a redis  //結尾的redis 是密碼。

在這裏插入圖片描述在這裏插入圖片描述查看redis是否啓動成功

ps -ef | grep redis

在這裏插入圖片描述查看redis端口開啓情況

netstat -tnlp | grep redis    //查看redis端口開啓情況

在這裏插入圖片描述連接 (注意:這裏的ip地址爲自身ip地址,請注意修改)

cd /usr/local/redis/redis-cluster
./redis-cli -c -h 192.168.6.131 -p 6380

打印集羣信息

cluster info

如果出現一下的報錯 “NOAUTH Authentication required” 是因爲之前配置 redis.conf 文件時,設置了 requirepassword 這個密碼
在這裏插入圖片描述

那麼只要輸入 auth “redis” 。注意雙引號內是自己設置的密碼。如果沒有必要,就不要設置密碼了。
在這裏插入圖片描述
輸入完密碼後,再輸入 cluster info 打印集羣信息
在這裏插入圖片描述列出集羣當前已知的所有節點(node),以及這些節點的相關信息

cluster nodes 

在這裏插入圖片描述

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