redis搭建公網叢集(6個幾點三主三從)
## 注意以下是公網搭建,請全部讀完了在搭建,你會少走很多彎路
1,首先安裝redis單機版,網上教程很多就不介紹了。
2,redis叢集是用的ruby指令碼,所以要想執行該指令碼,需要ruby環境.。對應redis的原始碼src目錄下的redis-trib.rb,redis-trib.rb是redis官方推出的管理redis叢集的工具.
3,安裝ruby環境 , Centos預設支援ruby到2.0.0,redis需要最低是2.2.2。解決辦法是 先安裝rvm 再把ruby版本升級到2.3.3
4,因為要建立叢集,所以建議和redis安裝目錄同級建立一個cluster資料夾,在cluster檔案下按節點個數建立分別的資料夾,例如7001,7002,7003,7004,7005,7006。
5,將redis.conf分別複製到上一步的資料夾。
6,分別修改各個資料夾下的redis.conf檔案,主要修改如下幾個引數
port:埠 注意不要重複
bind(####### 尤其要注意 因為redis預設的是本地訪問,所以需要把所有的bind都註釋掉,否則會報不能連線的錯誤)
cluster-enabled yes (把註釋開啟) 允許啟用器群模式
daemonize yes(把註釋開啟 允許後臺啟動)
dir (資料存放位置,建議配置在各個資料夾裡)
cluster-config-file node-700x.conf(叢集節點資訊)
requirepass "1234"(需要設定密碼,因為把多有的bind都註釋掉了,所以redis為了安全需要設定密碼,否則節點不可用)
7,開啟所有節點的redis服務 可以寫個指令碼
./redis-server ../redis-cluster/7001/redis.conf ./redis-server ../redis-cluster/7002/redis.conf ./redis-server ../redis-cluster/7003/redis.conf ./redis-server ../redis-cluster/7004/redis.conf . /redis-server ../redis-cluster/7005/redis.conf ./redis-server ../redis-cluster/7006/redis.conf
8,採用ruby指令碼建立叢集 ./redis-trib.rb create --replicas 1 xx.xx.xx.xx:port xx.xx.xx.xx:port (所有的節點,注意會報錯Sorry, can't connect to node 需要find / -name client.rb 修改密碼 pssword =>"1234和第六步的密碼一樣")
9,啟動redis-cli ./redis-cli -c -h xx.xx.xx.xx -p 7001 -a password (xx 叢集中任何一個節點)
10,節點不能連線的錯誤有四種情況
防火牆
使用者名稱或者密碼錯誤,或者未設定密碼
bind 沒有全部註釋掉,不需要填寫公網ip
服務沒有開啟