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)
ただし、問題は、redis サーバー インスタンスを実行しようとすると、次の例外が発生することです。
[admin@dn2 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
誰かが私がここで間違っていることを教えてもらえますか??? 前もって感謝します。
私のジェディスプログラムは次のとおりです。
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"));