redis cluster 設置密碼做集群時gem下client.rb文件修改


redis節點有設置密碼,然后在創建集群的時候沒有設置密碼的命令

./redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384127.0.0.1:6385 127.0.0.1:6386
Connecting to node 127.0.0.1:6381: [ERR] Sorry, can't connect to node 127.0.0.1:6381

JedisCluster類也沒有設置密碼的方法,只能在JedisPool中設置

 

集群創建前需要修改gem的redis工具下的一個文件,我這里是默認安裝,路徑如下:/usr/lib/ruby/gems/1.8/gems/redis-3.2.1/lib/redis/client.rb ,修改內容如下:

 

,我這里的測試是,添加密碼后重建了集群;

 

至於已運行的集群,如何添加密碼

對每一個節點用命令設置密碼或修改每一個節點的配置文件中密碼項后重啟,需要驗證

 

注意事項:
1.如果是使用redis-trib.rb工具構建集群,集群構建完成前不要配置密碼,集群構建完畢再通過config set + config rewrite命令逐個機器設置密碼
2.如果對集群設置密碼,那么requirepass和masterauth都需要設置,否則發生主從切換時,就會遇到授權問題,可以模擬並觀察日志
3.各個節點的密碼都必須一致,否則Redirected就會失敗
 
  1. config set masterauth abc  
  2. config set requirepass abc  
  3. config rewrite  

 

集群構建成功前的redis配置:

port 8000
cluster-enabled yes
cluster-config-file "nodes-8000.conf"
cluster-node-timeout 15000
dir "/opt/redisdata"
appendonly yes
appendfilename "appendonly-8000.aof"
logfile "/opt/redisdata/8000.log"
daemonize yes
pidfile "/var/run/redis-8000.pid"
dbfilename "dump-8000.rdb"
cluster-require-full-coverage no

 

集群構建成功后的redis配置:

port 8004
cluster-enabled yes
cluster-config-file "nodes-8004.conf"
cluster-node-timeout 15000
dir "/opt/redisdata"
appendonly yes
appendfilename "appendonly-8004.aof"
logfile "/opt/redisdata/8004.log"
daemonize yes
pidfile "/var/run/redis-8004.pid"
dbfilename "dump-8004.rdb"
cluster-require-full-coverage no
# Generated by CONFIG REWRITE
requirepass "abc"
masterauth "abc"

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM