我已经在三台运行Ubuntu 22.04.1 LTS的EC2上安装了zookeeper 3.7.1和Solr 9.1,配置文件如下:
tickTime=2500
dataDir=/zookeeper
clientPort=2181
maxClientCnxns=80
initLimit=10
syncLimit=5
server.1=10.9.9.x:2888:3888
server.2=10.9.10.y:2888:3888
server.3=10.9.13.z:2888:3888
4lw.commands.whitelist=*
Solr部署几乎是直接开箱即用的,solr.xml没有修改,如下所示:
<solrcloud>
<str name="host">${host:}</str>
<int name="hostPort">${solr.port.advertise:0}</int>
<str name="hostContext">${hostContext:solr}</str>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
<int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
<str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
<str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>
<str name="zkCredentialsInjector">${zkCredentialsInjector:org.apache.solr.common.cloud.DefaultZkCredentialsInjector}</str>
<bool name="distributedClusterStateUpdates">${distributedClusterStateUpdates:false}</bool>
<bool name="distributedCollectionConfigSetExecution">${distributedCollectionConfigSetExecution:false}</bool>
</solrcloud>
在/etc/default/www.example.com中的配置如下:solr.in.sh is as follows:
SOLR_JETTY_HOST="0.0.0.0"
ZK_HOST="10.9.9.x:2181,10.9.13.y:2181,10.9.10.z:2181"
SOLR_JAVA_MEM="-Xms2G -Xmx4G"
SOLR_PID_DIR="/srv/apps_data/solrcloud"
SOLR_HOME="/srv/apps_data/solrcloud/data"
LOG4J_PROPS="/srv/apps_data/solrcloud/log4j2.xml"
SOLR_LOGS_DIR="/srv/apps_data/solrcloud/logs"
SOLR_PORT="8983"
# The following lines added by ./solr for enabling BasicAuth
SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dsolr.httpclient.config=/srv/apps_data/solrcloud/data/basicAuth.conf"
我启用了基本身份验证,所有三个Admin UI中的一切看起来都很好。Zookeeper状态良好,三个服务器现在都部署在solrcloud模式下。安全部分如下:
到目前为止一切顺利。
接下来,我将使用基本身份验证凭据http://solr:solr@10.9.9.x:8983/solr/admin/configs?action=UPLOAD&name=calls以及包含这两个文件的zip文件创建一个配置
managed-schema.xml
solrconfig.xml
当我在zookeeper树/configs/calls下查看它时,我看到了一个小注解{" trusted ":true}。
当尝试创建集合时,问题就出现了。我使用集合APIV1,有3个碎片和2个副本,使用异步方法
文件名:solr/admin/collections?操作=创建&名称=调用&数量碎片= 3 &复制因子= 2 &集合.配置名称=调用&异步= 123456
"1234562330250161386315": {
"responseHeader": {
"status": 0,
"QTime": 0
},
"STATUS": "failed",
"msg": "Error CREATEing SolrCore 'calls_shard1_replica_n1': Unable to create core [calls_shard1_replica_n1] Caused by: solr.XSLTResponseWriter"
},
我错过了什么?我的研究表明,XSLTResponseWriter的问题是由于缺乏信任或身份验证引起的。配置Solr 9.1以允许创建集合的正确方法是什么?
任何帮助将不胜感激!!
1条答案
按热度按时间4uqofj5v1#
我发现了这个问题。在9.0的发行说明中,它做了一些传递性的注解
换句话说,solr在云模式下根本无法工作,除非开箱即用的配置得到纠正,所需的更改需要在/etc/default/ www.example.com中solr.in.sh为我在ubuntu上的部署进行,并且需要启用脚本模块。
以下行出现在新安装的solr.in.sh文件中(在/etc/default中),
为了能够使用solrcloud和创建集合等,需要包含以下行:
有了这个改变,solrcloud就像预期的那样工作了!