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() 查看集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值