linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客
最近開始接觸了MongoDB的安裝配置,易部署、易使用,存儲數據非常方便是它的特點。
0x00 ?副本集原理
MongDB副本集故障轉移功能得益于它的選舉機制。選舉機制采用了Bully算法,可以很方便從分布式節點中選出主節點。
主要思想是集群的每個成員都可以聲明它是主節點并通知其他節點。別的節點可以選擇接受這個聲稱或是拒絕并進入主節點競爭。被其他所有節點接受的節點才能成為主節點。 MongoDB副本集的成員數量最好為奇數,集群最多允許12個副本集節點,其中最多7個節點參與選舉。
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賬號,賬號自己創建
$?chmod 760 /cache1/mongodb
0x02 ?修改配置文件systemLog:
destination: file
path: "/cache1/mongodb/data/log/mongodb.log" ?#根據實際情況修改
logAppend: true
storage:
journal:
enabled: true
dbPath: "/cache1/mongodb/data/db" ?#根據實際情況修改
directoryPerDB: false
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 10
directoryForIndexes: false
journalCompressor: zlib
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true
net:
bindIp: 192.168.10.1 #根據實際情況修改,4.0不配置默認綁定localhost,會導致無法訪問
port: 27017 #27017為默認端口,建議修改
processManagement:
fork: true
replication:
replSetName: mongo #副本集名稱,根據實際情況修改
security:
authorization: disabled
0x03 ?啟動集群
在所有MongoDB機器都配置好后,啟動集群$ su - runner
$ /cache1/mongodb/bin/mongod -f /cache1/mongodb/mongodb.conf
0x04 ?配置副本集
登錄其中一臺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() ##驗證集群狀態
其中mongo為配置文件中的replSetName,有多少臺集群就添加多少個members
0x05 ?啟用認證
1、生產秘鑰$ 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,添加如下內容security:
keyFile: /cache1/mongodb/secret_key.crt
authorization: enabled
4、重啟MongoDB$ killall mongod
$ /cache1/mongodb/bin/mongod -f /cache1/mongodb/mongodb.conf
5、集群驗證use admin
db.auth("賬號","密碼")
> rs.status()
0x06 添加副本集添加副本集,在需要添加的主機配置好mongodb,并啟動
在PRIMARY節點操作
>use admin
>db.auth("賬號","密碼")
>rs.add("192.168.10.4:27017")
>rs.status() 查看集群
總結
以上是生活随笔為你收集整理的linux下mongdb绑定ip,Linux下MongoDB安装及副本集配置 | 聂扬帆博客的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux文件系统启动流程,linux
- 下一篇: linux邮件自动回复,debian上