1前言
通過本文你将學習如何配置couchdb,其中包括叢集的設定。
對于couchdb的配置我們可以在頁面中進行設定:

你也可以在本地etc檔案中進行配置
2couchdb配置
n表示叢集的數目,一般不推薦大于3
q表示本地分塊副本的數目,它會将資料庫中的資料分塊12份進行存儲
當設定了叢集模式,如果其他伺服器被終止或關機,運作的節點數目隻要大于等于1都是可行的,資料服務仍會進行。
attachment_stream_buffer_size表示附件緩存的大小,在滿足自己計算機讀寫能力的情況下,增大該值會帶來性能的提升。
其它選項一般都是采用預設設定,更改可能會帶來穩定性的隐患
3叢集設定
3.1防火牆設定
在設定叢集前你需要确認你準備配置設定的節點存儲端口号可以互相之間通信;
確定每台伺服器之間沒有防火牆的設定
3.2叢集設定向導
3.2.1你可以在頁面中設定叢集,當安裝完成之後,通路 http://127.0.0.1:5984/_utils#setup位址會有設定叢集的向導頁面。
系統将要求您将CouchDB設定為單節點執行個體或設定叢集。
當您單擊“設定群集”時,系統會再次要求您提供管理者憑據,然後按IP位址添加節點。要獲得更多節點,請在其他計算機上執行相同的安裝過程。在添加節點之前,請確定指定希望添加到叢集的節點總數。
在檔案etc / vm.args中,将-name [email protected]更改為 -name [email protected]<this-nodes-ip-address| FQDN>定義了該節點,并且每個節點必須分開。對于群集設定,系統中的每個節點必須具有唯一的名稱。也可以是有效的FQDN,不一定是IP。
在添加節點以形成叢集之前,必須使它們偵聽可從叢集中其他節點通路的IP位址。每個節點執行一次:
curl -X PUT http://127.0.0.1:5984/_node/[email protected]/_config/admins/admin -d ‘“password”’
curl -X PUT http://127.0.0.1:5984/_node/[email protected]/_config/chttpd/bind_address -d ‘“0.0.0.0”’
現在,您可以在第一個節點的設定螢幕中輸入其IP位址。并確定輸入管理者使用者名和密碼。并在所有節點上使用相同的管理者使用者名和密碼。
添加所有節點後,單擊“設定”,Fauxton将為您完成叢集配置。
請參閱http://127.0.0.1:5984/_membership以擷取叢集中所有節點的清單。
現在,您的叢集已準備就緒且可用。您可以将請求發送到任何一個節點并擷取所有資料。
為了進行适當的生産設定,您現在需要在節點之前設定一個HTTP代理,以實作負載平衡。我們建議使用HAProxy。請參閱我們的HAProxy配置示例。您隻需要調整IP位址和端口即可。
3.2.2同樣你可以使用指令行來設定,步驟如下:
在CouchDB公開_cluster_setup端點。安裝和初始設定後,我們可以設定叢集。在每個節點上,我們需要運作以下指令來設定節點:
curl -X POST -H “Content-Type: application/json” http://admin:[email protected]:5984/_cluster_setup -d ‘{“action”: “enable_cluster”, “bind_address”:“0.0.0.0”, “username”: “admin”, “password”:“password”, “node_count”:“3”}’
之後,我們可以将所有節點連接配接在一起。選擇一個節點作為“設定協調節點”以運作所有這些指令。這是一個“設定協調節點”,用于管理設定,并要求所有其他節點都能看到它,反之亦然。設定不适用于不可用的節點。設定完成後,“設定協調節點”的概念将消失。從那時起,叢集将不再具有“設定協調節點”。要添加節點,請對要添加的每個節點運作以下指令:
curl -X POST -H “Content-Type: application/json” http://admin:[email protected]:5984/_cluster_setup -d ‘{“action”: “enable_cluster”, “bind_address”:“0.0.0.0”, “username”: “admin”, “password”:“password”, “port”: 15984, “node_count”: “3”, “remote_node”: “”, “remote_current_user”: “”, “remote_current_password”: “” }’
curl -X POST -H “Content-Type: application/json” http://admin:[email protected]:5984/_cluster_setup -d ‘{“action”: “add_node”, “host”:"", “port”: , “username”: “admin”, “password”:“password”}’
這将把兩個節點連接配接在一起。對于要添加到叢集中的每個節點,請繼續運作上述指令。完成後,運作以下指令來完成設定并添加缺少的資料庫:
curl -X POST -H “Content-Type: application/json” http://admin:[email protected]:5984/_cluster_setup -d ‘{“action”: “finish_cluster”}’
最後我們檢視我們的叢集設定
curl http://admin:[email protected]:5984/_membership