我们刚刚发布了对DSE SOLR集群架构的更改。 我们尝试在此节点上重新加载核心,但无法加载核心。 然后我们耗尽并停止了DSE。 在启动时,我们得到以下异常:
INFO 23:25:52,673 Configuring index commit log for linkcurrent_search.content java.lang.RuntimeException: javax.management.InstanceAlreadyExistsException: com.datastax. bdp:type=CommitLog-linkcurrent_search.content at com.datastax.bdp.util.JMXUtil.registerMBean(JMXUtil.java:36) at com.datastax.bdp.cassandra.index.solr.AbstractSolrSecondaryIndex.init(AbstractSolrSecondaryIndex. java:183) at org.apache.cassandra.db.index.SecondaryIndexManager.addIndexedColumn(SecondaryIndexManager. java:267) at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:271) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:378) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:350) at org.apache.cassandra.db.Table.initCf(Table.java:329) at org.apache.cassandra.db.Table.<init>(Table.java:272) at org.apache.cassandra.db.Table.open(Table.java:109) at org.apache.cassandra.db.Table.open(Table.java:87) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:276) at com.datastax.bdp.server.DseDaemon.setup(DseDaemon.java:351) at org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:381) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:212) Caused by: javax.management.InstanceAlreadyExistsException: com.datastax.bdp:type=CommitLog- linkcurrent_search.content at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository( DefaultMBeanServerInterceptor.java:1898) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean( DefaultMBeanServerInterceptor.java:966) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject( DefaultMBeanServerInterceptor.java:900) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor .java:324) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) at com.datastax.bdp.util.JMXUtil.registerMBean(JMXUtil.java:32) ... 17 more Cannot load daemonUPDATE
只是尝试移动solr.data目录,看看问题是否在那里,但没有帮助。
我也试过移动commitlog目录,但没有骰子。
如果禁用SOLR,节点将启动。
We just published a change to the schema for our DSE SOLR cluster. We tried reloading the core on this node and it couldn't load the core. We then drained and stopped DSE. on startup we get the following exception:
INFO 23:25:52,673 Configuring index commit log for linkcurrent_search.content java.lang.RuntimeException: javax.management.InstanceAlreadyExistsException: com.datastax. bdp:type=CommitLog-linkcurrent_search.content at com.datastax.bdp.util.JMXUtil.registerMBean(JMXUtil.java:36) at com.datastax.bdp.cassandra.index.solr.AbstractSolrSecondaryIndex.init(AbstractSolrSecondaryIndex. java:183) at org.apache.cassandra.db.index.SecondaryIndexManager.addIndexedColumn(SecondaryIndexManager. java:267) at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:271) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:378) at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:350) at org.apache.cassandra.db.Table.initCf(Table.java:329) at org.apache.cassandra.db.Table.<init>(Table.java:272) at org.apache.cassandra.db.Table.open(Table.java:109) at org.apache.cassandra.db.Table.open(Table.java:87) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:276) at com.datastax.bdp.server.DseDaemon.setup(DseDaemon.java:351) at org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:381) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:212) Caused by: javax.management.InstanceAlreadyExistsException: com.datastax.bdp:type=CommitLog- linkcurrent_search.content at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository( DefaultMBeanServerInterceptor.java:1898) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean( DefaultMBeanServerInterceptor.java:966) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject( DefaultMBeanServerInterceptor.java:900) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor .java:324) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) at com.datastax.bdp.util.JMXUtil.registerMBean(JMXUtil.java:32) ... 17 more Cannot load daemonUPDATE
Just tried moving the solr.data directory out of the way to see if the issue was there and that didn't help.
I also tried moving the commitlog directory as well, but no dice.
The node will start up if I disable SOLR.
最满意答案
升级到最新的DSE 3.2.x时,添加新列/字段时会出现冲突,因为实现Solr二级索引的类的名称在版本之间发生了变化:这导致了上述问题。
DSE 3.2.2将解决此问题,但在此期间您可以按照给定的步骤操作:
禁用Solr重启节点。 通过CQLSH描述您的模式,并使用相关的Cassandra二级索引标识添加的列:您会注意到类名与已存在的索引不同。 删除每个新索引并使用完全相同的名称再次创建,但更改类名称以匹配旧名称。 启用Solr重启,一切都行。When upgrading to the latest DSE 3.2.x, you'll get a conflict when adding new columns/fields as the name of the class implementing the Solr secondary index changed between versions: this caused your problems above.
DSE 3.2.2 will fix this issue, but in the meantime you can follow the given steps:
Restart the node with Solr disabled. Describe your schema via CQLSH and identify the added columns with related Cassandra secondary indexes: you'll notice class names differ from already existent indexes. Drop each new index and create again with exactly the same name, but changing the class name to match the old one. Restart with Solr enabled and everything should work.更多推荐
发布评论