CentOS 6學習筆記(十四)--CentOS6環境搭建Solr集群(SolrCloud)
標簽: Linux tomcat centos linux java solr
安裝 Solr 單機版
建議閱讀我之前發布的筆記:
CentOS 6學習筆記(十)–CentOS6環境安裝Solr
搭建 ZooKeeper 集群
建議閱讀我之前發布的筆記:
CentOS 6學習筆記(十三)–CentOS6環境搭建ZooKeeper集群
搭建 Solr 集群 (SolrCloud)
本筆記通過在單臺服務器上運行 4 個 Solr 實例的方式來模擬 SolrCloud。
創建與配置 Tomcat 實例
創建 4 例 Tomcat
#復制4個tomcat
cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01
cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02
cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03
cp -r /usr/local/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04
cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat01/webapps/
cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat02/webapps/
cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat03/webapps/
cp -r /usr/local/solr/tomcat/webapps/solr /usr/local/solr-cloud/tomcat04/webapps/
配置實例 1
vim /usr/local/solr-cloud/tomcat01/conf/server.xml
配置以下內容
<Server port="8105" shutdown="SHUTDOWN">
<Connector port="8180" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
配置實例 2
vim /usr/local/solr-cloud/tomcat02/conf/server.xml
配置以下內容
<Server port="8205" shutdown="SHUTDOWN">
<Connector port="8280" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />
配置實例 3
vim /usr/local/solr-cloud/tomcat03/conf/server.xml
配置以下內容
<Server port="8305" shutdown="SHUTDOWN">
<Connector port="8380" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8309" protocol="AJP/1.3" redirectPort="8443" />
配置實例 4
vim /usr/local/solr-cloud/tomcat04/conf/server.xml
配置以下內容
<Server port="8405" shutdown="SHUTDOWN">
<Connector port="8480" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8409" protocol="AJP/1.3" redirectPort="8443" />
創建與配置 Solrhome
創建 4 例 Solrhome
cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome01
cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome02
cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome03
cp -r /usr/local/solr/solrhome /usr/local/solr-cloud/solrhome04
配置 web.xml
配置實例 1 的 web.xml
vim /usr/local/solr-cloud/tomcat01/webapps/solr/WEB-INF/web.xml
配置以下內容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr-cloud/solrhome01/</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
配置實例 2 的 web.xml
vim /usr/local/solr-cloud/tomcat02/webapps/solr/WEB-INF/web.xml
配置以下內容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr-cloud/solrhome02/</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
配置實例 3 的 web.xml
vim /usr/local/solr-cloud/tomcat03/webapps/solr/WEB-INF/web.xml
配置以下內容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr-cloud/solrhome03/</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
配置實例 4 的 web.xml
vim /usr/local/solr-cloud/tomcat04/webapps/solr/WEB-INF/web.xml
配置以下內容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr-cloud/solrhome04/</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
配置 solr.xml
配置實例 1 的 solr.xml
vim /usr/local/solr-cloud/solrhome01/solr.xml
配置以下內容
<solrcloud>
<str name="host">192.168.25.155</str>
<int name="hostPort">8180</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
配置實例 2 的 solr.xml
vim /usr/local/solr-cloud/solrhome02/solr.xml
配置以下內容
<solrcloud>
<str name="host">192.168.25.155</str>
<int name="hostPort">8280</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
配置實例 3 的 solr.xml
vim /usr/local/solr-cloud/solrhome03/solr.xml
配置以下內容
<solrcloud>
<str name="host">192.168.25.155</str>
<int name="hostPort">8380</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
配置實例 4 的 solr.xml
vim /usr/local/solr-cloud/solrhome04/solr.xml
配置以下內容
<solrcloud>
<str name="host">192.168.25.155</str>
<int name="hostPort">8480</int>
<str name="hostContext">${hostContext:solr}</str>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
</solrcloud>
配置 catalina.sh
配置實例 1 的 catalina.sh
vim /usr/local/solr-cloud/tomcat01/bin/catalina.sh
配置以下內容
JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
配置實例 2 的 catalina.sh
vim /usr/local/solr-cloud/tomcat02/bin/catalina.sh
配置以下內容
JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
配置實例 3 的 catalina.sh
vim /usr/local/solr-cloud/tomcat03/bin/catalina.sh
配置以下內容
JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
配置實例 4 的 catalina.sh
vim /usr/local/solr-cloud/tomcat04/bin/catalina.sh
配置以下內容
JAVA_OPTS="-DzkHost=192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183"
使用 zkcli.sh 工具上傳配置文件
yum install -y unzip zip
cd /usr/local/solr-4.10.3/example/scripts/cloud-scripts/
./zkcli.sh -zkhost 192.168.25.155:2181,192.168.25.155:2182,192.168.25.155:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
查看狀態
cd /usr/local/solr-cloud/zookeeper01/bin
./zkCli.sh -server 192.168.25.155:2182
ls /configs/myconf
quit
編寫啟動 Tomcat 集群的腳本
vim /usr/local/solr-cloud/start-tomcat-all.sh
cd /usr/local/solr-cloud/tomcat01/bin
./startup.sh
cd /usr/local/solr-cloud/tomcat02/bin
./startup.sh
cd /usr/local/solr-cloud/tomcat03/bin
./startup.sh
cd /usr/local/solr-cloud/tomcat04/bin
./startup.sh
修改權限
cd /usr/local/solr-cloud
chmod u+x start-tomcat-all.sh
開啟 Tomcat 集群
/usr/local/solr-cloud/start-tomcat-all.sh
查看啟動日志
tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out
tail -f /usr/local/solr-cloud/tomcat02/logs/catalina.out
tail -f /usr/local/solr-cloud/tomcat03/logs/catalina.out
tail -f /usr/local/solr-cloud/tomcat04/logs/catalina.out
編寫關閉 Tomcat 集群的腳本
vim /usr/local/solr-cloud/shutdown-tomcat-all.sh
cd /usr/local/solr-cloud/tomcat01/bin
./shutdown.sh
cd /usr/local/solr-cloud/tomcat02/bin
./shutdown.sh
cd /usr/local/solr-cloud/tomcat03/bin
./shutdown.sh
cd /usr/local/solr-cloud/tomcat04/bin
./shutdown.sh
修改權限
cd /usr/local/solr-cloud
chmod u+x shutdown-tomcat-all.sh
關閉 Tomcat 集群
/usr/local/solr-cloud/shutdown-tomcat-all.sh
創建新的 Collection 進行分片處理
在瀏覽器中訪問以下網址
http://192.168.25.155:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
訪問
http://192.168.25.155:8180/solr/#/~cloud
可看到結果
刪除不用的 Collection
在瀏覽器中訪問以下網址
http://192.168.25.155:8180/solr/admin/collections?action=DELETE&name=collection1
訪問
http://192.168.25.155:8180/solr/#/~cloud
可看到結果
開機自啟
vim /etc/rc.d/rc.local
添加
/usr/local/solr-cloud/start-tomcat-all.sh
智能推薦
centos6搭建gitLab
環境:centos6.0 root權限 1、安裝依賴 2、安裝Postfix以發送通知電子郵件(不需要可以不裝) 3、改變鏡像站、下載更快 將加GitLab軟件倉庫更新改為清華大學開源軟件鏡像站 , 創建文件 : /etc/yum.repos.d/gitlab_gitlab-ce.repo 修改為以下內容:(鏡像站這玩意有時不...
centos6 搭建kafka
一、官網 http://kafka.apache.org/downloads.html 二、Kafka簡介 Kafka是由Apache軟件基金會開發的一個開源流處理平臺,由Scala和Java編寫。Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據...
Centos6離線安裝CDH5.14.2最全詳細教程-3環境準備2
概述 文章寫得很詳細,很長所以這里分成了7個部分 這里是第三部分,環境準備2 操作的話建議從第一部分開始不知道為什么后面的幾個部分的閱讀量比前言大得多,強烈建議從第一部分開始操作,文章驗證過好多次了,各部分之間都是相互依賴的,只看中間某一篇的話很可能出錯 第一部分:前言 第二部分:環境準備1 第三部分:環境準備2 第四部分:安裝Mysql數據庫 第五部分:安裝Cloudera Manager主服務...
Centos6離線安裝CDH5.14.2最全詳細教程-2環境準備1
概述 文章寫得很詳細,很長所以這里分成了7個部分 這里是第二部分,環境準備1 操作的話建議從第一部分開始不知道為什么后面的幾個部分的閱讀量比前言大得多,強烈建議從第一部分開始操作,文章驗證過好多次了,各部分之間都是相互依賴的,只看中間某一篇的話很可能出錯 第一部分:前言 第二部分:環境準備1 第三部分:環境準備2 第四部分:安裝Mysql數據庫 第五部分:安裝Cloudera Manager主服務...
centos6環境:sftp用戶借助rsyslog打印日志,用戶超過50后不生效
問題描述 首先,我配置的sftp的用戶都是做了chroot的,并且每個用戶之間是沒有共享目錄的,所以rsyslog的配置是不能用一個 $AddUnixListenSocket搞定,需要為每個用戶都配置一個這個文件。 大致的配置流程可以參考https://blog.famzah.net/2011/02/03/secure-chroot-remote-file-access-via-sftp-and-...
猜你喜歡
centos6 MYSQL
配置數據庫 查看自己得數據庫版本1: 安裝數據庫 服務端2:啟動mysql服務 service mysqld start 3:給數據庫創建一個用戶(管理員帳號) mysqladmin -u root password 123456 4:通過帳號密碼進入到mysql客戶端中 mys...
centos6 samba
samba 簡介 Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議 環境所需 系統 centos6 軟件包 samba 1.安裝 samba 2.修改配置文件 /etc/samba/smb.conf 3.查找為[glo...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...