【问题标题】:Redis replication through ssh not starting通过 ssh 进行的 Redis 复制未启动
【发布时间】:2014-05-08 10:18:56
【问题描述】:

将 Rails 应用程序基础架构从一个托管区域一点点迁移到另一个托管区域(只有公共互联网链接它们)我需要将 Redis 实例从一侧迁移到另一侧。

而不是转储数据(即使很小:只是队列),我更喜欢使用主从设置来确保没有任何东西丢失并且我们没有任何停机时间。

互联网说 SSH 是我的朋友。

Old1 是托管主 Redis 服务器的旧服务器。 Redis那里绑定了服务器的私网IP。

New1 是托管新 Redis 服务器的新服务器。

在 New1 上,我设置了 ssh 隧道/端口转发:

ssh -L 7380:<private_old1_ip>:6379 username@old1.publicname.ex

仍然在 New1 上,我检查是否可以连接到两个实例:

redis-cli -p 6379
redis-cli -p 7380

在这两个基地中,信息都有效。

在 New1:Redis 上,通过 redis-cli 我设置了从属模式:

salveof localhost 7380

现在这里是 New1:Redis 上的信息:

# Replication
role:slave
master_host:localhost
master_port:7380
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
master_link_down_since_seconds:1399544048
slave_priority:100
slave_read_only:1
connected_slaves:0

虽然 Old1:Redis(仍然通过隧道):

# Replication
role:master
connected_slaves:1
slave0:<private_old1_ip>,6379,online

所以隧道已经开通,并且正在运行。 有大量可用内存。 从站显示在 Old1 端连接(但显示为 Old1 ip)。 从站说主链路状态为关闭,同步未在进行中。

我错过了什么?

【问题讨论】:

    标签: redis


    【解决方案1】:

    其实问题很简单。

    日志目标设置为 /dev/null,因此 /var/log 中没有出现任何内容

    存储目录设置为 ./ 显然不能很好地与守护程序设置配合使用,并导致同步时出现权限错误。

    【讨论】:

      猜你喜欢
      • 2017-04-16
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 2021-12-05
      • 2012-09-20
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      相关资源
      最近更新 更多