mongodb生产环境(副本集模式)集群搭建配置

mongodb副本集模式由如下几部分组成:

1、路由实例mongos

2、配置实例configsvr

3、副本集集群replset(一主多从)

tips:

1、以上实例都是mongod守护进程

2、以上实例应在同一网段

配置一个集群分两步:启动和配置。

1、启动

对于下面实例的管理,你可以将各个实例都创建一个目录,然后将数据和配置还有log都放在实例的目录下,启动脚本可以仿照下面的方式编写。

路由实例:10.94.99.53:29017

tips:--configdb为路由实例的ip:port,这里即为10.94.99.55:27219

$sudocommandnd $mongo_dir/mongos --configdb $configsvr_list --bind_ip $bind_ip --port $port --logpath $instance_dir/logs/mongos.log --pidfilepath $instance_dir/pid/mongos.pid -f $instance_dir/conf/mongos.conf --fork

配置实例:10.94.99.55:27219

$sudocommandnd $mongo_dir/mongod --configsvr --bind_ip $bind_ip --port $port  --dbpath $instance_dir/data --logpath $instance_dir/logs/configsvr.log --pidfilepath $instance_dir/pid/configsvr.pid -f $instance_dir/conf/configsvr.conf --fork

副本集实例:10.94.99.55:27017;10.94.99.55:27018

$sudocommandnd $mongo_dir/mongod --replSet $replSetName --bind_ip $bind_ip --port $port  --dbpath $instance_dir/data --logpath $instance_dir/logs/$replSetName.log --pidfilepath $instance_dir/pid/$replSetName.pid -f $instance_dir/conf/replset.conf --fork

2、配置

先配置副本集集群,进入任意一个副本集实例,这里是27017

mongo 10.94.99.55:27017

初始化副本集

use admin
replSet1:PRIMARY> rs.initiate({
   _id: "replSet1",
   members: [
      { _id: 0, host: "10.94.99.55:27017" },
      { _id: 1, host: "10.94.99.55:27018" }
   ]
})

配置成功后,可已查看副本集状态

# 查看副本集配置
replSet1:PRIMARY> rs.conf()
# 查看副本集状态
replSet1:PRIMARY> rs.status()

至此副本集配置完毕。下面开始配置路由实例。

进入路由实例,这里是29017。

mongo 10.94.99.55:29017

添加路由实例配置

# 切换到admin数据库
mongos> use admin
# 谁是主分片加载谁
mongos> sh.addShard("replSet1/10.94.99.55:27017")
mongos> db.runCommand({enableSharding:"watch"})
输出: { "ok" : 1 }
db.runCommand( { shardCollection: "watch.alarm", key:{"_id":1}})
输出: { "collectionsharded" : "watch.alarm", "ok" : 1 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

Oracle使用小记

windows下Oracle必须要启动的服务 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume...

22150
来自专栏我的小碗汤

linux上安装LAMP笔记

B哥最近在参加比赛,需要把一个php项目部署到服务器上,故此在linux上安装LAMP环境,用于部署项目,第一次安装,做点儿笔记记录一下。

28120
来自专栏云计算

使用JClouds在Java中获取和发布云服务器

本文中,我们举例来说明如何使用JClouds API 获取和发布云服务器。JClouds API 可以和大量云服务提供商(包括Amazon EC2和Racksp...

22090
来自专栏csxiaoyao

mysql 配置总结( linux & macos )

412110
来自专栏云计算相关

使用JClouds在Java中获取和发布云服务器

本文中,我们举例来说明如何使用JClouds API 获取和发布云服务器。JClouds API 可以和大量云服务提供商(包括Amazon EC2和Racksp...

333100
来自专栏我是攻城师

Elasticsearch如何动态维护一个不可变的倒排索引

43590
来自专栏深度学习之tensorflow实战篇

WINDOW 安装mysql5.7数据库,并设置密码及相关报错

环境:系统:WINDOW10 数据库:mysql5.7 windows 10安装mysql5.7 第一步 到mysql官网下载mysql-5.7.17-...

29460
来自专栏乐沙弥的世界

MySQL多实例配置(二)

    MySQL数据库的集中化运维,可以通过在一台MySQL数据库服务器上,部署多个MySQL实例。该功能是通过mysqld_multi来实现。mysqld_...

14820
来自专栏L宝宝聊IT

Mysql备份与还原——xtrabackup

上次我们介绍了采用逻辑备份mysqldump 备份方式,其最大的缺陷就是备份和恢复速度都慢,但如果数据库非常大,那再使用 mysqldump 备份就不太适...

52030
来自专栏Pythonista

Django之常用命令以及问题汇总

django-admin.py startproject project-name

18810

扫码关注云+社区

领取腾讯云代金券