文档章节

十、mongodb复制集

卜星星
 卜星星
发布于 03/11 15:41
字数 649
阅读 66
收藏 0

问题:

mongodb复制集创建

解决办法:

机器A:192.168.31.139
机器B:192.168.31.140
机器C:192.168.31.142

1. 下载mongodb

wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.6_amd64.deb
wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-mongos_4.0.6_amd64.deb
wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-tools_4.0.6_amd64.deb
wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-shell_4.0.6_amd64.deb

我下载时,最新版本是就是4.0.6
这里下载了四个安装包,一个是server,一个是mongos,一个是tools,一个是shell

2. 安装

sudo apt install libcurl3
sudo dpkg -i mongodb-org-server_4.0.6_amd64.deb
sudo dpkg -i mongodb-org-mongos_4.0.6_amd64.deb
sudo dpkg -i mongodb-org-tools_4.0.6_amd64.deb
sudo dpkg -i mongodb-org-shell_4.0.6_amd64.deb

libcurl3是mongodb的一个依赖,需要先安装上

3. 创建工作目录

cd ~
mkdir mongodb
cd mongodb
mkdir rs0
cd rs0
mkdir data log

我们在主目录下创建mongodb目录,里面创建一个rs0目录,进入后,
再创建data和log目录

4. 创建配置文件

在目录rs0下创建配置文件mongod.conf,增加如下内容:

storage:
  dbPath: /home/xx/mongodb/rs0/data
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path: /home/xx/mongodb/rs0/log/mongod.log
net:
  port: 11000
  bindIp: 0.0.0.0
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: rs0

5. 启动mongodb

mongod --config mongod.conf --fork

6. 配置复制集

我们将机器A设置为主服务器,其它为从服务器,在A机器上进入mongo shell:

mongo --port 11000
config = { _id: "rs0", members: [{_id: 0, host: "192.168.31.139:11000"}]}
rs.initiate(config)
rs.add('192.168.31.140:11000')
rs.add('192.168.31.142:11000')

其中config中 _id: "rs0"是指定复制集名称,
members: 指定复制集成员,
我们先指定主节点的IP及端口,并且同样需要给一个_id值
初始化化后,可以通过rs.add,将其它节点加入到复制集中
当然,在config中的members中一次都加进去也可以

7. 查看复制集状态

先在主节点上执行:

rs.conf()
rs.stauts()

这样就可以看到相应的复制集的状态值
stateStr:为PRIMARY是主节点,为SECONDARY为从节点

然后到从节点上连接mongo shell:

mongo --port 11000
rs.conf()
rs.status()

均可查看状态值

8. 插入数据测试

在主节点上执行:

mongo --port 11000
use test
db.goods.insert({'name': '香蕉'})
db.goods.find()

然后在从节点上执行:

mongo --port 11000
use test
rs.slaveOk(true)
db.goods.find()

如果在从节点上可以取到数据,就说明复制集完成了
rs.slaveOk(true)这是因为默认配置是读写均从主节点进行,
现在要在从节点读数据,需要先执行此操作

© 著作权归作者所有

卜星星
粉丝 29
博文 125
码字总数 82365
作品 0
海淀
程序员
私信 提问
MongoDB安装及复制集搭建

安装 wget http://fastdl.mongodb.org/linux/mongodb-linux-x8664-2.2.6.tgz tar zxvf mongodb-linux-x8664-2.2.6.tgz mv mongodb-linux-x8664-2.2.6 mongodb cd mongodb mkdir log # 添加日......

zmf
2015/06/18
135
0
mongodb(一)mongodb 副本集配置

---layout: blogistop: truetitle: "mongodb 副本集配置"date: 2018-08-29category: mongodbtags: mongodb --- 环境 下载解压 基本配置: 假定已经解压安装完成,现在所处的目录是 /usr/loc......

开心的哈士奇
2018/10/17
199
0
#云数据库 MongoDB 4.0 全新升级,震撼来袭

近日,阿里云正式推出云数据库MongoDB 4.0版,全面支持事务操作,独家支持数据多活能力,且在数据库数据安全、管理方面、跨域同步方面新增多项企业级特性。 MongoDB 是一个开源的文档型数据库...

tony_x
2018/11/19
0
0
史上最详细的 MongoDB4.0搭建分布式集群(亲测有效)

史上最详细的 MongoDB4.0搭建分布式集群(亲测有效) 2019年02月13日 16:46:58 一尘在心 阅读数 156更多 分类专栏: 大数据~~MongoDB 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权...

linjin200
09/18
31
0
MongoDB4.0搭建分布式集群-笔记

搭建之前先了解一下MongoDB分片群集主要有如下三个组件: Shard:分片服务器,用于存储实际的数据块,实际生产环境中一个shard server 角色可以由几台服务器组成一个Peplica Set 承担,防止主...

Calon
2018/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java快递电子面单打印接口对接demo

之前的后天管理系统的电子面单打印使用的是灵通打单。 使用相对比较麻烦,需要到处Excel之后再导入,麻烦。 快递鸟有电子面单api,后台系统直接对接很是方便,不过也遇到了好些问题。 不难是...

程序的小猿
28分钟前
4
0
fasjtjson文档

https://github.com/alibaba/fastjson/wiki/JSONField

jirak
29分钟前
4
0
Mybatis中插入多条记录

Oracle数据库 实现方法 <insert id="saveWithdrawLog"> INSERT ALL INTO OSM_TRADE_DETAIL(SID,MBR_ID,USR_ID,TRADE_MONEY,TRADE_TYPE,TRADE_TIME,TRADE_WAY,PAY_ID) VALUES(#{si......

豫华商
29分钟前
5
0
Flink on YARN(下):常见问题与排查思路

作者:杨弢(搏远) Flink 支持 Standalone 独立部署和 YARN、Kubernetes、Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛。Flink 社区将推出 Flink on YARN 应用解读...

开源中国小二
31分钟前
4
0
技术沙龙|京东云端到端多媒体关键技术揭秘

编者按:从带来更高编码效率、更好的用户体验的京享高清,到直播架构与网络演进优化,从而为用户带来更流畅的观看体验,以及运维系统的异常自动修复和高弹性的多媒体存储架构,一层一层展示出...

京东云技术新知
31分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部