redisクラスタ設定パスワードの詳細


注意事項:
1.redis-tribを使用する場合rbツールはクラスタを構築し、クラスタ構築が完了する前にパスワードを構成しないでください.クラスタ構築が完了したらconfig set+config rewriteコマンドでマシンごとにパスワードを設定します.
2.クラスタにパスワードを設定する場合、requirepassとmasterauthの両方を設定する必要があります.そうしないと、プライマリ・セカンダリ・スイッチングが発生すると、認可の問題が発生し、ログをシミュレートして観察できます.
3.各ノードのパスワードが一致している必要があります.そうしないと、Redirectedは失敗します.
[plain] view plain copy 
  • config set masterauth abc  
  • config set requirepass abc  
  • config rewrite  

  • パスワード設定後、redis-trib.rb check 192.168.0.107:6379 
    パスワード設定後、redis-trib.rb check 192.168.0.107:6379エラー接続がインスタンスに届かないことを報告し、解決方法:
    vim/usr/lib/ruby/gems/1.8/gems/redis-3.3.0/lib/redis/client.rb
    class Redis  class Client
        DEFAULTS = {      :url => lambda { ENV["REDIS_URL"] },      :scheme => "redis",      :host => "127.0.0.1",      :port => 6379,      :path => nil,      :timeout => 5.0,      :password => "gh*8pass",      :db => 0,      :driver => nil,      :id => nil,      :tcp_keepalive => 0,      :reconnect_attempts => 1,      :inherit_socket => false    }
    デフォルトのパスワードを変更すればいいです
    1.パスワードの設定方法一:すべてのRedisクラスタのredisを変更する.confファイルの追加:masterauth passwd 123 requirepass passwd 123説明:この方法では各ノードを再起動する必要があります
    方法2:各インスタンスにアクセスして設定:./redis-cli-c-p 7000 config set masterauth passwd 123 config set requirepass passwd 123 config rewriteの後にそれぞれ./redis-cli -c -p 7001,./redis-cli -c -p 7002…..コマンドは各ノードにパスワードを設定注意:各ノードのパスワードはすべて一致しなければならなくて、さもなくばRedirectedは失敗して、このような方式を推薦して、このような方式はパスワードをredisに書きます.confの中へ行って、しかも再起動する必要はありません
    2.パスワードを設定後にredis-tribを使用する必要がある場合.rbの各種コマンド:redis-trib.rb check 127.0.0.1、エラーERR]Sorry,can’t connect to node 127.0.0.1:7000解決策:vim/usr/lib/ruby/gems/1.8/gems/redis-3.3.0/lib/redis/client.rb、passordを変更します
    class Client
        DEFAULTS = {      :url => lambda { ENV["REDIS_URL"] },      :scheme => "redis",      :host => "127.0.0.1",      :port => 6379,      :path => nil,      :timeout => 5.0,      :password => "passwd123",      :db => 0,      :driver => nil,      :id => nil,      :tcp_keepalive => 0,      :reconnect_attempts => 1,      :inherit_socket => false
        }1234567891011121314151612345678910111213141516

    2.パスワードでクラスタにアクセス
    ./redis-cli -c -p 7000 -a passwd12311

    3.Javaクライアントはjavaプログラムで最新のredisを使用する.Clientsラックパッケージ、古いバージョンのパッケージにはmavenプログラムなどのパスワードアクセスが提供されていない可能性があります.
         
              redis.clients
              jedis
              2.9.0
              jar
          123456123456

    コードにはパスワード付きのコンストラクション関数が使用されます
    redisCluster = new JedisCluster(nodeList, TIME_OUT, 3000, 5, "passwd123", poolConfig);