无法使用 SPARK_ENABLED=1 启动 DSE
Unable to start DSE using SPARK_ENABLED=1
我们 运行ning 6 节点集群有:
HADOOP_ENABLED=0
SOLR_ENABLED=0
SPARK_ENABLED=0
CFS_ENABLED=0
现在,我们想将 Spark 添加到它们中。似乎 "adding" 不是正确的术语,因为这不会失败。无论如何,我们已经完成的步骤:
1.排空其中一个节点
2. 将 /etc/default/dse 更改为 SPARK_ENABLED=1 和 HADOOP_ENABLED=0
3. sudo 服务 dse 重启
并在日志中得到以下内容:
ERROR [main] 2016-05-17 11:51:12,739 CassandraDaemon.java:294 - Fatal exception during initialization
org.apache.cassandra.exceptions.ConfigurationException: Cannot start node if snitch's data center (Analytics) differs from previous data center (Cassandra). Please fix the snitch configuration, decommission and rebootstrap this node or use the flag -Dcassandra.ignore_dc=true.
有两个相关问题已经回答:
不幸的是,清除节点上的数据不是一个选项 - 我为什么要这样做?我需要数据完好无损。
使用“-Dcassandra.ignore_rack=true -Dcassandra.ignore_dc=true”在生产中有点吓人。我不明白为什么 DSE 要创建另一个 DC,为什么它不能只使用现有的?
我知道根据 datastax 的文档,应该针对不同的工作负载使用不同的 DC 来划分负载。在我们的例子中,我们只想 运行 在 Cassandra 使用相同 DC 运行ning 的相同节点上启动作业。
这可能吗?
谢谢!
其他答案正确。这里的问题是试图警告您,您之前已将此节点标识为在另一个 DC 中。这意味着它可能没有任何具有网络拓扑策略的键空间的正确数据。例如,如果您有一个 NTS 密钥空间,它在 "Cassandra" 中只有一个副本并将 DC 更改为 "Analytics",您可能会无意中丢失所有数据。
此警告和随附的标志告诉您您正在做一些您在生产集群中不应该做的事情。
真正的解决方案是使用 GossipingFileSnitch 显式命名您的 dc,而不是依赖基于 DSE 工作负载命名的 SimpleSnitch。
在这种情况下,切换到 GPFS 并将 DC 名称设置为 Cassandra。
我们 运行ning 6 节点集群有:
HADOOP_ENABLED=0
SOLR_ENABLED=0
SPARK_ENABLED=0
CFS_ENABLED=0
现在,我们想将 Spark 添加到它们中。似乎 "adding" 不是正确的术语,因为这不会失败。无论如何,我们已经完成的步骤: 1.排空其中一个节点 2. 将 /etc/default/dse 更改为 SPARK_ENABLED=1 和 HADOOP_ENABLED=0 3. sudo 服务 dse 重启
并在日志中得到以下内容:
ERROR [main] 2016-05-17 11:51:12,739 CassandraDaemon.java:294 - Fatal exception during initialization org.apache.cassandra.exceptions.ConfigurationException: Cannot start node if snitch's data center (Analytics) differs from previous data center (Cassandra). Please fix the snitch configuration, decommission and rebootstrap this node or use the flag -Dcassandra.ignore_dc=true.
有两个相关问题已经回答:
不幸的是,清除节点上的数据不是一个选项 - 我为什么要这样做?我需要数据完好无损。
使用“-Dcassandra.ignore_rack=true -Dcassandra.ignore_dc=true”在生产中有点吓人。我不明白为什么 DSE 要创建另一个 DC,为什么它不能只使用现有的?
我知道根据 datastax 的文档,应该针对不同的工作负载使用不同的 DC 来划分负载。在我们的例子中,我们只想 运行 在 Cassandra 使用相同 DC 运行ning 的相同节点上启动作业。
这可能吗?
谢谢!
其他答案正确。这里的问题是试图警告您,您之前已将此节点标识为在另一个 DC 中。这意味着它可能没有任何具有网络拓扑策略的键空间的正确数据。例如,如果您有一个 NTS 密钥空间,它在 "Cassandra" 中只有一个副本并将 DC 更改为 "Analytics",您可能会无意中丢失所有数据。
此警告和随附的标志告诉您您正在做一些您在生产集群中不应该做的事情。
真正的解决方案是使用 GossipingFileSnitch 显式命名您的 dc,而不是依赖基于 DSE 工作负载命名的 SimpleSnitch。
在这种情况下,切换到 GPFS 并将 DC 名称设置为 Cassandra。