Mongodb集群部署(下)

2021-06-17 14:16:55 浏览数 (1)

五.设置路由程序

先启动配置服务器和分片服务器,后启动路由实例启动路由实例:(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

会报错

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

正常使用了

七.集群维护

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

0 人点赞