Win7下單機版的偽分散式solrCloud環境搭建Tomcat8+ solr-6.3.0+zookeeper3.4.6

u014249394發表於2017-04-28
  • 介紹

Win7下單機版的偽分散式solrCloud環境搭建Tomcat8+ solr-6.3.0+zookeeper3.4.6 Win7下單機版的偽分散式solrCloud環境搭建Tomcat8+ solr-6.3.0+zookeeper3.4.6

一、tomcat8+solr6.3.0

1、軟體環境配置

環境: Windows 7 tomcat-8.0 Zookeepr v3.4.6 solr-6.3.0

2、部署過程

2.1 部署好單機版Tomcat8.0 + jdk1.8 + Solr6.3.0

第一步:在F:\solr目錄下建立solrCloud目錄。 第二步:複製apache-tomcat-8.0到solrCloud目錄下,並重新命名為tomcat8_ser1 第三步:在F:\solr\solrCloud目錄下新建 solr_home_1 資料夾如下圖,並在目錄下,建立 home  和 server 資料夾 第四步:(solr6.3釋出版本本身就有一個可以執行的web版本)將solr-6.3.0\server\solr-webapp下的webapp檔案複製到F:\solr\solrCloud\ solr_home_1\service目錄下,並重新命名為solr_web。複製成功後如圖: 第五步:複製solr-6.3.0\server\solr下面的配置檔案全部拷貝到F:\solr\solrCloud\ solr_home_1\home目錄下。 第六步:將solr-6.3.0\server\lib\ext下面的jar包拷貝到solr_web/WEB-INF/lib下面。 第七步:複製solr-6.3.0/server/resources下的log4j.properties到solr_web/WEB-INF/classes下面,如果沒有classes目錄,就新建classes目錄。 第七步:修改web.xml檔案,關聯到solr配置檔案,這樣在tomcat容器啟動後,再啟動solr伺服器框架時,就會去讀取這些配置檔案,初始化solr框架。在web.xml中找到節點<env-entry>,預設是註釋的,去掉註釋。節點配置如下:節點名稱solr/home,對應的值為:F:\solr\solrCloud\solr_home_1\home,可自定義。修改後的web.xml如下: Web.xml 第八步:修改tomcat的配置檔案server.xml,關聯web工程。 server.xml 第九步:輸入http://127.0.0.1:8080/solr/index.html來訪問看看。我的天,居然報錯了,貼出來看看: 報403錯誤,403一般都是沒有許可權。真是奇怪,為什麼會報這個錯誤呢,我也是折騰了好一會。最後發現在web.xml中有這麼一段配置: 有個節點<auth-constraint />,這個配置表示拒絕所有對這個資源的訪問。原來如此,把這段程式碼註釋掉: 重新執行看看。終於可以了。

二、配置多Tomcat8.0+solr6.3.0同時執行

第一步: 把tomcat8_ser1複製2份,分別命名tomcat8_ser2,tomcat8_ser3; 把solr_home_1複製2份,分別命名solr_home_2,solr_home_3。 目錄結構如下: 第二步:修改 F:\solr\solrClould\ \tomcat8_ser*\conf\server.xml配置。修改 tomcat8_ser* 分別對應 各自solr_home_*\server\solr_web服務 。如下圖:tomcat8_ser1對應solr_home_1\server\solr_web、2對應2 、3對應3 是吧 為了三個tomcat能夠在一臺機器上同時啟動,需要在server.xml修改tomcat的埠資訊。修改方案如下:
  Tomcat Admin Port HTTP/1.1 Port AJP/1.3 Port
tomcat7_ser1 8005 8080 8009
tomcat7_ser2 8015 8081 8019
tomcat7_ser3 8025 8082 8029
下圖是tomcat8_ser1每個埠位置: Tomcat Admin Port: HTTP/1.1 Port AJP/1.3 Port 第三步:配置各個tomcat和solr 之間的關係,修改D:\Java\solrCloud5\solr_home_*\server\solr\WEB-INF目錄下的web.xml檔案(對應關係) 第四步:驗證修改是否成功,依次啟動三個Tomcat。並在瀏覽器輸入如下的URL: http://localhost:8080/solr/index.html http://localhost:8081/solr/index.html http://localhost:8082/solr/index.html 如果都能正常訪問到solr的admin頁面,那麼說明配置是成功的。否則就需要檢查哪裡錯了或者遺漏了。

三、配置ZooKeeper叢集

