1. 程式人生 > >03. CouchBase叢集安裝和配置(02)-CouchBase從0到50

03. CouchBase叢集安裝和配置(02)-CouchBase從0到50

4.叢集配置

couchbase叢集可以採用2種方式配置

  • 直接ip叢集互聯
  • 通過hostname叢集互聯
    為了方便以後的維護和變更,我們採用hostname的進行配置。
    首先確保三臺測試機之間網路互通,防護牆,selinux和埠之類的都配置ok了。

4.1 hosts設定

配置三臺機器的hosts,三臺機器都增加

x.x.x.x node1.cb.com
x.x.x.x node2.cb.com
x.x.x.x node3.cb.com

4.2 建立叢集

開啟瀏覽器訪問http://node1ip:8091/


我們這裡是建立新的叢集,點選“Setup New Cluster”


輸入叢集名字和Admin的使用者名稱和密碼

接受條款,點選繼續

各個選項的含義依次為:

  1. 主機名或者ip地址,兩者都支援,強烈建議使用主機名,後續維護會比較方便
  2. bucket落地disk的資料目錄,注意這裡不支援類似於elk的多path路徑掛載,所以如果需要多快盤分擔io的話:
    a. lvm
    b. 硬體raid
    c. 軟鏈(每個bucket一個目錄,軟鏈到其他的disk上去)
  3. 參考2
  4. 相關服務的記憶體限額,需要考慮給系統留一些記憶體(10-20%)?,注意這裡一旦設定了限額,那麼後續所有的後面加入的節點都會是這個配額了。
  5. 儲存引擎設定
  6. web啟用更新提示

4.3 將其他節點加入叢集

還是上面節點,建立完集群后介面如下

點選左邊欄的Servers按鈕,可以檢視到目前只有一臺機器

點選右上欄的“ADD SERVER”按鈕,給叢集新增其他的SERVER


具體的說明如下:
1.要新增機器的hostname或者ip地址,在我們這裡就是hosts了
2,3.不用填寫,因為對端的機器是新建立的
4.選擇新加入的這臺機器上執行什麼服務。注意只能選擇服務的種類,沒有辦法選擇每種服務的記憶體限額。
新增完畢後,進入到Servers介面

銀鏡可以檢視到新加入的節點了,因為新節點還沒有均衡資料,所以還是現實黃色的,點選右上角的rebalance按鈕,進行vbucket的重新負載均衡
負載均衡完畢後,可以看到兩個節點都是綠色顯示的了

如此,將cb3也加入到叢集中去,最終ui顯示如下,說明所有的節點都正常了

5. 建立一個bucket

切換到Buckets介面,點選“ADD BUCKET”按鈕

彈出Bucket新增按鈕

詳細的專案解釋如下:

  1. bucket名字
  2. 記憶體限額,最小100M起,注意這裡是每個節點都分配100M,總共三個節點,那麼這個bucket的總大小為300M
  3. bucket的型別,有三種,memcached可以理解為就是memcached,是基於記憶體的,沒有持久化,不會落地硬碟,也沒有複製同步等高階功能。ephemeral則是couchbase自己的memcached,也是基於記憶體的,不會落地硬碟,沒有持久化,但是有複製和同步的高階功能。Couchbase則是最主打,最高階的型別了,基於記憶體,但是資料可以持久化到硬碟,不會撐爆記憶體,並且有複製同步等高階功能。可以說couchbase型別的bucket才是couchbase的核心。
  4. 備份的數目,預設為1個備份
  5. 是否複製view索引,預設只複製資料,不會複製索引。所以需要的話,需要額外勾選
  6. 衝突解決方案,說白了就是複製了,然後多個節點同時修改某個資料,是有個可能發生2邊都修改了。這樣叢集內部存在2份同個key的資料,具體以哪個為準呢,衝突解決方案就是決定以哪個為準的策略
  7. 彈出策略:也就是說如果記憶體中的資料過多的話,採用何種方式進行資料彈出,是全部都彈出,還是隻彈出vlue,記憶體中依然保留著key
  8. 建立的這個bucket的硬碟io優先順序,也就是說會有多個bucket時,這個bucket的硬碟io優先順序
  9. 是否覆蓋自動壓縮設定
  10. 預設刪除item的時候不會立即刪除,開啟了這個引數,會盡可能快的刪除。
    建立完畢後,三個節點先經過warmup

然後最終整個bucket上線