MongoDB的分片集群

155 阅读2分钟

开启副本集的认证

在这里插入图片描述

  1. 内部节点之间的认证,使用共享的keyfile
openssl rand -base64 90 > /usr/local/mongodb4.4.1/conf/mongo.keyfile

#设置可读
chmod 400 /usr/local/mongodb4.4.1/conf/mongo.keyfile
  1. 配置项
security:
  keyFile: /usr/local/mongodb4.4.1/conf/mongo.keyfile
  authorization: enabled
  1. 重启副本集的mongod实例
  2. 连接主节点,并创建用户
#连接到主节点
mongo localhost:27017
>show dbs; #无法读取,因为需要认证
>use admin;
>db.createUser({user:"lauf",pwd:"lauf123",roles:[{role:"root",db:"admin"}]})
>db.auth("lauf","lauf123")
>show dbs;

命令行方式认证连接:

mongo localhost:27017 -u lauf -p --authenticationDatabase admin

分片集部署

组件:\

配置服务器,存储分片集群的元数据,如集合的分片、集合的名称、存储的地址等,在实际的生产环境中每个配置服务器一般配置为三成员的副本集,然后配置多个服务节点。\

路由服务器,即为mongos,为分片集群提供路由选择的服务,本质是一个mongod进程,但是本身不存储数据,集群启动时,从配置服务器加载数据,从而得到集群的整体信息。在实际生产环境中,通常启动一个或者多个mongos进程。\

分片服务器,实际的数据存储节点,实际使用时,每个分片服务器通常配置为一个三成员副本集,然后配置多个这样的分片服务器。

分片集群启动顺序:

  1. 启动配置服务器
  2. 启动路由服务器
  3. 启动分片服务器
  4. 连接mongos,并创建数据库,为数据库启用分片
  5. 在数据库中,创建一个集合,为集合创建索引,在索引字段创建范围分片。

优点:

  1. 实现数据的分布式的读写,数据切片存储
  2. 提高可靠性、可扩展性 在这里插入图片描述