這部分的內容與前面tomcat+solr是沒有關聯的,所以配置這裡,可以跟忘記前面的內容。 第一步:解壓zookeeper-3.4.6.tar.gz到F:\solr\solrCloud目錄,重新命名為zookeeper-1。 第二步:把F:\solr\solrCloud\ zookeeper-1\conf\目錄下的zoo_sample.cfg修改為zoo.cfg。並寫入如下的配置引數:   tickTime=2000 initLimit=10 syncLimit=5 dataDir=F:/solr/solrCloud/zookeeper-1/data dataLogDir= F:/solr/solrCloud/zookeeper-1/datalog clientPort=2181 server.1=127.0.0.1:2881:3881 server.2=127.0.0.1:2882:3882 server.3=127.0.0.1:2883:3883   並且按照配置建立相應的data和datalog目錄。如果不不建立目錄是無法正常啟動的。 在data目錄中建立檔案myid(不需要字尾名),在myid檔案中寫入數字1並儲存退出。   第三步:把zookeeper-1複製2份,分別命名為zookeeper-2、zookeeper-3。然後修改各個zookeeper-*的conf目錄下zoo.cfg的dataDir和dataLogDir和clientPort。修改方案如下:
  dataDir dataLogDir clientPort
zookeeper-1 D:/Java/solrCloud5/ zookeeper-1/data D:/Java/solrCloud5/ zookeeper-1/datalog 2181
zookeeper-2 D:/Java/solrCloud5/ zookeeper-2/data D:/Java/solrCloud5/ zookeeper-2/datalog 2182
zookeeper-3 D:/Java/solrCloud5/ zookeeper-3/data D:/Java/solrCloud5/ zookeeper-3/datalog 2183
並且修改每個data目錄下的myid檔案中的內容。zookeeper-1是1, zookeeper-2是2,zookeeper-3是3 。 第四步:啟動三個zookeeper。並驗證是否配置成功。目錄結構以及啟動目錄如下圖: 注意:連線第一臺時有異常資訊,不用管,等都連線起來就沒有異常了。 進入cmd 命令,輸入: netstat -ano|findstr 2181 檢視埠是否啟用

四、配置Tomcat+solr+zookeeper叢集

前面tomcat+solr能夠啟動和訪問了,而且zookeeper也能啟動成功了。接下來就需要把他們關聯起來。大家看那麼多貼子應該知道(當然不知道也要記住這個知識點):solrcloud 的所有配置 需要zookeeper統一管理。 第一步: 將需要的配置庫 集中放到一個目錄中。 在F:\solr\solrCloud 下建立cloud_conf資料夾作為配置庫,將solr-6.3.0\server\ solr\configsets\sample_techproducts_configs\conf 下配置檔案複製到cloud_conf資料夾中。(也可以使用solr-6.3.0\example\example-DIH\solr\solr\conf中的配置檔案)。 第二步: 配置zookeeper路徑 在F:\solr\solrCloud\tomcat8_ser1\bin\catalina.bat檔案中, 我是在 setlocal 上一行新增: 如下圖: set JAVA_OPTS=-Dbootstrap_confdir=F:/solr/solrCloud/cloud-config -Dcollection.configName=myconf -DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -DnumShards=3 配置引數解釋: -DzkHost是用來指定zookeeper伺服器的ip和埠。 -Dnumshareds=3 用來指定當前叢集中分片數為3 -Dcollection.configName   是在指定你的配置檔案上傳到zookeeper後的名字,省略這個引數將導致配置名字為預設的“configuration1” -Dbootstrap_confdir :zooKeeper需要準備一份叢集配置的副本,所以這個引數是告訴SolrCloud這些 配置是放在哪裡。同時作為整個叢集共用的配置檔案。可以看作是第一份solr配置。因為後續我們可以通過上傳,來實現多collection 其餘tomcat8_ser* catalina.bat設定 set JAVA_OPTS= -DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 第三步:  因為配置由zookeeper 統一管理了,所以home下面的solr配置就不起使用了。 刪除solr_home_*\home\solr資料夾, 修改配置solr.xml,如下圖 hostPort 修改為對應的tomcat埠號 8080 8081 8082。 第四步:重啟tomcat。訪問任意一個埠都成,比如: http://localhost:8081/sor/index.html, 能正常訪問,且選單中,出現了Cloud說明我們已經部署成功了,恭喜你小夥子 有前途。   本文為原創,如果您當前訪問的域名不是surenpi.com,請訪問“素人派”。

檢視原文:http://surenpi.com/2017/04/28/win7%e4%b8%8b%e5%8d%95%e6%9c%ba%e7%89%88%e7%9a%84%e4%bc%aa%e5%88%86%e5%b8%83%e5%bc%8fsolrcloud%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%batomcat8-solr-6-3-0zookeeper3-4-6/

相關文章