环境:zookeeper-3.4.13 solr-4.7.2 weblogic10.3
一、单机solr启动报错
1、修改solr-webapp/solr/WEB-INF/web.xml
改为
2、修改solr-webapp/solr/WEB-INF/weblogic.xml
改为
二、单机zookeeper,文件上传问题
在A机器安装单机zookeeper,然后在A机器执行配置文件上传,会一直报错,具体错误代码没有记录,原因可能是进程占用,换B机器执行上传就可以
三、solrcloud 启动报错
原因是,ZooKeeper客户端 默认使用JAAS方式认证,即使你不配置认证,客户端也会去首先尝试使用认证方式连接,抛错拦截后再使用非认证的方式去连接,但是ZooKeeper 认证这段代码抛出的异常类型是SecurityException,而weblogic下的JAAS的认证抛出的却是RuntimeException ,所以捕获不到,所以会一直报错,无法连接。
所以只要把SecurityException改为RuntimeException就OK了
当然高版本的zookeeper已经修复这个bug,直接升级新版zookeeer客户端就可以
如果升级或是改异常类型后还是报错,加上weblogic启动参数-Dzookeeper.sasl.client=false,跳过验证
public static final String LOGIN_CONTEXT_NAME_KEY = "zookeeper.sasl.clientconfig";
public static final String ENABLE_CLIENT_SASL_KEY = "zookeeper.sasl.client";
public static final String ENABLE_CLIENT_SASL_DEFAULT = "true";
/**
* Returns true if the SASL client is enabled. By default, the client
* is enabled but can be disabled by setting the system property
* <code>zookeeper.sasl.client</code> to <code>false</code>. See
* ZOOKEEPER-1657 for more information.
*
* @return If the SASL client is enabled.
*/
public static boolean isEnabled() {
return Boolean.valueOf(System.getProperty(ENABLE_CLIENT_SASL_KEY, ENABLE_CLIENT_SASL_DEFAULT));
}