CentOS7 安装Redis Cluster集群
上一篇中已經講到了如何安裝單擊版Redis,這一篇我們來說下如何安裝Cluster,關于哨兵模式這里我就不寫文章安裝了,有興趣的同學可以自己去研究,哨兵模式可以在主從模式下在創建三臺機器的哨兵集群監控redis主從集群即可。
本文由于我是在windows上創建的虛擬機,所以是每臺機器上部署2個實例,一共三臺機器6個實例。生產環境中建議都是說在6臺機器上去搭建,至少3臺機器,保證,每個master都跟自己的slave不在同一臺機器上,如果是6臺自然更好。
1,準備條件
首先需要在三臺機器上分別安裝Redis,安裝教程可參考:CentOS7 安裝Redis 單機版,到文章的第三步結束即可
安裝redis出現上面的截圖后就說明redis已經安裝完畢。
下面我會把第四部的配置稍微改動一下?
2,修改配置文件
這里同上一篇文章中的第四部是一樣的,不過是多增加了幾個配置和目錄而已,一下步驟按一臺機器為例,其他機器只需要更改7001端口號即可,別的不需要更改
(1)redis utils目錄下,有個redis_init_script腳本
(2)將redis_init_script腳本拷貝到linux的/etc/init.d目錄中,將redis_init_script重命名為redis_7001,7001是我們希望這個redis實例監聽的端口號
(3)修改redis_7001腳本的第6行的REDISPORT,設置為相同的端口號(默認就是7001)
(4)創建兩個目錄:
- /etc/redis(存放redis的配置文件)
- /var/redis/7001(存放redis的持久化文件)
(5)修改redis配置文件(默認在根目錄下,redis.conf),拷貝到/etc/redis目錄中,修改名稱為7001.conf
(6)修改redis.conf中的部分配置
- port 7001
- cluster-enabled yes
- cluster-config-file /etc/redis-cluster/node-7001.conf
- cluster-node-timeout 15000
- daemonize yes
- pidfile /var/run/redis_7001.pid
- dir /var/redis/7001
- logfile /var/log/redis/7001.log
- bind 192.168.32.128(這里需要改成自己虛擬機的ip即可)
- appendonly yes
(7)創建上面配置中的目錄
- mkdir -p /etc/redis-cluster
- mkdir -p /var/log/redis
(8)啟動redis執行
- cd /etc/init.d
- chmod 777 redis_7001
- ./redis_7002 start
(9)確認redis進程是否啟動,ps -ef | grep redis
重復上面的步驟,分別做出6份配置文件:
7001.conf,7002.conf,7003.conf,7004.conf,7005.conf,7006.conf
redis_7001,redis_7002,redis_7003,redis_7004,redis_7005,redis_7006
分別重啟后先檢查下redis狀態是不是6個服務都全部啟動。
3,創建集群
?這里安裝集群需要Ruby命令,因此我們需要安裝下Ruby,在集群機器中隨便找一臺執行即可
- yum install ruby //安裝ruby
- yum install rubygems //安裝rubygems,最新版本會自動安裝
接下來我們需要安裝Redis的Ruby接口程序
- gem install redis
執行完成之后會發現報錯了 ,redis需要的Ruby版本最低是2.2.2,但是CentOS7 yum庫中ruby的版本支持到 2.0.0,可gem 安裝redis需要最低是2.2.2,采用rvm來更新ruby:
上面命令執行完畢后,繼續執行?find / -name rvm -print,就可以看到上面的正確的截圖了
?
?
?
?
redis?cluster?集群繼續
cp /usr/local/java/redis-4.0.9/src/redis-trib.rb /usr/local/bin/ redis-trib.rb create --replicas 1 192.168.32.128:7001 192.168.32.128:7002 192.168.32.130:7003 192.168.32.130:7004 192.168.32.131:7005 192.168.32.131:7006--replicas: 每個master有幾個slave,輸入后可以得到下面的信息 [root@linux2 bin]# redis-trib.rb create --replicas 1 192.168.32.128:7001 192.168.32.128:7002 192.168.32.130:7003 192.168.32.130:7004 192.168.32.131:7005 192.168.32.131:7006 >>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.32.128:7001 192.168.32.130:7003 192.168.32.131:7005 Adding replica 192.168.32.130:7004 to 192.168.32.128:7001 Adding replica 192.168.32.131:7006 to 192.168.32.130:7003 Adding replica 192.168.32.128:7002 to 192.168.32.131:7005 M: f18c22678ff0d3e3d17bc07baddab16228d07ccb 192.168.32.128:7001slots:0-5460 (5461 slots) master S: 98a4697532e570a8dee1a419e4f24a31a373aae3 192.168.32.128:7002replicates f2f14871b8fe57eeddb3a872c5e515a34d9159c1 M: a2b5695b041c36b7fcf560225e2444a421b731ea 192.168.32.130:7003slots:5461-10922 (5462 slots) master S: 7e39b67d363dc512a79e800bb566c3340265d457 192.168.32.130:7004replicates f18c22678ff0d3e3d17bc07baddab16228d07ccb M: f2f14871b8fe57eeddb3a872c5e515a34d9159c1 192.168.32.131:7005slots:10923-16383 (5461 slots) master S: ae5a841eea817745ef3a1ee5cf7cfc991c323f0d 192.168.32.131:7006replicates a2b5695b041c36b7fcf560225e2444a421b731ea Can I set the above configuration? (type 'yes' to accept): //這里如果同意上面的分配的話請輸入yes Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join.. >>> Performing Cluster Check (using node 192.168.32.128:7001) M: f18c22678ff0d3e3d17bc07baddab16228d07ccb 192.168.32.128:7001slots:0-5460 (5461 slots) master1 additional replica(s) M: a2b5695b041c36b7fcf560225e2444a421b731ea 192.168.32.130:7003slots:5461-10922 (5462 slots) master1 additional replica(s) M: f2f14871b8fe57eeddb3a872c5e515a34d9159c1 192.168.32.131:7005slots:10923-16383 (5461 slots) master1 additional replica(s) S: 98a4697532e570a8dee1a419e4f24a31a373aae3 192.168.32.128:7002slots: (0 slots) slavereplicates f2f14871b8fe57eeddb3a872c5e515a34d9159c1 S: 7e39b67d363dc512a79e800bb566c3340265d457 192.168.32.130:7004slots: (0 slots) slavereplicates f18c22678ff0d3e3d17bc07baddab16228d07ccb S: ae5a841eea817745ef3a1ee5cf7cfc991c323f0d 192.168.32.131:7006slots: (0 slots) slavereplicates a2b5695b041c36b7fcf560225e2444a421b731ea [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
到這里集群就創建完畢了
[root@linux2 bin]# redis-trib.rb check 192.168.32.128:7001 //隨時可以用此命令來查看集群的狀態 >>> Performing Cluster Check (using node 192.168.32.128:7001) M: f18c22678ff0d3e3d17bc07baddab16228d07ccb 192.168.32.128:7001slots:0-5460 (5461 slots) master1 additional replica(s) M: a2b5695b041c36b7fcf560225e2444a421b731ea 192.168.32.130:7003slots:5461-10922 (5462 slots) master1 additional replica(s) M: f2f14871b8fe57eeddb3a872c5e515a34d9159c1 192.168.32.131:7005slots:10923-16383 (5461 slots) master1 additional replica(s) S: 98a4697532e570a8dee1a419e4f24a31a373aae3 192.168.32.128:7002slots: (0 slots) slavereplicates f2f14871b8fe57eeddb3a872c5e515a34d9159c1 S: 7e39b67d363dc512a79e800bb566c3340265d457 192.168.32.130:7004slots: (0 slots) slavereplicates f18c22678ff0d3e3d17bc07baddab16228d07ccb S: ae5a841eea817745ef3a1ee5cf7cfc991c323f0d 192.168.32.131:7006slots: (0 slots) slavereplicates a2b5695b041c36b7fcf560225e2444a421b731ea [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.?
開開心心編碼,快快樂樂生活。總結
以上是生活随笔為你收集整理的CentOS7 安装Redis Cluster集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【吾日三省吾身】2015.6.03-涅槃
- 下一篇: [PHP] - 性能加速 - 开启opc