mongod副本集的安装配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongod副本集的安装配置相关的知识,希望对你有一定的参考价值。

阿里云环境准备。一共2台机器,每台机器安装2个mongodb,一主二从一裁决,相关信息如图:
技术分享图片
1、在176 机器上解压mongodb-linux-x86_64-rhel62-3.4.9.tgz
[[email protected] local]#tar xzvf mongodb-linux-x86_64-rhel62-3.4.9.tgz
2、解压完成之后,改名为mongodb27017,并复制一份,名称为mongodb27018。另外一台机器177的操作一样。
[[email protected] local]#mv mongodb-linux-x86_64-rhel62-3.4.9 mongodb27017
[[email protected] local]# cp -rf mongodb27017 mongodb27018
3、修改配置文件,配置文件信息如下图:
技术分享图片

因为是测试安装,一机2个mongodb,注意日志文件路径、数据存放路径、pid存放路径【上图未用红框标注】、端口号要保持不同。集群名称和生成的mongodb.key文件内容和权限要保持一致,mongdb.key的路径要不一样,比如mongdb27018这个文件的路径就是/usr/local/mongodb27018/mongodb.key。
4、所有集群内的mongodb都配置完成之后,启动每一个mongodb应用。
[[email protected] local]# mongodb27017/bin/mongod -f mongodb27017/mongodb.conf
这里分别启动了4个mongodb应用。
5、登录其中一个mongodb
[[email protected] local]#mongodb27017/bin/mongo 172.16.178.176:27017
6、登入之后,配置集群信息
技术分享图片

7、初始化集群信息
技术分享图片

8、使用admin 数据库,创建一个用户
技术分享图片
9、给这个用户赋予相应的其他权限
[[email protected] local]# mongodb27017/bin/mongo 172.16.178.176:27017
MongoDB shell version v3.4.9
connecting to: 172.16.178.176:27017
MongoDB server version: 3.4.9
rs1:PRIMARY> use admin
switched to db admin
rs1:PRIMARY>db.grantRolesToUser( "root" , [ { role: "dbOwner", db: "admin" },{ "role": "clusterAdmin", "db": "admin" },
{ "role": "userAdminAnyDatabase", "db": "admin" },
{ "role": "dbAdminAnyDatabase", "db": "admin" },
{ role: "root", db: "admin" } ]);
10、先停掉所有从机和裁决的mongodb,再停掉主mongodb。停的时候可以在控制台使用db.shutdownServer()或者kill -15 pid【pid,每一个mongodb的进程号】,绝对不要使用kill -9 pid.
11、修改配置文件,取消认证配置的注释,使认证方式生效。从机如果不需要认证,可以保持auth 这项为注释,取消注释的内容如下。

security:

keyFile: "/usr/local/mongodb27017/mongodb.key"

clusterAuthMode: "keyFile"

authorization: "enabled"
12、生成一个mongodb.key并赋予600权限
[[email protected] mongodb27017]#openssl rand -base64 666 > /usr/local/mongodb27017/mongodb.key
[[email protected] mongodb27017]#chmod 600 mongodb.key
13、分别传到其他三个mongodb.
[[email protected] mongodb27017]#cp mongodb.key /usr/local/mongodb27018/
[[email protected] mongodb27017]#scp mongodb.key [email protected]:/usr/local/mongodb27017/
14、先启动主mongodb27017,再启动其他的mongodb。
15、登录查看,直接查看rs.status(),提示没有验证。
技术分享图片
16、切换到admin数据库,使用db.auth()验证,再行查看,如下图:
技术分享图片
17、创建一个test数据库,直接use test.
18、给test数据库插入一条数据
db.test.insert({"name":"hello"})
19、查询test数据
技术分享图片
20、给test创建一个可读写的用户
rs1:PRIMARY>db.createUser({user: "xxxx", pwd: "xxxxxxx", roles: [{ role: "readWrite", db: "test" }]})

mongodb这个集群基础设置大致就这样。

以上是关于mongod副本集的安装配置的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB——MongoDB副本集(Replica Sets)

MongoDB——MongoDB副本集(Replica Sets)

MongoDB 副本集的相关概念

MongoDB 3.6搭建副本集

只初始化一次 mongo 副本集

MongoDB副本集的搭建