gpt4 book ai didi

redis - Spring XD分布式模式Redis Sentinel

转载 作者:可可西里 更新时间:2023-11-01 11:35:44 25 4
gpt4 key购买 nike

我正在尝试在 2 个 Ubuntu 虚拟机上以分布式模式运行 spring xd。我的目标是在其中一个运行 spring xd 的 VM 上部署一个模块,并使其对另一个 VM(主机名:container1)上的容器可见。在主 VM(主机名:xd-admin)上,我在 servers.yml 中使用此配置运行 redis-sentinel

spring:
redis:
port: 6379
host: 127.0.0.1
sentinel:
master: 127.0.0.1:26379
nodes: 127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381

在 container1 中,我在 servers.yml 中有以下内容

spring:
redis:
port: 6379
host: 127.0.0.1
sentinel:
master: xd-admin:26379
nodes: 127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381

zk:
namespace: xd
client:
connect: xd-admin:2181
sessionTimeout: 60000
connectionTimeout: 30000
initialRetryWait: 1000
retryMaxAttempts: 3

当我在 xd-admin 主机上运行 xd-container 时,我得到了

Caused by: redis.clients.jedis.exceptions.JedisException: Can connect to sentinel, but 127.0.0.1:26379 seems to be not monitored...
at redis.clients.jedis.JedisSentinelPool.initSentinels(JedisSentinelPool.java:150) ~[jedis-2.6.2.jar:na]
at redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:69) ~[jedis-2.6.2.jar:na]
at redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:47) ~[jedis-2.6.2.jar:na]
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createRedisSentinelPool(JedisConnectionFactory.java:215) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createPool(JedisConnectionFactory.java:202) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.afterPropertiesSet(JedisConnectionFactory.java:195) ~[spring-data-redis-1.5.0.RELEASE.jar:1.5.0.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) ~[spring-beans-4.1.7.RELEASE.jar:4.1.7.RELEASE]
... 30 common frames omitted

当我在 container1 主机上运行 xd-container 时,我得到了

Caused by: redis.clients.jedis.exceptions.JedisConnectionException: All sentinels down, cannot determine where is 192.168.33.10:26379 master is running...
at redis.clients.jedis.JedisSentinelPool.initSentinels(JedisSentinelPool.java:153)
at redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:69)
at redis.clients.jedis.JedisSentinelPool.<init>(JedisSentinelPool.java:47)
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createRedisSentinelPool(JedisConnectionFactory.java:215)
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.createPool(JedisConnectionFactory.java:202)
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.afterPropertiesSet(JedisConnectionFactory.java:195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
... 31 more

我在 xd-admin 上运行了 zookeeper 和 rabbit-mq。我在 container1 上运行了 redis。我知道可以从 container1 访问 xd-admin,因为我在 xd-admin 上安装了 apache2,并且当我从 container1 运行 curl xd-admin 时收到响应。如何正确配置 redis 和/或我的 servers.yml 以便我的容器进行通信?

最佳答案

在我的 servers.yml 文件中,我对 redis.sentinel 及其子项进行了注释,异常消失了。

关于redis - Spring XD分布式模式Redis Sentinel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34551121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com