linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客
最近開始接觸了MongoDB的安裝配置,易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便是它的特點(diǎn)。
0x00 ?副本集原理
MongDB副本集故障轉(zhuǎn)移功能得益于它的選舉機(jī)制。選舉機(jī)制采用了Bully算法,可以很方便從分布式節(jié)點(diǎn)中選出主節(jié)點(diǎn)。
主要思想是集群的每個(gè)成員都可以聲明它是主節(jié)點(diǎn)并通知其他節(jié)點(diǎn)。別的節(jié)點(diǎn)可以選擇接受這個(gè)聲稱或是拒絕并進(jìn)入主節(jié)點(diǎn)競(jìng)爭(zhēng)。被其他所有節(jié)點(diǎn)接受的節(jié)點(diǎn)才能成為主節(jié)點(diǎn)。 MongoDB副本集的成員數(shù)量最好為奇數(shù),集群最多允許12個(gè)副本集節(jié)點(diǎn),其中最多7個(gè)節(jié)點(diǎn)參與選舉。
0x01 ?源碼下載解壓$?cd /usr/local/src/
$?wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz
$?tar xvzf mongodb-linux-x86_64-rhel70-4.0.0.tgz
$?mv /usr/local/src/mongodb-linux-x86_64-rhel70-4.0.0 /cache1/mongodb
$?cd /cache1/mongodb
$?mkdir -p data/log && mkdir -p data/db
$?chown runner.runner /cache1/mongodb -R ? ?##使用非root賬號(hào),賬號(hào)自己創(chuàng)建
$?chmod 760 /cache1/mongodb
0x02 ?修改配置文件systemLog:
destination: file
path: "/cache1/mongodb/data/log/mongodb.log" ?#根據(jù)實(shí)際情況修改
logAppend: true
storage:
journal:
enabled: true
dbPath: "/cache1/mongodb/data/db" ?#根據(jù)實(shí)際情況修改
directoryPerDB: false
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 10
directoryForIndexes: false
journalCompressor: zlib
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true
net:
bindIp: 192.168.10.1 #根據(jù)實(shí)際情況修改,4.0不配置默認(rèn)綁定localhost,會(huì)導(dǎo)致無(wú)法訪問(wèn)
port: 27017 #27017為默認(rèn)端口,建議修改
processManagement:
fork: true
replication:
replSetName: mongo #副本集名稱,根據(jù)實(shí)際情況修改
security:
authorization: disabled
0x03 ?啟動(dòng)集群
在所有MongoDB機(jī)器都配置好后,啟動(dòng)集群$ su - runner
$ /cache1/mongodb/bin/mongod -f /cache1/mongodb/mongodb.conf
0x04 ?配置副本集
登錄其中一臺(tái)MongoDB$ su -?runner
$ /cache1/mongodb/bin/mongo -host 192.168.10.1 -port 28017
> config={"_id": "mongo", "members": [{"_id":0, "host": "192.168.10.1:27017"},{"_id":1, "host": "192.168.10.2:27017"},{"_id":2, "host": "192.168.10.3:27017"}]}
> rs.initiate(config)
> rs.status() ##驗(yàn)證集群狀態(tài)
其中mongo為配置文件中的replSetName,有多少臺(tái)集群就添加多少個(gè)members
0x05 ?啟用認(rèn)證
1、生產(chǎn)秘鑰$ openssl rand -base64 756 > /cache1/mongodb/secret_key.crt
$ chmod 400 /cache1/mongodb/secret_key.crt
$ scp /cache1/mongodb/secret_key.crt root@xxxx:/cache1/mongodb/
2、添加用戶$?su -?runner
$ /cache1/mongodb/bin/mongo -host 192.168.10.1 -port 27017
> use admin
> db.createUser({user:"aaa",pwd:"aaaaaaaa",roles:[{role:"root",db:"admin"}]})
3、修改配置
修改配置mongodb.conf,添加如下內(nèi)容security:
keyFile: /cache1/mongodb/secret_key.crt
authorization: enabled
4、重啟MongoDB$ killall mongod
$ /cache1/mongodb/bin/mongod -f /cache1/mongodb/mongodb.conf
5、集群驗(yàn)證use admin
db.auth("賬號(hào)","密碼")
> rs.status()
0x06 添加副本集添加副本集,在需要添加的主機(jī)配置好mongodb,并啟動(dòng)
在PRIMARY節(jié)點(diǎn)操作
>use admin
>db.auth("賬號(hào)","密碼")
>rs.add("192.168.10.4:27017")
>rs.status() 查看集群
總結(jié)
以上是生活随笔為你收集整理的linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux文件系统启动流程,linux
- 下一篇: 如何理解「续航里程是衡量汽车性能的重要指