當(dāng)graph集群擴(kuò)容時(shí)摩钙,數(shù)據(jù)會(huì)自動(dòng)遷移達(dá)到rebalance的目的。具體的操作步驟如下:
假設(shè)1:舊的graph集群為
graph-00 : 192.168.1.1:6070
graph-01 : 192.168.1.2:6070
假設(shè)2:在已有的graph集群基礎(chǔ)上,需要再擴(kuò)容兩個(gè)實(shí)例,如下
graph-00 : 192.168.1.1:6070
graph-01 : 192.168.1.2:6070
graph-02 : 192.168.1.3:6070
graph-03 : 192.168.1.4:6070
1 修改新增加的graph的cfg.json如下:
"migrate": {
"enabled": true, //true 表示graph是否處于數(shù)據(jù)遷移狀態(tài)
"concurrency": 2,
"replicas": 500,
"cluster": { //未擴(kuò)容前老的graph實(shí)例列表
"graph-00" : "192.168.1.1:6070",
"graph-01" : "192.168.1.2:6070"
}
}
要點(diǎn)說(shuō)明:
- 只有新增加的graph實(shí)例配置需要修改彼哼,原有的graph實(shí)例配置不能變動(dòng)
- 修改配置文件的時(shí)候,首先要把migrate -> enabled這個(gè)開(kāi)關(guān)修改為true湘今;其次要保證migrate -> cluster這個(gè)列表為舊集群的graph列表敢朱。
2 重啟所有的graph
cd $WORKSPACE/graph/ && bash control restart
3 修改所有transfer的cfg.json如下:
"graph": {
"enabled": true,
...,
"replicas": 500,
"cluster": {
"graph-00" : "192.168.1.1:6070",
"graph-01" : "192.168.1.2:6070",
"graph-02" : "192.168.1.3:6070",
"graph-03" : "192.168.1.4:6070"
}
},
要點(diǎn)說(shuō)明:最主要的就是修改graph -> cluster列表為擴(kuò)容后完整的graph實(shí)例列表
4 重啟所有的transfer
cd $WORKSPACE/transfer/ && bash control restart
這時(shí)候,transfer就會(huì)將接收到的數(shù)據(jù)摩瞎,發(fā)送給擴(kuò)容后的graph實(shí)例拴签;同時(shí)graph實(shí)例,會(huì)自動(dòng)進(jìn)行數(shù)據(jù)的rebalance旗们,rebalance的過(guò)程持續(xù)時(shí)間長(zhǎng)短蚓哩,與待遷移的counter數(shù)量以及graph機(jī)器的負(fù)載、性能有關(guān)系上渴。
5 修改query的配置岸梨,并重啟所有的query進(jìn)程
"graph": {
...,
"replicas": 500,
"cluster": {
"graph-00" : "192.168.1.1:6070",
"graph-01" : "192.168.1.2:6070",
"graph-02" : "192.168.1.3:6070",
"graph-03" : "192.168.1.4:6070"
}
},
要點(diǎn)說(shuō)明:最主要的就是修改graph -> cluster列表為擴(kuò)容后完整的graph實(shí)例列表
6 如何確認(rèn)數(shù)據(jù)rebalance已經(jīng)完成喜颁?
目前只能通過(guò)觀察graph內(nèi)部的計(jì)數(shù)器,來(lái)判斷整個(gè)數(shù)據(jù)遷移工作是否完成盛嘿;觀察方法如下:對(duì)所有新擴(kuò)容的graph實(shí)例洛巢,訪問(wèn)其統(tǒng)計(jì)接口http://127.0.0.1:6071/counter/migrate 觀察到所有的計(jì)數(shù)器都不再變化括袒,那么就意味著遷移工作完成啦次兆。