Не могу подключиться к локальному кластеру Redis с салатом - PullRequest
0 голосов
/ 22 января 2019

Я использую локальный кластер Redis с Docker, как этот

docker run --env "IP=0.0.0.0" -p 7000-7007:7000-7007 -p 5000-5002:5000-5002 -p 6379:6379 grokzen/redis-cluster:5.0.3

Я не могу отправлять команды при подключении через telnet, например

telnet localhost 7000

Однако при попытке соединения с салатом-клиентом с помощью следующего кода

    RedisURI redisURI = RedisURI.Builder.redis("localhost", 7000).build();
    RedisClusterClient client = RedisClusterClient.create(redisURI);
    StatefulRedisClusterConnection<String, String> connection = client.connect();
    RedisStringCommands sync = connection.sync();
    String value = (String) sync.get("key");

выдается следующее исключение

Exception in thread "main" io.lettuce.core.RedisException: Cannot retrieve initial cluster partitions from initial URIs [RedisURI [host='localhost', port=7000]]
at io.lettuce.core.cluster.RedisClusterClient.loadPartitions(RedisClusterClient.java:865)
at io.lettuce.core.cluster.RedisClusterClient.initializePartitions(RedisClusterClient.java:819)
at io.lettuce.core.cluster.RedisClusterClient.connect(RedisClusterClient.java:345)
at io.lettuce.core.cluster.RedisClusterClient.connect(RedisClusterClient.java:320)
at com.foo.DeleteMe.main(DeleteMe.java:22)
Caused by: io.lettuce.core.RedisConnectionException: Unable to establish a connection to Redis Cluster
at io.lettuce.core.cluster.topology.AsyncConnections.get(AsyncConnections.java:84)
at io.lettuce.core.cluster.topology.ClusterTopologyRefresh.loadViews(ClusterTopologyRefresh.java:68)
at io.lettuce.core.cluster.RedisClusterClient.doLoadPartitions(RedisClusterClient.java:871)
at io.lettuce.core.cluster.RedisClusterClient.loadPartitions(RedisClusterClient.java:844)
... 4 more
Suppressed: io.lettuce.core.RedisConnectionException: Unable to connect to localhost:7000
Caused by: java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:101)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622)
    at io.netty.channel.socket.nio.NioSocketChannel.doConnect(NioSocketChannel.java:209)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.connect(AbstractNioChannel.java:199)
    ... 21 more
...