【问题标题】:Redis nodes.conf file locked?Redis nodes.conf 文件被锁定?
【发布时间】:2016-05-22 10:39:51
【问题描述】:

我正在按照本教程创建 Redis 集群:

http://redis.io/topics/cluster-tutorial

在本教程中,我需要在端口 7000 到 7005 上运行多个 redis-server 实例。但是,在我成功运行第一个实例并尝试运行第二个实例后,nodes.conf 文件似乎被锁定,我得到以下信息错误信息:

“抱歉,集群配置文件nodes.conf已经被不同的Redis集群节点使用,请确保不同的节点使用不同的集群配置文件。”

每个服务器实例都需要单独的nodes.conf 吗?还是我需要在每个实例目录中有一个单独的 redis-server 可执行文件并从那里运行它?

【问题讨论】:

    标签: redis redis-cluster


    【解决方案1】:

    本教程建议您为每个实例配置使用单独的文件夹,因此每个实例也会在自己的文件夹中生成nodes.conf。

    在每个目录中创建一个redis.conf文件,从7000到 7005.

    您需要将 .conf 文件放在每个实例的单独文件夹中,并且必须从该文件夹中运行可执行文件。 假设您在 /tmp/redis-cluster/ 上拥有 redis-server,在每个 /tmp/redis-cluster/700x 文件夹上拥有 redis.conf:

    cd /tmp/redis-cluster/7000
    ../redis-server ./redis.conf
    

    这样将在当前文件夹7000上生成nodes.conf。

    请注意,您必须先发出cd 以更改当前目录,然后从该文件夹执行上一个文件夹的redis-server (../)

    【讨论】:

    • 这正是我所做的。问题是 redis-server 位于 7000 等目录之外,并且它用于集群配置的 nodes.conf 文件在不同服务器启动时是共享的。所以我认为应该编辑本教程,因为它的描述方式不起作用。
    • 我不认为这是教程中的问题。我们中的许多人都按照本教程进行操作,没有任何问题。您能否分享您的文件夹结构以及您如何确切地运行实例?
    • 我在文件夹 /tmp/redis-cluster 中有 redis-server。然后我在这些文件夹中有不同的 redis.conf 文件:/tmp/redis-cluster/7000、/tmp/redis-cluster/7001、/tmp/redis-cluster/7002、/tmp/redis-cluster/7003、/ tmp/redis-cluster/7004,/tmp/redis-cluster/7005。然后我使用这些命令/tmp/redis-cluster/redis-server ./7000/redis.conf 等运行每个服务器。创建集群后,当我尝试再次启动服务器时,他们开始抱怨锁定在nodes.conf 文件,位于 /tmp/redis-cluster 目录下。
    • 你应该像这样运行实例:cd /tmp/redis-cluster/7000../redis-server ./redis.conf。我刚刚编辑了我的答案。
    • 这成功了!我没有意识到当前目录将是服务器生成nodes.conf 的目录。谢谢。
    猜你喜欢
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    相关资源
    最近更新 更多