Redis Cluster 原始碼方式搭建Redis叢集
阿新 • • 發佈:2018-12-22
由於redis 5.0 版本及以上是由C重新編寫,而redis 5.0 版本以下是由ruby語言編寫。這也導致redis 5.0 版本及以上,5.0 版本以下在搭建叢集時,有些不一樣。所以,在搭建叢集時,會將其分開進行闡述。
在進行Redis叢集搭建前,先安裝好redis
因為下述均在此篇的基礎上展開 https://blog.csdn.net/Scirhh/article/details/84987211
在進行Redis叢集搭建之前,我們先將 redis.conf
[[email protected] ~] port 63xx
[[email protected] ~] bind 127.0.0.1 # 指定物理介面ip地址
[[email protected] ~] cluster-enabled yes # 搭建redis叢集必須開啟
[[email protected] ~] daemonize yes
[[email protected] ~] pidfile /var/run/redis_63xx.pid # 不可相同
[[email protected] ~] cluster-config-file nodes-63xx.conf # 不可相同
[[email protected] ~] cluster-node-timeout 5000 # 節點之間通訊超時時間
因為,搭建redis叢集需要 3個主節點
,且還有 3個從節點
,所以,至少需要配置6個節點
。因為在之前我們已經搭建了一個單例項的redis,所以我們只要在建立5個節點
即可,修改完配置檔案後將每個redis例項啟動,結果如下圖:
[[email protected] ~] cd /usr/local/cluster/
[[email protected] ~] mkdir redis-638{0..4}
# 然後將redis-6379下的檔案都copy一份到每個目錄下。然後修改根據文章開頭的引數進行修改 `redis.conf`
# 最後將每個redis例項啟動
[[email protected] ~] /usr/local/cluster/redis-6379/bin/redis-server /usr/local/cluster/redis-6379/redis.conf
... ...
... ...
... ...
Redis-5.0及以上版本叢集搭建
使用 redis-cli
命令進行叢集新增,成功結果如下圖:
[[email protected] ~] redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
檢查叢集節點狀態資訊
[[email protected] ~] redis-cli -c -p 6379
Redis-5.0以下版本叢集搭建
Redis-5.0及以上版本是由C編寫,所以可以直接使用redis-cli的命令進行叢集的建立,但是在Redis-5.0以下的版本則不行,5.0以下版本需要安裝支援的ruby的依賴項才可以使用命令進行叢集的建立。
CentOs:
[[email protected] ~] yum -y install ruby rubygems
Ubuntu:
[[email protected] ~] apt-get -y install ruby rubygems
兩個系統同操作:
[[email protected] ~] gem install redis
Successfully installed redis-4.1.0
Parsing documentation for redis-4.1.0
Installing ri documentation for redis-4.1.0
Done installing documentation for redis after 1 seconds
1 gem installed
在 redis
原始碼包 下的 src
目錄會有 redis-trib.rb
指令碼,我們只要執行下面命令即可建立redis叢集:
[[email protected] ~] ./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
# 中途會需要輸入yes
# --replicas 1 表示給每一個master配置一個slave
# 成功後的效果如 5.0 以上版本建立的效果以及使用的命令均一致
Redis叢集到這裡就已經搭建部署完成。
如需更多的使用方法,可以移步至redis官方網站
https://redis.io/topics/cluster-tutorial
感謝閱讀,本文旨在提供參考,如有錯誤,歡迎大家指正。幫助編者不斷的改進!