前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mongodb集群部署(下)

Mongodb集群部署(下)

原创
作者头像
陈不成i
修改2021-06-17 14:16:55
5590
修改2021-06-17 14:16:55
举报
文章被收录于专栏:ops技术分享

五.设置路由程序

先启动配置服务器和分片服务器,后启动路由实例启动路由实例:(mongo1,mongo2,mongo3)

1.配置 操作服务器:(mongo1,mongo2,mongo3) vim /usr/local/mongodb/conf/mongos.conf

  1. pidfilepath = /usr/local/mongodb/mongos/log/mongos.pid
  2. logpath = /usr/local/mongodb/mongos/log/mongos.log
  3. logappend = true
  4. #配置其他俩台的时候注意更改监听IP
  5. bind_ip = 本机ip
  6. port = 20000
  7. fork = true
  8. #监听的配置服务器,只能有1个或者3个 configs为配置服务器的副本集名字
  9. configdb = configs/1.1.1.1:21000,1.1.1.2:21000,1.1.1.3:21000
  10. #设置最大连接
  11. maxConns=20000

2.启动 操作服务器:(mongo1,mongo2,mongo3)

mongos -f /usr/local/mongodb/conf/mongos.conf

3.初始化 操作服务器:(mongo1)

链接 mongo --host 1.1.1.1 --port 20000

进入admin数据库,将分片程序地址声明 use admin sh.addShard("shard1/1.1.1.1:27001,1.1.1.2:27001,1.1.1.3:27001") sh.addShard("shard1/1.1.1.1:27002,1.1.1.2:27002,1.1.1.3:27002") sh.addShard("shard1/1.1.1.1:27003,1.1.1.2:27003,1.1.1.3:27003")

查看集群状态 sh.status()

六.添加权限

集群中配置权限,需要先创建一个admin用户,拥有root权限,然后再停止整个集群,开启权限验证后再启动集群。

1.创建用户 操作服务器:(mongo1)

登陆当前的路由程序,也就是数据库 mongo 1.1.1.1:20000

切换到admin库,创建一个admin账户,密码123456,属于root组,可以管理admin库 use admin db.createUser({user:’admin’,pwd:’123456’,roles:[{ role : “root”, “db” : “admin” }]});``

返回1证明成功 db.auth('admin','123456')

2.创建KeyFile 操作服务器:(mongo1)

在分片集群环境中,副本集内成员之间需要用keyFile认证,mongos与配置服务器,副本集之间也要keyFile认证,集群所有mongod和mongos实例使用内容相同的keyFile文件。

创建keyFile openssl rand -base64 753

3.复制KeyFile 操作服务器:(mongo1 mongo2 mongo3)

将显示的内容复制到KeyFile.key mkdir -p /usr/local/mongodb/key vim /usr/local/mongodb/key/KeyFile.key chmod 700 /usr/local/mongodb/key/KeyFile.key

4.开启认证 操作服务器:(mongo1 mongo2 mongo3)

修改每个节点的/usr/local/mongodb/conf/ config.conf 和 shard1.conf 和 shard2.conf 和 shard3.conf

添加如下

  1. #开启权限验证
  2. auth=true
  3. keyFile=/usr/local/mongodb/key/KeyFile.key

修改每个节点的mongos文件 vim /usr/local/mongodb/conf/mongos.conf

添加如下

代码语言:javascript
复制
keyFile=/ops/servers/mongodb/key/KeyFile.key

5.重启 操作服务器:(mongo1 mongo2 mongo3)

先停止服务,如果killall没有,则先yum安装psmisc killall mongod killall mongos

每个节点挨个启动配置服务 mongod -f /usr/local/mongodb/conf/config.conf

每个节点挨个启动分片服务 mongod -f /usr/local/mongodb/conf/shard1.conf mongod -f /usr/local/mongodb/conf/shard2.conf mongod -f /usr/local/mongodb/conf/shard3.conf

每个节点挨个启动路由服务 mongos -f /usr/local/mongodb/conf/mongos.conf

6.验证 操作服务器:(mongo1)

连接admin库或者其他库,去查询当前有的数据库或者其它操作,将会报错如下

链接 mongo 1.1.1.1:20000/admin

查看当前有哪些数据库 show dbs

会报错

file
file

使用账号密码登陆则正常使用 mongo 1.1.1.1:20000/admin -u admin -p 123456 show dbs

正常使用了

file
file

七.集群维护

1.启动monggo集群 mongodb的启动顺序是,先启动配置服务器,在启动分片,最后启动mongos.

在集群每个节点启动一遍 mongod -f /ops/server/mongodb/conf/config.conf

在集群每个节点启动一遍 mongod -f /ops/server/mongodb/conf/shard1.conf mongod -f /ops/server/mongodb/conf/shard2.conf mongod -f /ops/server/mongodb/conf/shard3.conf

在集群每个节点启动一遍 mongod -f /ops/server/mongodb/conf/mongos.conf

2.关闭mongo集群,直接killall杀掉所有进程 killall mongod killall mongos

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 五.设置路由程序
  • 六.添加权限
  • 七.集群维护
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档