第一步:環境部署
准備6台服務器(為Centos7版本),IP地址信息如下
創建redis cluster集群的前提: 1.每個redis node節點采用相同的硬件配置、相同的密碼、相同的redis版本。
2.每個節點必須開啟的參數cluster-enabled yes #必須開啟集群狀態,開啟后redis 進程會有cluster顯示cluster-config-file nodes-6380.conf #此文件有redis cluster集群自動創建和維護,不需要任何手動操作 3.所有redis服務器必須沒有任何數據 4.先啟動為單機redis且沒有任何key value
redis具體的安裝過程可以參考我的文章:Centos7系統安裝redis4.0.X 這篇文章
第二步:創建集群,本文主要以redis4為例介紹創建集群的;
Redis 4版本:
需要使用到集群管理工具redis-trib.rb,這個工具是redis官方推出的管理redis集群的工具,集成在redis的源碼src目錄下,是基於redis提供的集群命令封裝成簡單、便捷、實用的操作工具,redis-trib.rb是redis作者用ruby開發完成的,centos 系統yum安裝的ruby存在版本較低問題,信息如下:
1 [root@molson ~]# yum install ruby rubygems -y 2 [root@molson ~]# find / -name redis-trib.rb /usr/local/src/redis-4.0.14/src/redis-trib.rb 3 [root@molson ~]# cp /usr/local/src/redis-4.0.14/src/redis-trib.rb /usr/bin/ 4 [root@molson src]# gem install redisFetching: redis-4.1.2.gem (100%)ERROR: Error installing redis:redis requires Ruby version >= 2.3.0.
解決版本過低的問題,可以參考我之前的文章:Centos7系統上解決Ruby版本過低的情況-----源碼安裝ruby 這篇文章
6台服務器的都設置好后,其中配置文件中需要有兩個地方要修改的,如下圖
創建redis cluster集群命令:redis-trib.rb create --replicas 1 192.168.37.100:6379 192.168.37.101:6379 192.168.37.102:6379 192.168.37.108:6379 192.168.37.109:6379 192.168.37.110:6379 ,如下圖
創建后,發現有報錯,是因為在配置文件中沒有設備密碼的,配置文件為client.rb,ruby安裝不同方式,這個文件可能在不同的路徑,我的路徑為:/usr/local/ruby/lib/ruby/gems/2.5.0/gems/redis-4.2.1/lib/redis,具體文件的路徑見下圖
打開這個文件,vim /usr/local/ruby/lib/ruby/gems/2.5.0/gems/redis-4.2.1/lib/redis/client.rb,具體修改位置如下圖,我設置的密碼為molson
密碼設置后,重新創建集群,還是會報錯,見下圖
根據報錯的信息,是設置的密碼沒有用引號引起來,再一次修改密碼用引號括起來,見下圖
密碼設置好后,再一次啟動創建集群,如下圖
此時會出現一個交互式的界面,填寫yes,默認接受,一會就會安裝成功,見下圖
看到上圖的信息,說明集群創建成功,同時可以知道那些機器是master,那些其實是slave
第三步:驗證信息,先登錄redis的客戶端,在客戶端輸入命令cluster info,會看到如下圖信息,說明集群創建成功
查看群內有多少節點,使用命令:cluster nodes,見下圖
在上圖也很容易看出那些IP是master,那些事slave,同時也可以查看slots(槽)的位置