redis cluster 设置密码做集群时gem下client.rb文件修改
redis cluster 設置密碼做集群時gem下client.rb文件修改
來源?https://www.cnblogs.com/shihaiming/p/5949772.html
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就會失敗?
集群構建成功前的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"
?
?
總結
以上是生活随笔為你收集整理的redis cluster 设置密码做集群时gem下client.rb文件修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java数据结构读书笔记--引论
- 下一篇: 性能计数器