免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
大數(shù)據(jù)實戰(zhàn)之環(huán)境搭建(九)

好消息,好消息,江南最大皮革廠倒閉,老板黃鶴吃喝嫖賭欠下3.5個億,攜帶小姨子跑了,我們沒有辦法,只能撬開倉庫拿皮包頂工資。原價100元的,200元的,500元的,現(xiàn)價只賣50元。黃鶴,你不是人,你還我血汗錢,還我血汗錢?,F(xiàn)在賣皮包的人真是不容易啊,天天罵人家姓黃的不是人。


上節(jié)我們講述了Cassandra集群的搭建,這節(jié)我們當然要講Solr 云的搭建,實現(xiàn)分布式搜索。Cassnadra集群有什么好處呢?動態(tài)擴展,集群可以最大限度的實現(xiàn)數(shù)據(jù)容錯,試想,如果只有一臺機器來存儲數(shù)據(jù),假如這臺機器所在的機房停電了或者著火了,那么意味著應(yīng)用程序?qū)⒃L問不到這些數(shù)據(jù)源或者辛辛苦苦經(jīng)營的數(shù)據(jù)化為烏有,那么Cassandra的集群的工作原理是什么呢?


在上一節(jié)我們在配置集群的時候,配置了一個seeds節(jié)點在cassandra.yaml文件中。而且集群中的所有節(jié)點的seeds配置都是一樣的,在Cassandra集群之間有一個協(xié)議叫Gossip協(xié)議,這是一個稱之為端到端的八卦協(xié)議。每個Cassandra集群節(jié)點都靠這個協(xié)議互通信息,Gossip每秒都會向其他節(jié)點發(fā)送心跳探測,進行信息交換,確定彼此的狀態(tài)。seeds節(jié)點是cassandra中一個比較重要的節(jié)點,他負責和集群中的其他節(jié)點通訊并獲取信息。對于cassandra的寫入和讀取操作,都是通過seeds節(jié)點均衡的請求其它的節(jié)點。那么當集群中一個節(jié)點Down了,Gossip會探測到,就不會將數(shù)據(jù)寫到這個down的節(jié)點上,但是還會繼續(xù)向這個節(jié)點發(fā)送心跳探測,只要這個節(jié)點恢復正常,會立即加入集群進行工作,分擔負載。


那么今天Solr云怎么搭建呢?其實也是很簡單的,首先給大家介紹一個網(wǎng)站

http://wiki.apache.org/solr/SolrCloud#schema.xml

專門講述Solr Cloud的,看懂了,搭建Solr云是比較輕松的。


進入正題,我們看一下CentOS中的Solr Cloud如何搭建

首先我們將example復制一份叫example2,如果你是用puty等linux客戶端連接工具的話,進入solr目錄使用cp -r example example2命令拷貝。

我們看一下example下的東東

有一個solr文件夾,內(nèi)容如下

包含MyTest的一個實例,多個SolrCore可以組成Solr的一個collection。那么我們在此再創(chuàng)建一個實例,實現(xiàn)多實例,我們修改后的solr文件夾如下

增加了一個MyTest1的實例,并且將solr.xml的文件內(nèi)容修改如下

1
2
3
4
<cores adminPath="/admin/cores" defaultCoreName="Bruce" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
  <core name="MyTest.UserInfo" instanceDir="MyTest" />
   <core name="MyTest.BonusInfo" instanceDir="MyTest1" />
</cores>

OK,那么我們就實現(xiàn)了多實例的一個SolrCollection。OK,我們?yōu)g覽一下

看到了吧,這就是在一個IP地址一個端口下多實例的實現(xiàn),那么在這里我模擬一個簡單的業(yè)務(wù),一個是用戶信息,一個是資金信息,這兩個共同組成一個用戶的一個資金管理業(yè)務(wù)。但是這種部署方式是省事了,也很簡單,占用的機器也少,但是如果說這個192.168.192.128的機器因自然災(zāi)害被毀,那么辛苦經(jīng)營的數(shù)據(jù)豈不是付之東流。所以目前大多數(shù)的用戶在使用Solr的時候,都是采用云部署,從而實現(xiàn)分布式搜索,通過簡單的拓撲結(jié)構(gòu),就可以避免部分機器over,導致整個數(shù)據(jù)的不完整或者無法使用。那么下來我們就看一下傳說中的Solr Cloud。


