欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

solr的主從復(fù)制原理

這篇文章主要講解了“solr的主從復(fù)制原理”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“solr的主從復(fù)制原理”吧!

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),平樂網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平樂等地區(qū)。平樂做網(wǎng)站價(jià)格咨詢:18980820575

master的工作

對于ReplicationHandler的復(fù)制功能來說,核心的問題確定是在一個(gè)時(shí)間點(diǎn)要復(fù)制哪些文件,這就用上了lucene的IndexDeletionPolicy的特性。

lucene在初始化時(shí),會調(diào)用IndexDeletionPolicy.onInit(List commits)方法;
lucene在commit(觸發(fā)的時(shí)機(jī)也可以是optimize、close,solr在commit時(shí)實(shí)際上就是close了indexwriter)時(shí),會調(diào)用IndexDeletionPolicy.onInit(List commits)。


IndexCommit對象中保存了該次提交關(guān)聯(lián)的文件列表等信息,這使得solr中的復(fù)制過程中,slave可以從master得到文件列表后跟本地文件做比較,跳過不變的文件,下載新文件,并刪除無用的文件。

IndexDeletionPolicy的兩個(gè)針對commits的函數(shù),會對當(dāng)前存在的commits列表做些處理,比如lucene默認(rèn)的KeepOnlyLastCommitDeletionPolicy會只保留最新的IndexCommit,對那些過時(shí)的IndexCommit執(zhí)行delete操作以將無用的文件刪掉。

solr中,SolrDeletionPolicy默認(rèn)也是保留最新一個(gè)IndexCommit,但可以設(shè)置maxCommitAge、maxCommitsToKeep、maxOptimizedCommitsToKeep來保留更多的IndexCommit。但solr真正使用的IndexDeletionPolicy實(shí)現(xiàn)是IndexDeletionPolicyWrapper,它是SolrDeletionPolicy的wrap。

在slave從master復(fù)制文件的過程中,要保證當(dāng)前正在復(fù)制的IndexCommit點(diǎn)不能被刪除,這就用到了IndexDeletionPolicyWrapper中的void setReserveDuration(Long indexVersion, long reserveTime)方法,該方法會在master向slave響應(yīng)indexversion、filelist命令前、以及每向slave傳送5M的索引文件內(nèi)容時(shí)調(diào)用,而默認(rèn)的reserveTime時(shí)間是10s,如果慢速網(wǎng)絡(luò)傳輸5M數(shù)據(jù)需要10秒以上,就需要調(diào)整該值了。

ReplicationHandler復(fù)制文件沒有采用rsync,而是使用http,它在讀一個(gè)文件內(nèi)容傳輸?shù)絪lave時(shí),默認(rèn)是按照1M大小分段輸出內(nèi)容到slave(http chunked?),并且默認(rèn)是對每段內(nèi)容做了checksum,保證傳輸?shù)膬?nèi)容的正確性。上面提到的setReserveDuration點(diǎn),主要就是它在packetsWritten % 5 == 0次數(shù)后觸發(fā)一次修改。

ReplicationHandler還可以備份索引文件。由于lucene的索引文件只是追加新文件而不會修改已有文件,所以只要針對一個(gè)IndexCommit點(diǎn)做備份,其過程還是很簡單的。

slave的工作

slave啟動(dòng)時(shí)會創(chuàng)建SnapPuller對象,SnapPuller會啟動(dòng)一個(gè)線程定時(shí)的(pollInterval間隔)從master復(fù)制數(shù)據(jù)(fetchLatestIndex方法)。對于一次復(fù)制過程,slave和master交互處理細(xì)節(jié)如下:

1、slave首先向master詢問最新的索引版本號(indexversion命令),slave檢查得到的latestVersion、latestGeneration有效后,和本地的IndexCommit的getVersion()、getGeneration()比較,如果不相等,則需要往下進(jìn)行,否則等待下一次調(diào)度。

