美文网首页
mongodb副本集搭建

mongodb副本集搭建

作者: 快点给我想个名 | 来源:发表于2019-12-05 15:36 被阅读0次

非安全认证

环境说明

Linux:CentOS7
MongoDB:mongodb-linux-x86_64-enterprise-rhel70-4.0.13
服务器IP:192.168.6.128、192.168.6.129、192.168.6.130、192.168.6.131
架构:一主两从一仲裁

解压Mongodb
  1. 解压文件并重命名为mongodb-4.0.13
创建日志及数据存放目录
  1. 目录结构如图 data和log目录.png
创建配置文件 参考官网说明
  1. 同一副本集的服务器replSetName相同。以128服务器为例:
processManagement:
   fork: true
net:
   bindIp: 192.168.6.128,127.0.0.1 #对应服务器填写自身对应IP地址
   port: 27017
storage:
   dbPath: /usr/local/mongodb-4.0.13/replica_set/data
systemLog:
   destination: file
   path: "/usr/local/mongodb-4.0.13/replica_set/log/mongodb.log"
   logAppend: true
storage:
   journal:
      enabled: true
replication:
   replSetName: set0
启动MongoDB
启动mongod客户端.png
配置副本集 参考官网说明
  1. 这里配置不加入仲裁节点,稍候以命令方式加入。
  2. 登录任意一台服务器的mongo客户端,执行如下命令:
var rsconf = {
    _id: "set0",
    members: 
    [
        {
            _id: 1,
            host: "192.168.6.128:27017"
        },
        {
            _id: 2,
            host: "192.168.6.129:27017"
        },
        {
            _id: 3,
            host: "192.168.6.130:27017"
        }
    ]
}
  1. 副本集初始化
rs.initiate(rsconf)
添加仲裁节点
  1. 通过mongo登录主节点,将仲裁节点加入副本集。执行
 rs.addArb("192.168.6.131:27017")

最后可通过rs.status()命令查看副本集状态信息

安全认证

其他步骤相同,不同点从配置文件开始

创建key 参考官方说明
  1. 每个服务器都需要执行下列命令,或通过scp拷贝文件到其他服务器对应目录
openssl rand -base64 756 > /usr/local/mongodb-4.0.13/replica_set/key/replicat_set.key
chmod 600 /usr/local/mongodb-4.0.13/replica_set/key/replicat_set.key
创建配置文件
processManagement:
   fork: true
net:
   bindIp: 192.168.6.128 #对应服务器填写自身对应IP地址
   port: 27017
storage:
   dbPath: /usr/local/mongodb-4.0.13/replica_set/data
systemLog:
   destination: file
   path: "/usr/local/mongodb-4.0.13/replica_set/log/mongodb.log"
   logAppend: true
storage:
   journal:
      enabled: true
replication:
   replSetName: set0
# 不同点在下面,指定key路径
security:
  keyFile: /usr/local/mongodb-4.0.13/replica_set/key/replicat_set.key
启动MongoDB
  1. 启动mongodb
  2. 创建管理员
use admin
db.createUser(
   {
     user: "simon",
     pwd: "123456",
     roles: [{role:"userAdminAnyDatabase",db:"admin"}]
   }
)
  1. 创建完成后,执行添加仲裁节点失败,查看官网文档,添加下列角色。之后在添加仲裁节点成功。
db.grantRolesToUser("simon", ["clusterAdmin"])

java客户端操作

  1. 创建test数据库
  2. 创建用户并授权
db.createUser(
   {
     user: "tester",
     pwd: "123456",
     roles: [{role:"readWrite",db:"test"}]
   }
)

  1. 客户端插入数据
public static void main(String[] args) {
        List<ServerAddress> list = new ArrayList<>(4);
        ServerAddress s128 = new ServerAddress("192.168.6.128");
        ServerAddress s129 = new ServerAddress("192.168.6.129");
        ServerAddress s130 = new ServerAddress("192.168.6.130");
        list.add(s128);
        list.add(s129);
        list.add(s130);

        MongoCredential credential = MongoCredential.createCredential("tester", "test", "123456".toCharArray());
        MongoClientOptions mongoClientOptions = MongoClientOptions.builder().build();
        MongoClient mongoClient = new MongoClient(list,credential,mongoClientOptions);
        MongoDatabase test = mongoClient.getDatabase("test");

        MongoCollection<Document> simon = test.getCollection("simon");

        for(int i = 21 ;i < 39;i++){
            Document document = new Document();
            document.append("name","张三" + i);
            document.append("age",i);
            document.append("sex",((i & 1) == 0 ? "男":"女"));
            simon.insertOne(document);
        }
    }

相关文章

  • MongoDB高可用性方案:Replica Set(副本集)

    参考:MongoDB Replication、MongoDB 副本集的原理、搭建、应用 Replica Set(副...

  • mongodb 4.0副本集搭建

    近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半...

  • Mongodb集群搭建方式

    mongodb是最常用的nodql数据库,这篇文章介绍如何搭建高可用的mongodb副本集群。 相关概念 在搭建集...

  • mongoDB4.0副本集讲解及配置

    layout: pagestitle: mongoDB4.0副本集讲解及配置date: 2018.09.27tag...

  • mongodb副本集搭建

    环境准备 服务器:centOS7mongodb版本:3.6.2副本集方案:1个主节点+2个二级节点注意:部署生产环...

  • MongoDB副本集搭建

    使用命令行 每个副本集成员以下面命令启动: 在其中一台使用rs.initiate()命令即可成为主服务。如果要修改...

  • mongodb副本集搭建

    非安全认证 环境说明 Linux:CentOS7MongoDB:mongodb-linux-x86_64-ente...

  • MongoDB副本集搭建

    准备 MongoDB下载地址4.0.2版本[%5Bhttps://fastdl.mongodb.org/linux...

  • mongodb副本集的搭建

    mongodb副本集即客户端连接到整个副本集,不关心具体哪一台机器是否挂掉。主服务器负责整个副本集的读写,副本集定...

  • mongodb 4.0.4 副本集搭建

    mongo-1配置文件: mongo-2配置文件 分别进入mongo-1 mongo-2的bin目录,然后运行: ...

网友评论

      本文标题:mongodb副本集搭建

      本文链接:https://www.haomeiwen.com/subject/tivdgctx.html