三臺服務器搭建redis集羣
安裝redis
- 安裝redis 下載redis-4.0.6.tar.gz
- 上傳至/home路徑,解壓:tar –xvf redis-4.0.6.tar.gz
- 進入目錄 cd /home/redis-4.0.6
- 編譯安裝 make 會在/usr/local/bin/生成連接
安裝ruby環境
- 運行ruby –v查看ruby是否安裝
- 若已安裝但版本低於2.2.2則卸載重裝 yum remove ruby
- 下載ruby
redis4要求ruby版本高於2.2.2 不能用yum安裝(此時最新的只到2.0) - 下載ruby-2.2.7.tar.gz
- 上傳至/home路徑,解壓:tar –xvf ruby-2.2.7.tar.gz
- 進入目錄 cd /home/ ruby-2.2.7
- ./configure
- make && make install
- gem install redis
配置集羣
-
配置服務,一臺機器啓動兩個redis端口爲6379和7379
-
每臺機器創建路徑/home/redis-cluster/6379和/home/redis-cluster/7379
-
拷貝6個redis.conf修改如下配置,並分別放在上面第二步的路徑中
port 9001(每個節點的端口號)
daemonize yes(開啓後臺啓動)
bind 192.168.1.1(綁定當前機器 IP)
dir /home/redis-cluster/6379/(數據文件存放位置)
pidfile /var/run/redis_6379.pid(pid 6379和port要對應)
cluster-enabled yes(啓動集羣模式)
cluster-config-file nodes.conf(集羣配置會放在dir下,集羣失敗需要刪除重啓redis)
cluster-node-timeout 15000
appendonly yes -
每臺機器分別啓動redis:
redis-server /home/redis-cluster/6379/redis.conf
redis-server /home/redis-cluster/7379/redis.conf -
設置集羣軟連接 ln -s /root/redis-4.0.6/src/redis-trib.rb /usr/local/bin/redis-trib.rb
-
啓動集羣:redis-trib.rb create --replicas 1 192.168.1.1:6379 192.168.1.1:7379 192.168.1.2:6379 192.168.1.2:7379 192.168.1.3:6379 192.168.1.3:7379
注:–replicas 1是指master設置一個子節點 -
測試
Redis-cli –c -p 6379
注:-c是指集羣方式連接 -
遇到的錯誤:
-
配置完所有主節點後,報" ERR Invalid node address specified"
由於redis-trib.rb 對域名或主機名支持不好,故在創建集羣的時候要使用ip:port的方式
redis-trib.rb create ip1:port1 ip2:port2 ip3:port3 -
創建集羣時報某個err slot 0 is already busy (redis::commanderror)
這是由於之間創建集羣沒有成功,需要將nodes.conf和dir裏面的文件全部刪除(注意不要刪除了redis.conf) -
創建集羣時一直處於"Waiting for the cluster to join…"的狀態
這個問題原因不知,但解決方法是在redis.conf文件中把bind 127.0.0.1本地環回口改爲物理接口. -
安裝ruby redis時長時間沒響應
這是由於天朝網絡,解決辦法是改ruby源(請自行baidu)或手動安裝
作者:帥入膏肓
來源:CSDN
原文:https://blog.csdn.net/cgb278653219/article/details/84915305
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!