无法使用SPARK_ENABLED = 1

时间:2016-05-17 16:11:28

标签: apache-spark cassandra datastax datastax-enterprise

我们正在运行6节点集群:

HADOOP_ENABLED=0
SOLR_ENABLED=0
SPARK_ENABLED=0
CFS_ENABLED=0

现在,我们想为所有人添加Spark。似乎"添加"这不是正确的术语,因为这不会失败。无论如何,我们已经完成了以下步骤: 排出其中一个节点 2.将/ etc / default / dse更改为SPARK_ENABLED = 1且HADOOP_ENABLED = 0 3. sudo service dse restart

并在日志中得到以下内容:

  

ERROR [main] 2016-05-17 11:51:12,739 CassandraDaemon.java:294 - 初始化期间的致命异常   org.apache.cassandra.exceptions.ConfigurationException:如果snitch的数据中心(Analytics)与以前的数据中心(Cassandra)不同,则无法启动节点。请修复snitch配置,停用并重新引导此节点或使用标志-Dcassandra.ignore_dc = true。

已经回答了两个相关问题:

  1. Unable to start solr aspect of DSE search
  2. Two node DSE spark cluster error setting up second node. Why?
  3. 不幸的是,清除节点上的数据不是一种选择 - 为什么我会这样做?我需要数据完整。

    使用" -Dcassandra.ignore_rack = true -Dcassandra.ignore_dc = true"在制作上有点吓人。我不明白为什么DSE想要创建另一个DC,为什么它只能使用现有DC?

    我知道根据datastax的doc,我们应该使用不同的DC为不同的工作负载划分负载。在我们的例子中,我们只想在Cassandra使用相同DC运行的相同节点上运行SPARK作业。

    这可能吗?

    谢谢!

1 个答案:

答案 0 :(得分:1)

其他答案都是正确的。这里的问题是试图警告您,您之前已将此节点标识为在另一个DC中。这意味着它可能没有网络拓扑策略的任何密钥空间的正确数据。例如,如果你有一个NTS键空间,其中只有一个复制品,那就是Cassandra"并将DC更改为" Analytics"你可能会无意中丢失所有数据。

此警告和随附的标志告诉您,您正在做生产群集中不应该的事情。

真正的解决方案是使用GossipingFileSnitch明确命名您的dc,而不是依赖于基于DSE工作负载命名的SimpleSnitch。

在这种情况下,切换到GPFS并将DC名称设置为Cassandra。