日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

基于zookeeper的solrCloud集群搭建

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于zookeeper的solrCloud集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?轉自:https://blog.csdn.net/yougoule/article/details/78445759??基于原文對實踐遇到的問題稍作補充

1.安裝及搭建相關環境

1.1環境準備

centos7,jdk1.8,tomcat8,zookeeper3.4.X,solr4.10.X ?


2.zookeeper集群搭建

2.1復制zookeeper

[root@MiWiFi-R3-srv ~]# mkdir /usr/local/solr-cloud
[root@MiWiFi-R3-srv ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01
[root@MiWiFi-R3-srv ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02
[root@MiWiFi-R3-srv ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03


2.2所有的zookeeper節點

2.2.1配置第一個zookeeper節點

[root@MiWiFi-R3-srv ~]# cd /usr/local/solr-cloud/zookeeper01
[root@MiWiFi-R3-srv zookeeper01]# mkdir data
[root@MiWiFi-R3-srv zookeeper01]# echo 1 > data/myid


2.2.2配置第一個節點的cfg文件

[root@MiWiFi-R3-srv conf]# mv zoo_sample.cfg zoo.cfg
[root@MiWiFi-R3-srv conf]# vim zoo.cfg
#修改dataDir,指向data目錄
dataDir=/usr/local/solr-cloud/zookeeper01/data/#solr的通訊端口(集群中不能重復)
clientPort=2182
#在文件末尾添加以下配置
server.1=192.168.31.241:2887:3887
server.2=192.168.31.241:2888:3888
server.3=192.168.31.241:2889:3889
#第一個端口為通訊端口,第二個為投票選舉端口


2.2.3配置第二個zookeeper節點

?

[root@MiWiFi-R3-srv conf]# cd ../../
[root@MiWiFi-R3-srv solr-cloud]# cd zookeeper02
[root@MiWiFi-R3-srv zookeeper02]# mkdir data
[root@MiWiFi-R3-srv zookeeper02]# echo 2 > data/myid


2.2.4配置第二個節點的cfg文件

[root@MiWiFi-R3-srv zookeeper02]# cd conf/
[root@MiWiFi-R3-srv conf]# cp zoo_sample.cfg zoo.cfg
[root@MiWiFi-R3-srv conf]# vim zoo.cfg?

?

#修改dataDir,指向data目錄
dataDir=/usr/local/solr-cloud/zookeeper02/data/#solr的通訊端口(集群中不能重復)
clientPort=2183#在文件末尾添加以下配置
server.1=192.168.31.241:2887:3887
server.2=192.168.31.241:2888:3888
server.3=192.168.31.241:2889:3889
#第一個端口為通訊端口,第二個為投票選舉端口

?
2.2.5配置第三個zookeeper節點

?

[root@MiWiFi-R3-srv conf]# cd ../../
[root@MiWiFi-R3-srv solr-cloud]# cd zookeeper03
[root@MiWiFi-R3-srv zookeeper03]# mkdir data
[root@MiWiFi-R3-srv zookeeper03]# echo 3 > data/myid


2.2.6配置第三個節點的cfg文件

[root@MiWiFi-R3-srv zookeeper03]# cd conf/
[root@MiWiFi-R3-srv conf]# cp zoo_sample.cfg zoo.cfg
[root@MiWiFi-R3-srv conf]# vim zoo.cfg

?


#修改dataDir,指向data目錄
dataDir=/usr/local/solr-cloud/zookeeper03/data/#solr的通訊端口(集群中不能重復)
clientPort=2184#在文件末尾添加以下配置
server.1=192.168.31.241:2887:3887
server.2=192.168.31.241:2888:3888
server.3=192.168.31.241:2889:3889
#第一個端口為通訊端口,第二個為投票選舉端口


2.3配置集群統一啟動批處理

[root@MiWiFi-R3-srv conf]# cd ../../
[root@MiWiFi-R3-srv solr-cloud]# vim start-zookeeper.sh

?
?

cd zookeeper01/bin
./zkServer.sh start
cd ../../
cd zookeeper02/bin
./zkServer.sh start
cd ../../
cd zookeeper03/bin
./zkServer.sh start

?

[root@MiWiFi-R3-srv solr-cloud]# chmod u+x start-zookeeper.sh


2.4啟動zookeeper集群

?

[root@MiWiFi-R3-srv solr-cloud]# ./start-zookeeper.sh?
JMX enabled by default
Using config: /usr/local/solr-cloud/zookeeper01/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
JMX enabled by default
Using config: /usr/local/solr-cloud/zookeeper02/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
JMX enabled by default
Using config: /usr/local/solr-cloud/zookeeper03/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED


3.solrCloud集群搭建

3.1復制tomcat

[root@MiWiFi-R3-srv solr-cloud]# cp -r /root/apache-tomcat-8.5.23 tomcat01
[root@MiWiFi-R3-srv solr-cloud]# cp -r /root/apache-tomcat-8.5.23 tomcat02
[root@MiWiFi-R3-srv solr-cloud]# cp -r /root/apache-tomcat-8.5.23 tomcat03
[root@MiWiFi-R3-srv solr-cloud]# cp -r /root/apache-tomcat-8.5.23 tomcat04


3.2配置所有tomcat的server.xml

3.2.1配置第一個tomcat的server.xml

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat01/conf/server.xml?

?

#第22行
<Server port="8105" shutdown="SHUTDOWN">#第69行
<Connector port="8180" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />#第116行
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />


3.2.2配置第二個tomcat的server.xml

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat02/conf/server.xml?
#第22行
<Server port="8205" shutdown="SHUTDOWN">#第69行
<Connector port="8280" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />#第116行
<Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />


3.2.3配置第三個tomcat的server.xml

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat03/conf/server.xml?

?

#第22行
<Server port="8305" shutdown="SHUTDOWN">#第69行
<Connector port="8380" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />#第116行
<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" />


3.2.4配置第四個tomcat的server.xml

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat04/conf/server.xml?

?

#第22行
<Server port="8405" shutdown="SHUTDOWN">#第69行
<Connector port="8480" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />#第116行
<Connector port="8409" protocol="AJP/1.3" redirectPort="8443" />


3.3復制solr單機版的solr文件到每個集群節點中

[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat01/webapps/
[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat02/webapps/
[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat03/webapps/
[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/tomcat/webapps/solr/ tomcat04/webapps/


3.4復制單機版solrhome到solr-cloud文件下

[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/solrhome/ solrhome01
[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/solrhome/ solrhome02
[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/solrhome/ solrhome03
[root@MiWiFi-R3-srv solr-cloud]# cp -r ../solr/solrhome/ solrhome04

把目錄:.../example/lib/* ? ?solr依賴的jar 拷貝所有tomcat下的webapps/solr/WEB-INF/lib/中


3.5配置所有solrhome節點的solr.xml文件

3.5.1修改solrhome01的solr.xml中solrcloud配置

[root@MiWiFi-R3-srv solr-cloud]# vim solrhome01/solr.xml

?

#第32行;host參數對應tomcat01的ip地址
<str name="host">192.168.31.241</str>#第33行;hostPort參數對應tomcat01的端口號
<int name="hostPort">8180</int>


3.5.2修改solrhome02的solr.xml中solrcloud配置

[root@MiWiFi-R3-srv solr-cloud]# vim solrhome02/solr.xml

?

#第32行;host參數對應tomcat02的ip地址
<str name="host">192.168.31.241</str>#第33行;hostPort參數對應tomcat02的端口號
<int name="hostPort">8280</int>


3.5.3修改solrhome03的solr.xml中solrcloud配置

[root@MiWiFi-R3-srv solr-cloud]# vim solrhome03/solr.xml

?

#第32行;host參數對應tomcat03的ip地址
<str name="host">192.168.31.241</str>#第33行;hostPort參數對應tomcat03的端口號
<int name="hostPort">8380</int>


3.5.4修改solrhome04的solr.xml中solrcloud配置

[root@MiWiFi-R3-srv solr-cloud]# vim solrhome04/solr.xml

?

#第32行;host參數對應tomcat04的ip地址
<str name="host">192.168.31.241</str>#第33行;hostPort參數對應tomcat04的端口號
<int name="hostPort">8480</int>


3.6建立solr與solrhome之間的關聯關系使其互相關聯

3.6.1修改tomcat01下的web.xml文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat01/webapps/solr/WEB-INF/web.xml

#第42行;solrhome01的地址

<env-entry-value>/usr/local/solr-cloud/solrhome01/</env-entry-value>


3.6.2修改tomcat02下的web.xml文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat02/webapps/solr/WEB-INF/web.xml


#第42行;solrhome02的地址

<env-entry-value>/usr/local/solr-cloud/solrhome02/</env-entry-value>


3.6.3修改tomcat03下的web.xml文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat03/webapps/solr/WEB-INF/web.xml


#第42行;solrhome03的地址

<env-entry-value>/usr/local/solr-cloud/solrhome03/</env-entry-value>


3.6.4修改tomcat04下的web.xml文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat04/webapps/solr/WEB-INF/web.xml


#第42行;solrhome04的地址

<env-entry-value>/usr/local/solr-cloud/solrhome04/</env-entry-value>


3.7配置tomcat節點使其關聯zookeeper集群

3.7.1配置tomcat01的catalina.sh文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat01/bin/catalina.sh


?

#第269行(不用動);
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"#在第269行下面添加一行JAVA_OPTS的配置
JAVA_OPTS="-DzkHost=192.168.31.241:2182,192.168.31.241:2183,192.168.31.241:2184"
#解釋:上面的三個ip為三個zookeeper的ip+solr的通訊端口(clientPort)


3.7.2配置tomcat02的catalina.sh文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat02/bin/catalina.sh

?

#第269行(不用動);
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"#在第269行下面添加一行JAVA_OPTS的配置
JAVA_OPTS="-DzkHost=192.168.31.241:2182,192.168.31.241:2183,192.168.31.241:2184"
#解釋:上面的三個ip為三個zookeeper的ip+solr的通訊端口(clientPort)


3.7.3配置tomcat03的catalina.sh文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat03/bin/catalina.sh

?

#第269行(不用動);
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"#在第269行下面添加一行JAVA_OPTS的配置
JAVA_OPTS="-DzkHost=192.168.31.241:2182,192.168.31.241:2183,192.168.31.241:2184"
#解釋:上面的三個ip為三個zookeeper的ip+solr的通訊端口(clientPort)


3.7.4配置tomcat04的catalina.sh文件

[root@MiWiFi-R3-srv solr-cloud]# vim tomcat04/bin/catalina.sh
#第269行(不用動);
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"#在第269行下面添加一行JAVA_OPTS的配置
JAVA_OPTS="-DzkHost=192.168.31.241:2182,192.168.31.241:2183,192.168.31.241:2184"
#解釋:上面的三個ip為三個zookeeper的ip+solr的通訊端口(clientPort)


3.8使用zookeeper管理solr的配置文件

[root@MiWiFi-R3-srv solr-cloud]# cd /root/solr-4.10.3/example/scripts/cloud-scripts/


使用zkcli.sh腳本上傳solr的配置文件到zookeeper集群中:

[root@MiWiFi-R3-srv cloud-scripts]# ./zkcli.sh -zkhost 192.168.31.241:2182,192.168.31.241:2183,192.168.31.241:2184 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf/ -confname myconf

如果此時發生ru錯誤“?找不到或無法加載主類 org.apache.solr.cloud.ZkCLI”錯誤,則先執行啟動單機solr命令解壓solr對于的文件后再重新執行上述命令;

在 ?/root/solr-4.10.3/example/scripts/cloud-scripts/ 執行如下命令(等待啟動成功后關閉窗口即可)

java -jar start.jar 命令


登錄zookeeper客戶端:

[root@MiWiFi-R3-srv cloud-scripts]# cd /usr/local/solr-cloud/zookeeper01/bin/
[root@MiWiFi-R3-srv bin]# ./zkCli.sh -server 192.168.31.241:2182


查看myconf文件是否上傳成功:

[zk: 192.168.31.241:2182(CONNECTED) 3] ls /configs/myconf
[currency.xml, mapping-FoldToASCII.txt, protwords.txt, scripts.conf, synonyms.txt, stopwords.txt, velocity, _schema_analysis_synonyms_english.json, admin-extra.html, update-script.js, _schema_analysis_stopwords_english.json, solrconfig.xml, admin-extra.menu-top.html, elevate.xml, schema.xml, clustering, xslt, _rest_managed.json, mapping-ISOLatin1Accent.txt, spellings.txt, lang, admin-extra.menu-bottom.html]


退出zookeeper客戶端

[zk: 192.168.31.241:2182(CONNECTED) 4] quit


3.8啟動tomcat集群

創建tomcat集群啟動批處理:

[root@MiWiFi-R3-srv bin]# cd ../../
[root@MiWiFi-R3-srv solr-cloud]# vim start-tomcat.sh


添加以下內容:

/usr/local/solr-cloud/tomcat01/bin/startup.sh
/usr/local/solr-cloud/tomcat02/bin/startup.sh
/usr/local/solr-cloud/tomcat03/bin/startup.sh
/usr/local/solr-cloud/tomcat04/bin/startup.sh


添加執行權限:

[root@MiWiFi-R3-srv solr-cloud]# chmod u+x start-tomcat.sh


啟動tomcat集群:

[root@MiWiFi-R3-srv solr-cloud]# ./start-tomcat.sh


4.訪問solrCloud集群

訪問:http://192.168.31.241:8180/solr/#/~cloud


5.對solrCloud集群分片

?

#直接在瀏覽器輸入以下url
http://192.168.31.241:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2#解釋:name=collection2 > 創建一個新的collection
#numShards=2 > 分成2片
#replicationFactor=2 > 一主一備2個節點


查看分片之后的solrCloud集群節點情況:?


6.刪除solrCloud集群中多余的collection1

#直接在瀏覽器輸入以下url
http://192.168.31.241:8180/solr/admin/collections?action=DELETE&name=collection1

?

查看solrCloud集群:?


至此,基于zookeeper的solrCloud集群搭建就完成了!!!
?

總結

以上是生活随笔為你收集整理的基于zookeeper的solrCloud集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。