隨筆-153  評論-235  文章-19  trackbacks-0
              solr 分布式其實是分發,這概念像Mysql的復制。所有的索引的改變都在主服務器里,所有的查詢都在從服務里。從服務器不斷地(定時)從主服務器拉內容,以保持數據一致。

          先描述下我的環境:
          solr-master(192.168.1.181), solr-slave(192.168.1.155), jdke1.6.0_06, tomcat-5.5.26, solr-1.2 
          tomcat_home在 /home/chenlb/tomcat-5.5.26
          solr_home在 /home/chenlb/solr-home
          solr解壓后的目錄 /home/chenlb/solr-1.2.0
          最好兩機可以ssh無密碼交互,ssh無密碼登錄請看:http://www.aygfsteel.com/chenlb/archive/2008/07/03/212293.html

              solr的分發是用rsync的。
              快照與分發過程:

          1.snapshooter 命令在主服務器產生快照。一般在commit和optimize之后被solr調用。

          2.snappuller 命令在從服務器運行,所做的事是從主服務器拉最新的快照。 用rsync的daemon模式來運行可以獲得更好的性能與更底的CPU利用率。

          3.snapinstaller 命令在從服務器運行,當從服務器從主服務器拉完快照后才執行。它會通知本地Solr服務器打開一個新的index reader,然后預熱這個新index reader的緩存,此時有請求,原來的index reader繼續為這此請求服務。一但預熱完成,Solr 啟用新的index reader,舊的被消亡。

              Solr 的Distribution(分發) 在Scripts文件里記錄。在solr_home/conf/scripts.conf文件里。

          我現在這樣配置:
          user=chenlb
          solr_hostname
          =localhost
          solr_port
          =8080
          rsyncd_port
          =18080
          data_dir
          =/home/chenlb/solr-home/data
          webapp_name
          =solr
          master_host
          =192.168.1.181
          master_data_dir
          =/home/chenlb/solr-home/data
          master_status_dir
          =/home/chenlb/solr-home/logs

          上面的配置兩機都一樣。

          1.安裝好solr后啟動它們,怎樣在tomcat安裝solr請看:http://www.aygfsteel.com/chenlb/archive/2008/03/25/188459.html
          [chenlb@solr-master ~]$ ./tomcat-5.5.26/bin/startup.sh

          啟用且啟動rsync
          [chenlb@solr-master ~]$ ./solr-home/bin/rsyncd-enable -u chenlb -v
          [chenlb@solr-master ~]$ ./solr-home/bin/rsyncd-start -u chenlb -v


          [chenlb@solr-slave ~]$ ./tomcat-5.5.26/bin/startup.sh

          2.solr-master
          先修改post.sh
          [chenlb@solr-master ~]$ cd solr-1.2.0/example/exampledocs/
          [chenlb@solr
          -master exampledocs]$ vi post.sh
          [chenlb@solr
          -master exampledocs]$
          #把http://localhost:8389/solr/update改下面的
          http://localhost:8080/solr/update

          提交數據
          [chenlb@solr-master exampledocs]$ ./post.sh *.xml

          產生快照
          [chenlb@solr-master ~]$ ./solr-home/bin/snapshooter -u chenlb -v

          說明:由于<listener event="postCommit" class="solr.RunExecutableListener">...</listener>沒有設置成功(出現java.io.IOException: Cannot run program "snapshooter" (in directory "solr/bin"): java.io.IOException: error=2, No such file or directory,現在還沒解決),可以只能手動生成快照(當然也可以cron)

          3.solr-slave
          啟用快照下拉
          [chenlb@solr-slave ~]$ ./solr-home/bin/snappuller-enable -u chenlb -v

          拉快照
          [chenlb@solr-slave ~]$ ./solr-home/bin/snappuller -u chenlb -v

          安裝
          [chenlb@solr-slave ~]$ ./solr-home/bin/snapinstaller -u chenlb -v


          現在可以在solr-slave里看結果了:
          http://192.168.1.155:8080/solr/select?q=solr
          http://192.168.1.181:8080/solr/select?q=solr

          看結果是否一樣。
          posted on 2008-07-04 16:49 流浪汗 閱讀(3183) 評論(0)  編輯  收藏 所屬分類: Lucene

           
          <2008年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          留言簿(14)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          收藏夾

          友情鏈接

          同學鏈接

          學習鏈接

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 560727
          • 排名 - 86

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 遵义市| 迭部县| 梅州市| 越西县| 久治县| 惠安县| 元江| 安新县| 琼海市| 昌平区| 喀喇| 瑞丽市| 定边县| 资源县| 南溪县| 通渭县| 汉中市| 田阳县| 阳谷县| 饶河县| 买车| 邢台县| 贡山| 龙山县| 手机| 乐都县| 灌南县| 巴中市| 沙河市| 乐平市| 娄烦县| 始兴县| 潼关县| 宁海县| 福泉市| 巨鹿县| 安图县| 黑河市| 石门县| 炎陵县| 宝丰县|