Solr6.2.0 + zookeeper 集群配置


 

zookeeper1 : 192.168.1.103
zookeeper2 : 192.168.1.104
zookeeper3 : 192.168.1.105
solr1 : 192.168.1.106
solr2 : 192.168.1.107
solr3 : 192.168.1.108


JDK安裝目錄:/data/jdk
Solr安裝目錄:/data/SolrCloud/Solr/solr
Solr配置文件目錄:/data/SolrCloud/Solr/solr-config
Solr數據文件目錄:/data/SolrCloud/solr-cores
Tomcat安裝目錄:/data/tomcat
除了安裝JDK的目錄不需要創建,其它目錄都需要進行創建


6台集群全部安裝 基礎環境配置 tomcat jdk,
1. tomcat放置目錄為 /data/tomcat
2. jdk 放置目錄為 /data/jdk

 

solr集群安裝:
192.168.1.106 solr1服務器上操作

解壓 solr-6.2.0.tgz ,並把solr.war解壓到/data/SolrCloud/Solr/solr 目錄下。
tar -zxvf solr-6.2.0.tgz
mv /data/solr-6.2.0/server/solr-webapp/webapp /data/SolrCloud/Solr/solr

將 solr-6.2.0/server/lib/ext/ 目錄下的jar包拷貝到 /data/SolrCloud/Solr/solr/WEB-INF/lib/ 目錄下。
cp /data/solr-6.2.0/server/lib/ext/*.jar /data/SolrCloud/Solr/solr/WEB-INF/lib/

 

將 solr-6.2.0/server/solr/configsets/basic_configs/conf/ 目錄下的文件拷貝到 /data/SolrCloud/Solr/solr-config/
cp /data/solr-6.2.0/server/solr/configsets/basic_configs/conf/* /data/SolrCloud/Solr/solr-config/

將 solr-6.2.0/example/files/conf/ 目錄下的文件夾拷貝到 /data/SolrCloud/Solr/solr-config/
cp /data/solr-6.2.0/example/files/conf/lang /data/SolrCloud/Solr/solr-config/

將 /data/SolrCloud/Solr/solr 目錄拷貝到 /data/SolrCloud/Tomcat/apache-tomcat-7.0.62/webapps/ 目錄下。
cp /data/SolrCloud/Solr/solr /data/tomcat/webapps/

將 solr-6.2.0/server/solr/ 目錄下的solr.xml文件拷貝到 /data/SolrCloud/solr-cores 目錄下,這是solr的核心配置文件。
cp /data/solr-6.2.0/server/solr/solr.xml /data/SolrCloud/solr-cores

 

修改 /data/SolrCloud/solr-cores 目錄下的solr.xml,修改hostPort和Tomcat端口一致:

<solr>

<solrcloud>

<str name="host">${host:}</str>
<int name="hostPort">8080</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>

 

 

在 /data/tomcat/conf/ 目錄下創建Catalina/localhost目錄。
mkdir -p /data/tomcat/conf/Catalina/localhost


在 /data/tomcat/conf/Catalina/localhost/ 目錄下創建solr.xml,此為Solr/home的配置文件。


<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/data/tomcat/webapps/solr" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/data/SolrCloud/solr-cores/" override="true"/>
</Context>
~
~

修改 /data/tomcat/bin/catalina.sh 加入以下內容:
JAVA_OPTS='-DzkHost=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181'

 

將以上配置同步到其它服務器
scp -r /data/{SolrCloud,tomcat} 192.168.1.107:/data/
scp -r /data/{SolrCloud,tomcat} 192.168.1.108:/data/

 

上傳配置到Zookeeper:
SolrCloud是通過Zookeeper集群來保證配置文件的變更及時同步到各個節點上,所以,需要將配置文件上傳到Zookeeper集群。
solr配置文件目錄:/data/SolrCloud/Solr/solr-config/

執行以下操作:
java -classpath .:/data/tomcat/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 -confdir /data/SolrCloud/Solr/solr-config/ -confname solrconfig

在192.168.1.103 zookeeper1上執行
校驗Zookeeper配置文件
cd /data/Zookeeper/bin/
./zkCli.sh -server zookeeper1:2181

[root@zookeeper1 bin]# ./zkCli.sh -server zookeeper1:2181

[zk: zookeeper1:2181(CONNECTED) 2] ls /
[configs, zookeeper]
[zk: zookeeper1:2181(CONNECTED) 3] ls /configs
[solrconfig]
[zk: zookeeper1:2181(CONNECTED) 4] ls /configs/solrconfig
[currency.xml, managed-schema, protwords.txt, solrconfig.xml, synonyms.txt, elevate.xml, stopwords.txt, params.json, lang]

 


啟動Tomcat,先啟動solr1 192.168.1.106機器上的tomcat:
/data/tomcat/bin/startup.sh

啟動solr2 192.168.1.107和192.168.1.108機器上的Tomcat。

訪問http://solr1:8080/solr/index.html


創建Collection及初始化Shard
curl 'http://solr1:8080/solr/admin/collections?action=CREATE&name=collection_&numShards=3&replicationFactor=1'


查看 /data/SolrCloud/solr-cores/ 目錄:
[root@solr1 solr-cores]# ls /data/SolrCloud/solr-cores/
collection__shard1_replica1 solr.xml

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM