首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >码头工人哨点故障转移失败

码头工人哨点故障转移失败
EN

Stack Overflow用户
提问于 2022-03-31 00:09:59
回答 1查看 550关注 0票数 0

我正在尝试测试redis哨兵集群故障转移,它是用一个坞-组合文件实现的,并且通信是基于主机名的。为了模拟故障转移,我停止了当前的redis主容器示例docker stop redis1,我期望的是哨兵故障转移,复制的redis实例中的一个被提升为一个新的主服务器,但我得到的是下面的日志。

代码语言:javascript
运行
复制
edis_sentinel-redis1-1     | 1:signal-handler (1648684795) Received SIGTERM scheduling shutdown...
redis_sentinel-redis1-1     | 1:M 30 Mar 2022 23:59:55.424 # User requested shutdown...
redis_sentinel-redis1-1     | 1:M 30 Mar 2022 23:59:55.424 * Saving the final RDB snapshot before exiting.
redis_sentinel-redis1-1     | 1:M 30 Mar 2022 23:59:55.430 * DB saved on disk
redis_sentinel-redis1-1     | 1:M 30 Mar 2022 23:59:55.430 # Redis is now ready to exit, bye bye...
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.432 # Connection with master lost.
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.432 * Caching the disconnected master state.
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:55.432 # Connection with master lost.
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.433 * Reconnecting to MASTER redis1:6379
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:55.432 * Caching the disconnected master state.
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:55.433 * Reconnecting to MASTER redis1:6379
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:55.434 * MASTER <-> REPLICA sync started
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:55.434 # Error condition on socket for SYNC: Connection refused
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.434 * MASTER <-> REPLICA sync started
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.434 # Error condition on socket for SYNC: Connection refused
redis_sentinel-redis1-1 exited with code 0
redis_sentinel-redis1-1 exited with code 0
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.724 * Connecting to MASTER redis1:6379
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:55.813 # Unable to connect to MASTER: Invalid argument
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:56.129 * Connecting to MASTER redis1:6379
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:56.170 # Unable to connect to MASTER: Invalid argument
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:56.825 * Connecting to MASTER redis1:6379
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:56.870 # Unable to connect to MASTER: Invalid argument
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:57.176 * Connecting to MASTER redis1:6379
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:57.224 # Unable to connect to MASTER: Invalid argument
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:57.878 * Connecting to MASTER redis1:6379
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:57.929 # Unable to connect to MASTER: Invalid argument
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:58.231 * Connecting to MASTER redis1:6379
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:58.305 # Unable to connect to MASTER: Invalid argument
redis_sentinel-sentinel1-1  | 1:X 30 Mar 2022 23:59:58.461 # +sdown master redismaster redis1 6379
redis_sentinel-sentinel2-1  | 1:X 30 Mar 2022 23:59:58.506 # +sdown master redismaster redis1 6379
redis_sentinel-sentinel3-1  | 1:X 30 Mar 2022 23:59:58.550 # +sdown master redismaster redis1 6379
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:58.935 * Connecting to MASTER redis1:6379
redis_sentinel-redis3-1     | 1:S 30 Mar 2022 23:59:58.977 # Unable to connect to MASTER: Invalid argument
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:59.311 * Connecting to MASTER redis1:6379
redis_sentinel-redis2-1     | 1:S 30 Mar 2022 23:59:59.352 # Unable to connect to MASTER: Invalid argument

复制:

文件结构

代码语言:javascript
运行
复制
|./docker-compose.yaml
|./sentinel1/sentinel.conf
|./sentinel2/sentinel.conf
|./sentinel3/sentinel.conf

docker-compose.yaml

代码语言:javascript
运行
复制
version: '3.8'
x-base: &base
  image: redis:6.2.6

x-base-sen: &base-sen
  image: redis:6.2.6
  command: redis-sentinel /sentinel/sentinel.conf 

services:
  redis1:
    <<: *base
    hostname: redis1
    command: redis-server  --replica-announce-ip redis1

  redis2:
    <<: *base
    hostname: redis2
    command: redis-server --slaveof redis1 6379 --replica-announce-ip redis2

  redis3:
    <<: *base
    hostname: redis3
    command: redis-server --slaveof redis1 6379 --replica-announce-ip redis3

  sentinel1:
    <<: *base-sen
    hostname: sentinel1
    volumes:
    - type: bind
      source: sentinel1
      target: /sentinel

  sentinel2:
    <<: *base-sen
    hostname: sentinel2
    volumes:
    - type: bind
      source: sentinel2
      target: /sentinel

  sentinel3:
    <<: *base-sen
    hostname: sentinel3
    volumes:
    - type: bind
      source: sentinel3
      target: /sentinel

sentinel1/sentinel.conf

代码语言:javascript
运行
复制
port 26379

dir /tmp

sentinel monitor redismaster redis1 6379 2
sentinel down-after-milliseconds redismaster 3000 
sentinel parallel-syncs redismaster 1
sentinel failover-timeout redismaster 6000
sentinel resolve-hostnames yes
sentinel announce-hostnames yes
sentinel announce-ip sentinel1

sentinel2/sentinel.conf

代码语言:javascript
运行
复制
port 26379

dir /tmp

sentinel monitor redismaster redis1 6379 2
sentinel down-after-milliseconds redismaster 3000 
sentinel parallel-syncs redismaster 1
sentinel failover-timeout redismaster 6000
sentinel resolve-hostnames yes
sentinel announce-hostnames yes
sentinel announce-ip sentinel2

sentinel3/sentinel.conf

代码语言:javascript
运行
复制
port 26379

dir /tmp

sentinel monitor redismaster redis1 6379 2
sentinel down-after-milliseconds redismaster 3000 
sentinel parallel-syncs redismaster 1
sentinel failover-timeout redismaster 6000
sentinel resolve-hostnames yes
sentinel announce-hostnames yes
sentinel announce-ip sentinel3
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-04 07:40:07

将图像更改为redis:7.0-rc2,它起作用了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71685471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档