DSE/Solr:“;选择子句中未定义的名称工作负载;

DSE/Solr:“;选择子句中未定义的名称工作负载;,solr,cassandra,datastax-enterprise,Solr,Cassandra,Datastax Enterprise,我正在将当前DSE实现迁移到(物理)多数据中心实现 我已经从简单的吹毛求疵变成了八卦的PropertyFileSnitch,在一次滚动重启之后,除了SOLR,一切似乎都很好 当我尝试创建核心时,它可以工作,但引发了一个异常: org.apache.solr.common.SolrException: org.apache.cassandra.exceptions.InvalidRequestException: Undefined name workload in selection claus

我正在将当前DSE实现迁移到(物理)多数据中心实现

我已经从简单的吹毛求疵变成了八卦的PropertyFileSnitch,在一次滚动重启之后,除了SOLR,一切似乎都很好

当我尝试创建核心时,它可以工作,但引发了一个异常:

org.apache.solr.common.SolrException: org.apache.cassandra.exceptions.InvalidRequestException: Undefined name workload in selection clause at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.createCore(SolrCoreResourceManager.java:335) at com.datastax.bdp.search.solr.handler.admin.CassandraCoreAdminHandler.handleCreateAction(CassandraCoreAdminHandler.java:117) at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:144) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:615) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:206) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155) at com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:90) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:194) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
创建了核心,dataimporthandler完成了它的工作,但当我尝试选择一些数据时,它会引发另一个异常:

java.lang.RuntimeException: java.lang.NullPointerException
    at com.datastax.bdp.search.solr.handler.shard.CassandraHttpShardHandler.checkDistributed(CassandraHttpShardHandler.java:44)
    at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:178)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1841)
.....
Caused by: java.lang.NullPointerException
    at com.datastax.bdp.search.solr.dht.ShardRouter.endpointsToContact(ShardRouter.java:577)
    at com.datastax.bdp.search.solr.dht.ShardRouter.route(ShardRouter.java:182)
    at com.datastax.bdp.search.solr.handler.shard.CassandraHttpShardHandler.checkDistributed(CassandraHttpShardHandler.java:40)

我不知道该去哪里找,也找不到关于这个错误的任何相关信息。因此,我希望这里有人能给我指出正确的方向。

这很可能是由于将cassandra.yaml中的DseDelegateSnitch替换为GossipingPropertyFileSnitch而导致的配置错误:您应该保留前者,并在dse.yaml中配置后者。

dse版本是什么?您是否在不同版本之间进行了迁移?此外,日志和您的snitch配置也会很有用。谢谢您,在按照您提到的方式进行配置后,一切正常。