mongod副本集的安装配置

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

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

7、初始化集群信息
mongod副本集的安装配置

8、使用admin 数据库,创建一个用户
mongod副本集的安装配置
9、给这个用户赋予相应的其他权限
[root@iZbp1aygu9fiwba38yn9u6Z 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权限
[root@iZbp1aygu9fiwba38yn9u6Z mongodb27017]#openssl rand -base64 666 > /usr/local/mongodb27017/mongodb.key
[root@iZbp1aygu9fiwba38yn9u6Z mongodb27017]#chmod 600 mongodb.key
13、分别传到其他三个mongodb.
[root@iZbp1aygu9fiwba38yn9u6Z mongodb27017]#cp mongodb.key /usr/local/mongodb27018/
[root@iZbp1aygu9fiwba38yn9u6Z mongodb27017]#scp mongodb.key root@172.16.178.177:/usr/local/mongodb27017/
14、先启动主mongodb27017,再启动其他的mongodb。
15、登录查看,直接查看rs.status(),提示没有验证。
mongod副本集的安装配置
16、切换到admin数据库,使用db.auth()验证,再行查看,如下图:
mongod副本集的安装配置
17、创建一个test数据库,直接use test.
18、给test数据库插入一条数据
db.test.insert({"name":"hello"})
19、查询test数据
mongod副本集的安装配置
20、给test创建一个可读写的用户
rs1:PRIMARY>db.createUser({user: "xxxx", pwd: "xxxxxxx", roles: [{ role: "readWrite", db: "test" }]})

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

转载于:https://blog.51cto.com/nhylovezyh/2104239

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值