linux系统搭建redis cluster集群 切片集群 教程 centOS系统redis6
目錄
一、說明
二、環境信息
三、介紹
四、部署流程
?五、測試
一、說明
? ? 該教程為redis集群-cluster切片集群部署方式,不包含redis的安裝過程,如需redis安裝教程請移步以下鏈接:
? ??《linux安裝部署redis-單機版教程》
如需redis其他方式集群部署,請移步以下鏈接:
? ??《linux系統搭建redis-主從集群》
? ??《linux系統搭建redis-哨兵集群》
二、環境信息
? ? 操作系統:linux centOS 7
? ? redis版本:redis-6.0.7
? ? 下載地址:http://download.redis.io/releases/redis-6.0.7.tar.gz
三、介紹
? ? 上一篇文章《linux系統搭建redis哨兵集群 教程 centOS系統redis6》介紹了哨兵集群配置,本文將介紹cluster切片集群部署方式。
四、部署流程
? ? 一共三臺服務器,每臺啟動兩個redis服務,一共6個節點
? ? redis-1:192.168.221.101 6379-redis_6379.conf
? ? redis-2:192.168.221.101 6380-redis_6380.conf
? ? redis-3:192.168.221.102 6379-redis_6379.conf
? ? redis-4:192.168.221.102 6380-redis_6380.conf
? ? redis-5:192.168.221.103 6379-redis_6379.conf
? ? redis-6:192.168.221.103 6380-redis_6380.conf
? ? 1.分別連接三臺服務器,根據《linux安裝部署redis-單機版教程》安裝redis,將redis.conf重命名redis_6379.conf 然后修改配置文件:
[root@bogon ~]# cd /opt/redis-6.0.7 [root@bogon redis-6.0.7]# mv redis.conf redis_6379.conf [root@bogon redis-6.0.7]# vi redis_6379.conf bind 0.0.0.0 #允許所有IP訪問 port 6379 #端口 daemonize yes #開啟守護進行 pidfile /var/run/redis_6379.pid #pid文件 logfile /var/run/redis_6379.log #log文件 masterauth 123456 #連接主服務密碼 requirepass 123456 #客戶端連接密碼 cluster_enabled yes #開啟集群 cluster-config-file nodes-6379.conf #節點node文件? ? 2.復制一份redis_6379.conf名字為redis_6380.conf,并修改redis_6380.conf配置
[root@bogon redis-6.0.7]# cp redis_6379.conf redis_6380.conf [root@bogon redis-6.0.7]# vi redis_6380.conf bind 0.0.0.0 #允許所有IP訪問 port 6380 #端口 daemonize yes #開啟守護進行 pidfile /var/run/redis_6380.pid #pid文件 logfile /var/run/redis_6380.log #log文件 masterauth 123456 #連接主服務密碼 requirepass 123456 #客戶端連接密碼 cluster_enabled yes #開啟集群 cluster-config-file nodes-6380.conf #節點node文件? ? ?3.三臺服務器都配置完成后,分別啟動6個redis服務
[root@bogon redis-6.0.7]# src/redis-server redis_6379.conf [root@bogon redis-6.0.7]# src/redis-server redis_6380.conf? ? 4.建立集群關系
#redis-cli -a 密碼 --cluster create 所有redis服務ip:端口,中間空格隔開 #--cluster-replicas 1 表示主從比例1:1 即一臺master對應一臺slave[root@bogon redis-6.0.7]# src/redis-cli -a 123456 --cluster create 192.168.221.101:6379 192.168.221.101:6380 192.168.221.102:6379 192.168.221.102:6380 192.168.221.103:6379 192.168.221.103:6380 --cluster-replicas 1 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 192.168.221.102:6380 to 192.168.221.101:6379 Adding replica 192.168.221.103:6380 to 192.168.221.102:6379 Adding replica 192.168.221.101:6380 to 192.168.221.103:6379 M: c9c503d4c01b28d79b785992c5e89ac162337d6e 192.168.221.101:6379slots:[0-5460] (5461 slots) master S: f48cb24d420a0b087a2e1f944e2fbebb73af2568 192.168.221.101:6380replicates d41d849fbfeacb8419ccf282b69e8045f678928f M: 9c0f701a520b523291e0c41801a25f19ebf58925 192.168.221.102:6379slots:[5461-10922] (5462 slots) master S: dbc5b04d21721bbc90c7313865a0dd49a55d57c7 192.168.221.102:6380replicates c9c503d4c01b28d79b785992c5e89ac162337d6e M: d41d849fbfeacb8419ccf282b69e8045f678928f 192.168.221.103:6379slots:[10923-16383] (5461 slots) master S: 4d8ffad851e56ed35fb2ae064bc895f8ab6d8408 192.168.221.103:6380replicates 9c0f701a520b523291e0c41801a25f19ebf58925 Can I set the above configuration? (type 'yes' to accept): yes ....... [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.? ? 根據上面信息得知:
? ? ? ? 192.168.221.101:6379(主) --> 192.168.221.102:6380 (從)
? ? ? ? 192.168.221.102:6379(主) --> 192.168.221.103:6380(從)
? ? ? ? 192.168.221.103:6379(主)?--> 192.168.221.101:6380(從)
? ? 5.使用cluster check查看集群狀態
[root@bogon redis-6.0.7]# src/redis-cli -a 123456 --cluster check 192.168.221.101:6379 192.168.221.101:6379 (c9c503d4...) -> 0 keys | 5461 slots | 1 slaves. 192.168.221.102:6379 (9c0f701a...) -> 0 keys | 5462 slots | 1 slaves. 192.168.221.103:6379 (d41d849f...) -> 0 keys | 5461 slots | 1 slaves. [OK] 0 keys in 3 masters. 0.00 keys per slot on average. >>> Performing Cluster Check (using node 192.168.221.101:6379) M: c9c503d4c01b28d79b785992c5e89ac162337d6e 192.168.221.101:6379slots:[0-5460] (5461 slots) master1 additional replica(s) M: 9c0f701a520b523291e0c41801a25f19ebf58925 192.168.221.102:6379slots:[5461-10922] (5462 slots) master1 additional replica(s) S: f48cb24d420a0b087a2e1f944e2fbebb73af2568 192.168.221.101:6380slots: (0 slots) slavereplicates d41d849fbfeacb8419ccf282b69e8045f678928f M: d41d849fbfeacb8419ccf282b69e8045f678928f 192.168.221.103:6379slots:[10923-16383] (5461 slots) master1 additional replica(s) S: 4d8ffad851e56ed35fb2ae064bc895f8ab6d8408 192.168.221.103:6380slots: (0 slots) slavereplicates 9c0f701a520b523291e0c41801a25f19ebf58925 S: dbc5b04d21721bbc90c7313865a0dd49a55d57c7 192.168.221.102:6380slots: (0 slots) slavereplicates c9c503d4c01b28d79b785992c5e89ac162337d6e [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.? ? ?6.使用cluster nodes查詢集群狀態
[root@localhost redis-6.0.7]# src/redis-cli -h 192.168.221.101 -p 6379 -a 123456 cluster nodes 13f2379a8bcd0eb1f88360a27249091d679aaddf 192.168.221.103:6379@16379 master - 0 1677205029820 12 connected 10923-16383 c88c8cc3d7a439ec2453e5597608898d98d2ced8 192.168.221.103:6380@16380 slave 827e8295c9e745185c86e1cd7edaf89d267a43d8 0 1677205030843 9 connected 18eb18ce817944121053c0cc88700788b0e4aed9 192.168.221.101:6380@16380 slave 13f2379a8bcd0eb1f88360a27249091d679aaddf 0 1677205031880 12 connected 810461d95110fa9d37127c0406945fa014caf5e0 192.168.221.101:6379@16379 myself,master - 0 1677205025000 13 connected 0-5460 1a33bae923b1cea6d5c95becac5cd3455c0a951d 192.168.221.102:6380@16380 slave 810461d95110fa9d37127c0406945fa014caf5e0 0 1677205028794 13 connected 827e8295c9e745185c86e1cd7edaf89d267a43d8 192.168.221.102:6379@16379 master - 0 1677205030000 9 connected 5461-10922五、測試
? ? 1.連接一臺redis,存入數據
[root@bogon redis-6.0.7]# src/redis-cli -a 123456 -c -h 192.168.221.101 -p 6379 192.168.221.101:6379> set name zhangsan OK 192.168.221.101:6379> get name "zhangsan1"? ? 2.連接其他redis服務,測試獲取數據
[root@bogon redis-6.0.7]# src/redis-cli -a 123456 -c -h 192.168.221.102 -p 6379 192.168.221.102:6379> get name "zhangsan"? ? 3. 模擬故障,將一個主服務server-1關閉(101服務6379端口)
[root@localhost redis-6.0.7]# ps -ef|grep redis root 45503 1 0 09:31 ? 00:00:00 src/redis-server 0.0.0.0:6379 [cluster] root 45509 1 0 09:31 ? 00:00:00 src/redis-server 0.0.0.0:6380 [cluster] root 45522 33002 0 09:34 pts/0 00:00:00 grep --color=auto redis [root@localhost redis-6.0.7]# kill -9 45503? ? ?4.使用其他服務查看集群狀態,可以看到101服務6379狀態為fail,102服務6380提升為master
[root@localhost redis-6.0.7]# src/redis-cli -h 192.168.221.102 -p 6379 -a 123456 cluster nodes 827e8295c9e745185c86e1cd7edaf89d267a43d8 192.168.221.102:6379@16379 myself,master - 0 1677205304000 9 connected 5461-10922 810461d95110fa9d37127c0406945fa014caf5e0 192.168.221.101:6379@16379 master,fail - 1677205283960 1677205278727 13 disconnected 18eb18ce817944121053c0cc88700788b0e4aed9 192.168.221.101:6380@16380 slave 13f2379a8bcd0eb1f88360a27249091d679aaddf 0 1677205305000 12 connected 13f2379a8bcd0eb1f88360a27249091d679aaddf 192.168.221.103:6379@16379 master - 0 1677205307064 12 connected 10923-16383 c88c8cc3d7a439ec2453e5597608898d98d2ced8 192.168.221.103:6380@16380 slave 827e8295c9e745185c86e1cd7edaf89d267a43d8 0 1677205304963 9 connected 1a33bae923b1cea6d5c95becac5cd3455c0a951d 192.168.221.102:6380@16380 master - 0 1677205306018 14 connected 0-5460總結
以上是生活随笔為你收集整理的linux系统搭建redis cluster集群 切片集群 教程 centOS系统redis6的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT布局以及使用QSS
- 下一篇: 2022数据合规与安全论坛