启动Solr服务报错:Path must not end with / character
今天在第一次对Solr的UI Console进行Add Core操作的时候,用了默认选项,提交后页面无反应,而Solr的日志抛出大量如下日志:
ERROR org.apache.solr.cloud.Overseer: Exception in Overseer main queue loop
java.lang.IllegalArgumentException: Path must not end with / character
重启Solr服务后一样循环抛出大量以上Log,网上查资料,发现这竟然是Cloudera的一个Bug,具体描述如下:
Cloudera Search
— Creating cores using the web UI with default values causes the system to become unresponsive
You can use the Solr Server web UI to create new cores. If you click Create Core without making any changes to the default attributes, the server may become unresponsive. Checking the log for the server shows a repeated error that begins:
ERROR org.apache.solr.cloud.Overseer: Exception in Overseer main queue loop
java.lang.IllegalArgumentException: Path must not end with / character
Bug: Solr-5813
Severity: Medium
Workaround: To avoid this issue, do not create cores without first updating values for the new core in the web UI. For example, you might enter a new name for the core to be created.
If you created a core with default settings and are seeing this error, you can address the problem by finding which node is having problems and removing that node. Find the problematic node by using a tool that can inspect ZooKeeper, such as the Solr Admin UI. Using such a tool, examine items in the ZooKeeper queue, reviewing the properties for the item. The problematic node will have an item in its queue with the property collection="".
Remove the node with the item with the collection="" property using a ZooKeeper management tool. For example, you can remove nodes using the ZooKeeper command line tool or recent versions of HUE.
最后的解决方案如下:
1、删除每一个zookeeper节点的/usr/lib/zookeeper目录下的/version-2的全部内容
2、重启集群
3、初始化Solr
4、启动Solr服务,看日志一切恢复正常