2、slave向master請求之前得到的indexversion下的文件列表(filelist命令,包括索引文件和可選的配置文件)。如果文件列表為空,則返回等待下一次調(diào)度。否則,就需要檢查哪些文件需要被下載過來。這里做的判斷有:1)如果本地的commit.getGeneration() >= latestGeneration,說明本地索引文件被破壞(比如對slave不小心提交了修改索引的命令),需要完全將master的文件復(fù)制過來。2)逐個(gè)檢查文件列表中的文件是否在本地存在,不存在就下載下來。

3、對于下載文件內(nèi)容,對應(yīng)命令是filecontent。下載的文件顯然需要放到臨時(shí)目錄中,這個(gè)臨時(shí)目錄和已有的索引目錄(默認(rèn)名字index)在同一數(shù)據(jù)目錄下,只是命名為index.<時(shí)間戳>。下載完畢后,copy數(shù)據(jù)有兩種情況:
1)如果是完全下載,則不需要將臨時(shí)目錄中的文件copy到已有目錄中,而是修改數(shù)據(jù)目錄中的index.properties,標(biāo)識索引目錄為新生成的臨時(shí)目錄,而舊索引目錄并不會被刪除,可以手工刪掉,當(dāng)然,通常是不應(yīng)該出現(xiàn)slave的Generation大于master的異常情況。
2)通常就是把臨時(shí)索引目錄的文件copy到舊索引目錄,copy時(shí)要把segments_N放到最后copy,避免copy中途出現(xiàn)異常造成數(shù)據(jù)被毀。

4、當(dāng)新索引和可選的配置文件copy完畢之后,slave會對solrcore的UpdateHandler做commit操作,這會close掉indexwriter并強(qiáng)制重啟新的indexsearcher提供服務(wù)。同時(shí),如果solrcore的UpdateHandler是DirectUpdateHandler2(不應(yīng)該不是),會強(qiáng)制調(diào)用handler.forceOpenWriter()來刪除舊的無用的索引文件,并調(diào)用replicationHandler.refreshCommitpoint()來更新slave的indexCommitPoint。

5、如果索引復(fù)制失敗,slave會向數(shù)據(jù)目錄下的replication.properties輸出復(fù)制失敗的信息。

感謝各位的閱讀,以上就是“solr的主從復(fù)制原理”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對solr的主從復(fù)制原理這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁題目:solr的主從復(fù)制原理
文章位置:http://aaarwkj.com/article8/igigop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、軟件開發(fā)、虛擬主機(jī)營銷型網(wǎng)站建設(shè)、用戶體驗(yàn)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
欧美v日韩v亚洲综合国产高清| 亚洲欧美成人综合网站| 成人爱爱视频免费观看| 日韩欧美精品在线不卡| 在线视频网友自拍偷拍| 亚洲欧美一区二区色慰| 国产精品日本欧美久久久| 丝袜美腿蜜汁一龙二凤| 日本视频免费一区二区| 丰满少妇一区二区自拍区| 未满十八禁止在线观看av| 少妇高潮惨叫久久麻豆传| 国产精品欧美日韩高清| 国产九色91中文在线视频| 精品视频日韩在线观看| 蜜桃av在线播放视频| 极品性感尤物少妇粉嫩逼| 亚洲黄色片一区二区三区| 日本成熟亚洲中文字幕的| 亚洲理论在线观看电影| 人妻少妇系列一区二区| 丝袜美腿一区在线播放| 麻豆精品午夜福利在线| 一本久道久久综合狠狠老| 99国产精品的热久久| 日日夜夜久久一二三区| 精品国产品国语在线不卡| 亚洲成色在线综合剧情网站 | 国产网红女主播视频一区二区| 国产一区二区三区av网站| 韩国三级福利在线观看| av 一区二区三区av| 一区二区三区四区自拍偷拍视频| 台湾三级一区二区三区| 国产女孩精品在线播放| 极品美女粉嫩啪啪高潮| 国产精品黄色av一区二区| 福利午夜福利在线观看| 国产第一页第二页在线| 日本女人体内射精视频| 亚洲一区二区三区免费在线看|