Redis高可用集群搭建


緒論

       redis集群需要至少要三個master節點,下面將搭建三個master節點,並且給每個master再搭建一個slave節點,總共6redis節點,這里用三台機器部署6redis實例,每台機器一主一從。設備為192.168.137.11、192.168.137.12和192.168.137.13

1. 下載redis

http://www.redis.cn/download.html

 

2.上傳並解壓

 tar -zxvf /redis-5.0.4.tar.gz 

  需要將redis分別上傳到三台設備上執行編譯安裝,下面以192.168.137.11設備上的編譯 、安裝和配置為例

3.編譯並安裝redis

需要安裝gcc,如果沒有安裝gcc,使用yum -y install gcc 安裝即可

進入到redis-5.0.4目錄,make & make install 即可執行編譯和安裝,安裝后會在/usr/local/bin目錄下生成命令文件

4.拷貝並修改配置

在/opt/module目錄下創建 redis文件夾,用以保存日志文件、dump文件和配置文件

mkdir -p /opt/module/redis/63{79,80}/logs  

 

拷貝redis-5.0.4/redis.conf文件到/opt/module/redis/目錄下,然后修改該配置文件。找到如下配置項,逐個修改

protected-mode no                                     (關閉保護模式)
port 6379                    

daemonize yes                                         (設置redis在后台啟動)

pidfile /var/run/redis_6379.pid              

logfile "/opt/module/redis/6379/logs/redis_6379.log"  (設置日志文件的存放位置) 

dbfilename dump_6379.rdb                       (設置dump文件名)
dir "/opt/module/redis/6379"                  (設置dump文件和nodes文件的存放位置)               
masterauth bigdata                             (設置集群節點間訪問密碼,跟上面一致)

requirepass bigdata                            (設置redis訪問密碼)

cluster-enabled yes                           (啟動集群模式)
cluster-config-file nodes-6379.conf           (集群節點信息文件,這里800x最好和port對應上)
cluster-node-timeout 5000
# bind 127.0.0.1      注釋掉該項

 

拷貝上面的配置文件,分別命名為redis_6379.conf、redis_6380.conf,、vi修改redis_6380.conf文件,將6379替換為6380,命令為:%s/6379/6380/g

然后再分別將它們移動到前面所創建的6380和6379文件夾中

 

在192.168.137.12和192.168.137.13做同樣的操作。如果配置xync了直接同步即可

5.檢查配置

檢查三台設備上配置是否正確

 

6.分別啟動三台設備上的redis

啟動命令為:

redis-server /opt/module/redis/6379/redis_6379.conf
redis-server /opt/module/redis/6380/redis_6380.conf 

為了方便操作可以在xshell或SecureCRT中,進行批量,如下面的在SecureCRT中,設置將命令發送到所有會話

查看三台設備上的redis是否都啟動成功:

 

 

7.用redis-cli創建整個redis集群

redis5以前的版本集群是依靠ruby腳本redis-trib.rb實現,操作方法參照:https://www.cnblogs.com/wuxl360/p/5920330.html 此處使用更為便捷的redis-cli方式

redis-cli --cluster create --cluster-replicas 1 192.168.137.11:6379 192.168.137.11:6380  192.168.137.12:6379 192.168.137.12:6380 192.168.137.13:6379 192.168.137.13:6380

命令解讀:代表為每個創建的主服務器節點創建一個從服務器節點,

 

8.驗證集群

(1)連接任意一個客戶端即可:./redis-cli -c -h -p (-a訪問服務端密碼,-c表示集群模式,指定ip地址和端口號)

redis-cli -a bigdata -c -h 192.168.137.11 -p 6379

 命令解釋:-a訪問服務端密碼,-c表示集群模式,指定ip地址和端口號

(2)cluster info(查看集群信息)

(3)cluster nodes(查看節點列表)

192.168.137.11:6379> cluster nodes
0bd7e769345f4e053bbe83dbbc467af25c299462 192.168.137.11:6379@16379 myself,slave 185b8d64263b7c31c358c327fb2c9dce9a8ed773 0 1566901074000 1 connected
6877fd706dbb17508a4c3f279703fa66706852fc 192.168.137.11:6380@16380 slave 98328749670132748f687a26b6281a4b7163801c 0 1566901073546 5 connected
fd20d54152b0101008d872314268fd17cce39b3d 192.168.137.12:6379@16379 slave dda7a654ba16cbff3b30b25418104cee3709a454 0 1566901073646 7 connected
dda7a654ba16cbff3b30b25418104cee3709a454 192.168.137.13:6380@16380 master - 0 1566901074553 7 connected 5461-10922
98328749670132748f687a26b6281a4b7163801c 192.168.137.13:6379@16379 master - 0 1566901074553 5 connected 10923-16383
185b8d64263b7c31c358c327fb2c9dce9a8ed773 192.168.137.12:6380@16380 master - 0 1566901074653 8 connected 0-5460
192.168.137.11:6379>

 

更為詳細的配置過程,參照博客:https://blog.csdn.net/qq_42815754/article/details/82912130


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM