【问题标题】:How to check vnode disabled on a hadoop node如何检查在 hadoop 节点上禁用的 vnode
【发布时间】:2014-05-17 07:07:40
【问题描述】:

链接回这个问题: Why not enable virtual node in an Hadoop node?

我正在运行具有 2 个 cassandra 和 1 个分析节点的混合 3 节点集群,并通过使用 DataStax 企业提供的实用程序生成 3 个令牌来禁用虚拟节点。 但是当我运行“nodetool status”命令时,我仍然看到每个节点有 256 个令牌,并且当创建 mapreduce 作业时,它会创建 257 个映射器,并且需要很长时间来执行包含小数据的查询。 所以我的具体问题是:

  1. 虚拟节点设置是否仍未禁用?如何验证它是否已禁用?

  2. 如果它被禁用,那么为什么仍然为每个作业创建 257 个映射器?有不同的配置吗?

非常感谢您的帮助!

【问题讨论】:

    标签: hadoop cassandra datastax-enterprise


    【解决方案1】:

    1) 它没有被禁用。您可以判断,因为它仍然在 nodetool 状态中显示 256 个令牌。

    要禁用 vnode,您需要确保更改 cassandra.yamnl 中的 num_tokens 变量

    # If you already have a cluster with 1 token per node, and wish to migrate to 
    # multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
    # num_tokens: 256  << Make sure this line is commented out
    
    # initial_token allows you to specify tokens manually.  While you can use it with
    # vnodes (num_tokens > 1, above) -- in which case you should provide a 
    # comma-separated list -- it's primarily used when adding nodes to legacy clusters 
    # that do not have vnodes enabled.
    initial_token:  << Your generated token goes here
    

    【讨论】:

    • 感谢您的回复!我按照你说的做了,评论了 num_tokens 属性并重新启动了所有三个节点,但仍然看到相同的结果。每个节点上有 256 个令牌。有什么想法吗?
    • 这只会在第一次启动时设置 vnodes。如果您擦除节点, rm -r /var/lib/cassandra 您的节点将在没有 vnode 的情况下重新启动。要进行实时迁移,您必须在没有 vnode 的情况下启动单独的节点,复制您的数据,然后关闭启用了 vnode 的节点集。
    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多