启动DSE Solr节点失败。

5

我正在尝试在Ubuntu上安装Datastax Enterprise 4.8.4,按照说明进行安装后一切正常。我可以使用命令sudo service dse start启动Cassandra节点。然后我想在同一台机器上作为Solr节点重新启动。因此,我编辑了/etc/default/dse并设置了SOLR_ENABLED=1。现在,我尝试再次启动Cassandra,但失败了。

@ubuntu:~$ sudo service dse start
* Starting DSE daemon dse                                                                                 
DSE daemon starting with Solr enabled (edit /etc/default/dse to disable)
[ OK ]
@ubuntu:~$ sudo service dse status
* dse is running

@ubuntu:~$ sudo service dse status
* dse is not running

我检查了/var/log/cassandra/system.log。以下是错误信息:
ERROR [main] 2016-01-28 16:44:02,767  CassandraDaemon.java:294 - Fatal exception during initialization   
org.apache.cassandra.exceptions.ConfigurationException: Cannot start 
node if snitch's data center (Solr) 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_dc=true

通过编辑/etc/dse/cassandra/cassandra-rackdc.properties文件,我成功地让DSE运行起来了。但是我仍然不知道它是通过哪个命令进行更改的,以及如何设置DC和Rack设置。 - yang
2个回答

11
2.1.13 开始,您将无法更改现有节点的数据中心。这是为了保护用户免受在生产环境中更改数据中心 (DC) 名称导致停机的影响。
DSE 简单检测器根据工作负载类型将节点分配到逻辑数据中心。例如,solr 节点将添加到 solr DC,Cassandra 节点将添加到 Cassandra 数据中心。如果您使用 DSE 简单检测器更改工作负载类型,则会更改 DC 名称,而默认情况下不允许此操作。
如果这是一个测试环境,并且您知道自己在做什么(您愿意承担短暂的停机时间,同时更改您 DC 中的所有节点以切换到新的 DC),则可以在 cassandra-env.sh 中提交以下 jvm 标志
-Dcassandra.ignore_rack=true 和/或
-Dcassandra.ignore_dc=true。
**确保 DC / 名称更改后的拓扑结构仍然相同,否则可能会出现复制问题,导致大量的流式传输+ CPU 利用率+ IO+ 旧读取**

1
谢谢您提供详细且实用的评论!说正经的,这应该是可行的,您具体遇到了什么问题? - phact
1
我解决了这个问题,这个命令对我有效:sudo dse cassandra -Dcassandra.ignore_dc=true - Nasser Ghiasi

0
以下是您可以采取的步骤来解决问题 -
错误:- CassandraDaemon.java:709 - 如果卡桑德拉的数据中心(Cassandra)与先前的数据中心(SearchGraphAnalytics)不同,则无法启动节点。
解决方案:-
  1. 在位于 /usr/share/dse/resource/cassandra/confCassandra.yaml 文件中,将网络拓扑更改为 GossipingPropertyFileSnitch,而不是 SimpleSnitch(如果未安装服务)。

  2. 如果不存在数据中心和机架信息,请创建一个属性文件。

    • 路径:/usr/share/dse/resource/cassandra/conf

    • 文件名:cassandra-rackdc.properties

    并添加以下条目:

    --indicate the rack and dc for this node dc=SearchGraphAnalytics // the previous name of your DC before upgrading rack=RAC1
    
  3. 如果 Gremlin 服务器错误仍然存在,则使用以下参数运行图形:

    当 DataStax Enterprise 是从 tarball 或使用 No Services 选项的 DataStax Installer 安装时,可能会出现此错误。

    使用以下参数启动 dse:

    /usr/share/dse$ bin/cassandra -g -s -k
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接