首先,我們在上面提到的Solr-4.3.0目錄下有example和example2,兩個是完全一樣的復制品,首先我們要確保example/solr/MyTest/data下面是空的,沒有數(shù)據(jù)和索引文件。我么要實現(xiàn)的是下面的集群


接著進入到example命令,執(zhí)行如下的命令

1
java -Djetty.port=8983 -Dbootstrap_confdir=./solr/MyTest/conf -Dcollection.configName=myconf-DzkRun -DnumShards=2 -jar

到這一步?jīng)]有錯誤算是啟動成功

在這里我們可以看到集群的一些信息。

那么上面的這個命令是什么意思呢?在此解釋一下

-Djetty.port=8983是設(shè)置jetty的啟動端口,jetty和Tomcat以及Jboss號稱三大web主流容器。

-DzkRun是觸發(fā)嵌入在SolrServer中的zookeeper運行

-Dbootstrap_confdir=./solr/MyTest/conf是將Solr的config上傳至zookeeper下,并且文件夾名稱為

myconf。我們看一下上傳到zookeeper的myconf文件夾及內(nèi)容


看到了吧,在這里已經(jīng)有了myconf文件夾,內(nèi)容就是從solr/conf下面上傳過來的。-DnumShareds=2意思是我們要將索引劃分為幾個邏輯分區(qū)。在這里設(shè)置為2,那么我們的shareds就有兩個

因為目前我只是啟動了一個機器,所以shared2還沒有映射的機器,等我再啟動一臺后,他會映射到shard2。好了我們再啟動一臺,看是否能映射到shared2。首先我們進入到example2目錄下,執(zhí)行

1
java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar

解釋一下這段命令

-Djetty的意思是告訴jetty servlet容器使用另外的端口,-DzHost是指出剛才我們運行的一個Solr Server中嵌入的zookeeper的地址,官網(wǎng)解釋是zookeeper的端口為solr的端口加上1000,所以在這里是9983。OK我們再看一下Solr云

看到了吧,出現(xiàn)了兩個分片,那么寫數(shù)據(jù)的時候可能有些數(shù)據(jù)寫在shared1上,有些寫在shared2上,但是我們在檢索數(shù)據(jù)的時候,會返回一個完整的結(jié)果,這就是一個簡單的云部署。

那么當我們再啟動幾臺機器會怎么樣呢?因為我們指定了只能有兩個邏輯分區(qū),那么當我們啟動第三臺機器的時候,他就作為shard1的復制品,如果再啟動一個機器,他就作為shard2的復制品。ok,我們現(xiàn)在來試一下,由于我只有一個虛擬機和一臺windows7機器,所以我打算在windows上啟動2個solr,那么他們會自動加入shard1和shard2。那到底是不是這樣呢?我用同樣的命令啟動了一個windows上的solr,報錯,錯誤原因至今沒找到,或者說壓根就是個錯誤的嘗試。那我們再復制兩個example,如下

OK,我們用如下的命令在啟動一個機器

1
java -Djetty.port=7575 -DzkHost=localhost:9983 -jar start.jar

我們再看一下solr cloud有沒有變化,輸入http://192.168.192.128:8983/solr/#/~cloud,我們發(fā)現(xiàn)shard1多了一個復制品

其拓撲圖如下

這個實驗驗證了我們所說的,第三臺機器會作為第一臺機器的一個復制品。

我們在啟動一臺機器,這個節(jié)點將作為第二臺機器的復制品

其拓撲結(jié)構(gòu)如下

上面的拓撲結(jié)構(gòu)就是我們實現(xiàn)的分區(qū)為2,復制品為1的solr 集群

OK,如果我們有機器資源的話,只需要在不同的機器上像這樣啟動,就可以搭建出一個solr cloud。由于本人機器有限,只能用同一個IP給大家做演示。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Phinecos(洞庭散人) 專注于開源技術(shù)的研究與應(yīng)用 深入剖析SolrCloud(一)
Solr的SolrCloud與Master
分布式搜索方案選型之二:Solandra
solr安裝(集群版)
zookeeper操作指南
Redis cluster 的使用經(jīng)驗
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服