2017-07-21 19 views
0

jedis(同じネットワークに接続されたローカルマシン上の)を使用して私のredisクラスタ(リモートサーバ上)に接続しようとしています。jedisのredisクラスタへの接続を拒否しました

マイRedisのクラスタは、IPSに従うことによって形成される:

10.xxx:6380

10.xxx:6382

10.xxx:6385

Redisのインスタンスの私の設定ファイル10.xxx:6380は:

port 6380 
cluster-enabled yes 
cluster-config-file nodes-6380.conf 
cluster-node-timeout 5000 
appendonly yes 
protected-mode yes 
#daemonize yes 
bind 127.0.0.1 10.x.x.x(machine ip) 

問題owever私は私のRedisのサーバーインスタンスを実行するためにtryigだとき、私は次の例外を取得していますということです:

[[email protected] 6380]$ redis-server redis.conf 
10965:M 21 Jul 02:58:04.100 # Creating Server TCP listening socket (local machine ip):6380: bind: Cannot assign requested address 

誰かが私がここで間違ってやっているものを私に教えてもらえます?前もって感謝します。

マイjedisプログラムは次のとおりです。

 Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>(); 
     //Jedis Cluster will attempt to discover cluster nodes automatically 
     jedisClusterNodes.add(new HostAndPort("10.x.x.x", 6380)); 
     jedisClusterNodes.add(new HostAndPort("10.x.x.x", 6382)); 
     jedisClusterNodes.add(new HostAndPort("10.x.x.x", 6385)); 
     JedisCluster jc = new JedisCluster(jedisClusterNodes); 
     jc.set("foo", "bar"); 
     String value; 
     System.out.println(value = jc.get("foo")); 

答えて

0

おっと。それは私の終わりからの愚かな間違いでした。

redis.confのbindタグからマシンのipと127.0.0.1を削除し、正しいホストip(つまり、私の場合は10.x.x.x)を指定します。

は、またしても(すなわち、ない127.0.0.1)./redis-trib.rbホストIPSを使用してクラスタを作成するときにも(10.xxx)正しい形式で言及し、ローカルホストを入れないでする必要がありますredis.conf

noprotected-modeを置きますすべてのredisインスタンスが同じサーバー上で実行されている場合

関連する問題