MongoDB是一個開源的non-SQL資料庫引擎。 MongoDB是可擴充的,是標準關聯式資料庫管理系統(RDBMS)的替代品。 複本集可以使在節點發生故障時還能提供對您的資料的訪問。
安裝MongoDB
1.確保在複本集的每個成員設定好hostname
nano /etc/hostname
/etc/hostname:
europa
2.建立一個檔案以儲存MongoDB存放庫的配置資訊:
sudo touch /etc/yum.repos.d/mongodb.repo
3.如果啟動並執行是64位系統,請使用以下配置:
[mongodb]name=MongoDB Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/gpgcheck=0enabled=1
對於32位系統,請使用以下配置:
[mongodb]name=MongoDB Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/gpgcheck=0enabled=1
4.使用如下命令安裝MongoDB:
sudo yum install mongo-10gen-server
配置網路
請正確配置網路,否則將無法向複本集新增成員。 本節將詳細介紹如何將三(3)個伺服器配置為MongoDB複本集。
設定hosts檔案
/etc/hosts
192.168.160.1 mongo1
192.168.170.1 mongo2
192.168.180.1 mongo3
使用您自己的IP地址代替上述樣本中的地址。 複本集中的成員名稱也可以根據你的需要設定名稱。
編輯Mongo Conf檔案
1.編輯mongod.conf檔案以添加IP地址和連接埠號碼。
/etc/mongod.conf:
# fork and run in backgroundfork = true bind_ip = 192.168.135.24port = 27017
輸入您在bind ip中伺服器的私人IP地址。 如果bind_ip不存在,則需要添加它。 保留預設連接埠號碼27017,並取消注釋行fork = true。
2.仍然在mongodb.conf檔案中滾動到底部並添加複本集資訊:
/etc/mongod.conf:
replSet = rs1
在此樣本中,複本集為rs1,但是,您可以根據選擇更改名稱。
複本集
複本集將允許您的資料“複製”或傳播到集合中的所有其他節點。 它在系統故障的情況下提供冗餘。 建議複本集節點個數為奇數,因為這會使選舉更容易。
選舉是選擇哪個節點成為主節點。 選舉在複本集初始化之後和主節點不可用時發生。 主節點是唯一可以接受寫操作的節點。 如果主節點不可用,則進行選舉選出新的主節點。 選舉操作自動進行,無需人工幹預。
棄置站台集
mongod.conf檔案在安裝過程中就建立好了。 需要用這個設定檔在複本集的每個節點上啟動精靈。
1.命令如下:
mongod --config /etc/mongod.conf
精靈啟動後,輸出如下。
[user@europa mongo]# mongod –config /etc/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 20955
all output going to: /var/log/mongo/mongod.log
child process started successfully, parent exiting
2.僅在複本集的一個節點上啟動MongoDB用戶端:
mongo --host <mongo0>
3.在MongoDB提示符下,使用命令切換到admin:
use admin
您應該看到訊息switched to db admin.
4.運行rs.initiate()命令,該命令將在當前節點中棄置站台集。 輸出應類似於以下內容:
> rs.initiate(){“info2” : “no configuration explicitly specified — making one”,“me” : “192.168.160.1:27017”,“info” : “Config now saved locally. Should come online in about a minute.”,“ok” : 1
5.要查看當前配置,運行命令:
rs.conf()
輸出應類似於以下內容:
rs.conf(){ "_id" : "rs1", "version" : 8, "members" : [ { "_id" : 0, "host" : "192.168.160.1:27017" } ]}
6.要將成員添加到複本集,請使用命令:
rs.add("mongo1:27017")
輸出:
rs1:PRIMARY> rs.add(“mongo2:27017”)
{ “ok” : 1 }
7.要驗證節點是否已正確添加,請再次運行rs.conf()命令。 輸出應類似於以下內容:
rs1:PRIMARY> rs.conf(){“_id” : “rs0”,“version” : 8,“members” : [{“_id” : 0,“host” : “192.168.160.1:27017”},{“_id” : 1,“host” : “mongo1:27017”},{“_id” : 2,“host” : “mongo2:27017”}]}
驗證複本集
驗證複本集是否正常並且節點都進行正常通訊的最佳方法是建立新的測試資料庫。 預設情況下,當您串連到MongoDB時,將使用現有的測試資料庫。 為了儲存新資料庫,需要添加資料。 建立和插入資料的過程如下:
1.建立資料庫
use <products>
用您喜歡的任何名稱替換變數products。
2.添加資料
db.products.insert( {item: "paint", qty: 10 } )
如果您不在複本集的主節點上,您將收到訊息not master。 切換到主節點並再次運行命令。 現在使用命令:
show dbs
顯示資料庫列表。 您的新應該出現在列表中。 串連到複本集的其他節點,查看新建立的資料庫是否已複製過去。
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。