【问题标题】:Cassandra Clustering for 2 node2 节点的 Cassandra 集群
【发布时间】:2017-10-27 08:55:42
【问题描述】:

我想在 Cassandra 中创建一个两节点集群。我已经对我的 yaml 文件进行了以下更改 -

例子:

节点 1

cluster_name: 'MyCassandraCluster'
    num_tokens: 256
    seed_provider: class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
        ‐ seeds:  "10.168.66.41,10.176.170.59" 
listen_address:10.168.66.41
rpc_address:10.168.66.41   
endpoint_snitch: GossipingPropertyFileSnitch
auto_bootstrap : false

节点 2

cluster_name: 'MyCassandraCluster'
num_tokens: 256
seed_provider:     class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
    ‐ seeds:  "10.168.66.41"
listen_address:10.176.170.59
rpc_address:10.176.170.59
endpoint_snitch: GossipingPropertyFileSnitch
auto_bootstrap : false

但我仍然无法创建两个节点集群。为什么我会遇到这个问题?

【问题讨论】:

    标签: cassandra cluster-computing


    【解决方案1】:

    好吧,如果没有从您的 system.log 中看到实际的错误消息,很难知道,但我会猜测一下。根据您的种子节点,您可能有先有鸡的问题。

    如果没有 10.168.66.41 已经运行,10.176.170.59 将无法启动。虽然 .41 本身已指定为种子节点,但它也指定了 .59,这可能会导致问题发生。

    我的建议是将您的种子列表更改为在所有(两个)节点上都相同。只需在两者上都设置为:

    seeds:  "10.168.66.41"
    

    然后,启动 .41,它应该会出现。然后开始 .59。

    如果不这样做,请在您的 system.log 中查找异常。

    【讨论】:

    • 好的。我也做过同样的事情。但是通过这样做,我无法启动 10.176.170.59 Cassandra 服务器。
    • 还有一件事,当我在种子节点上运行 nodetool 命令时,它不显示其他节点。
    • 你能理解吗,我想说什么。 D:\apache-cassandra-3.10\bin>nodetool status Datacenter: dc1 ================ Status=Up/Down |/ State=Normal/Leaving/Joining/Moving --地址加载令牌拥有(有效)主机 ID 机架 UN 10.168.66.41 224.45 KiB 256 100.0% c0fd9946-c69a-4589-bee5-c234512dd743 rack1
    • 所以,您可以在输出中看到,没有关于第二个节点的信息。 10.168.66.41
    • @Ravi 那么 .59 在其日志中说明了为什么它无法运行?我猜它说的是cannot gossip with any seed nodes...
    【解决方案2】:

    在集群中添加新节点时,应将 Auto bootstrap 设置为 true。 因此,将 auto bootstrap 设置为 true 并将您的种子节点设置为一个节点。在您的情况下,它是 10.168.66.41(或)10.176.70.59。

    • 首先启动你的种子节点
    • 从辅助节点远程登录您的种子节点和存储端口(默认为 7000),如果无法远程登录,请检查您的防火墙设置。
    • 立即启动您的辅助节点

    【讨论】:

    • 谢谢肖班。辅助节点有不同的防火墙设置。所以我提出了更改防火墙设置的请求。希望如此,这一次它的作品。
    最近更新 更多