1. 程式人生 > >Redis Cluster 原始碼方式搭建Redis叢集

Redis Cluster 原始碼方式搭建Redis叢集

    由於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

檔案下的引數進行修改,因為每個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

     感謝閱讀,本文旨在提供參考,如有錯誤,歡迎大家指正。幫助編者不斷的改進!