当前位置: 首页 > news >正文

分布式mongodb搭建-主从搭建

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

节点准备

如下图所示,准备三个节点服务器(实验环境可在同一设备上进行),一主两从结构。

Mongo配置

在每一个节点上面分别执行如下操作

安装mongodb

使用最偷懒的方式安装mongodb

在/etc/yum.repo.d/目录下添加mongodb-org-3.4.repo文件,内容如下

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

修改配置文件

修改mongodb默认配置文件如下

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile

net:
  port: 27017
#  bindIp: 10.5.204.86  # Listen to local interface only, comment to listen on all interfaces.

replication:
  replSetName: rs #集群名字
  oplogSizeMB: 1024

启动mongodb

运行如下命令启动mongodb

service mongod start

初始化

假如三个几点的ip分别如下

节点IP地址
master172.16.17.100
slave1172.16.17.101
slave2172.16.17.102

使用mongo客户端(命令行或者nosql manager for MongoDB)登录master节点,执行如下脚本:

use admin;

rs.initiate({
    _id: "rs",
    members: [
        {
            _id: 0,
            host: '172.16.17.100:27017',
            priority: 1
        }
    ]
});

rs.add('172.16.17.101:27017');

rs.add('172.16.17.102:27017');

查看节点状态,可通过rs.status();方法查看。

测试

通过各类客户端可以往master节点添加数据,则会发现,其他slave节点皆已自动同步了数据。

转载于:https://my.oschina.net/crazyharry/blog/1572710

相关文章:

  • PHPExcel 导出 excel
  • 重读杠杆阅读术
  • java 数字枚举
  • EX2T/EXT3文件系统
  • jQuery 2.0发布 不再支持IE 6/7/8
  • FTP服务器配置与管理(5) FTP用户隔离
  • 对于原生态的addEventListener与jqueryDOM操作对于事件处理的区别
  • Linux下重置mysql密码
  • 运用 myeclipse 自动生成 映射文件时 需要注意的问题
  • 极速理解设计模式系列:12.责任链模式(Chain of Responsibility Pattern)
  • 一句话判断当前机器windows版本
  • Exchange 2013部署系列之(八)邮箱、通讯组创建及规划
  • 看雪精华内容下载
  • 推荐一个LISP的开发工具
  • 网络安全_置换密码
  • Android开源项目规范总结
  • dva中组件的懒加载
  • Java多态
  • LintCode 31. partitionArray 数组划分
  • nodejs:开发并发布一个nodejs包
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Spring Boot MyBatis配置多种数据库
  • spring security oauth2 password授权模式
  • Swoft 源码剖析 - 代码自动更新机制
  • Terraform入门 - 3. 变更基础设施
  • 阿里云购买磁盘后挂载
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 代理模式
  • 工作手记之html2canvas使用概述
  • 官方解决所有 npm 全局安装权限问题
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 2017年360最后一道编程题
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​一些不规范的GTID使用场景
  • #if和#ifdef区别
  • #Z0458. 树的中心2
  • (03)光刻——半导体电路的绘制
  • (javascript)再说document.body.scrollTop的使用问题
  • (MATLAB)第五章-矩阵运算
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (四)linux文件内容查看
  • (转) Android中ViewStub组件使用
  • .bashrc在哪里,alias妙用
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET MVC之AOP
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .Net接口调试与案例
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @RequestBody与@ModelAttribute
  • @取消转义