一、安装Mongodb(Tarballs)

1、检查依赖文件包:

yum install libcurl openssl

2、解压文件到/usr/local/

tar -zxvf mongodb-linux-x86_64-rhel70-4.0.4.tgz -C /usr/local/

3、配置环境变量 /etc/profile

export PATH=/usr/local/mongodb-linux-x86_64-rhel70-4.0.4/bin:$PATH

使用命令mongod -v输出信息版本信息验证环境变量是否配置成功

4、配置/etc/selinux/config文件 关闭selinux  (配置完重启)

SELINUX=disabled

5、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

二、配置config server(副本集)

选取三台电脑,做如下操作:一主一副一仲裁

1、 新建目录

mkdir /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf

mkdir /var/log/mongodb

2、 在新建的conf目录下创建config.conf  做如下配置(跟python代码一样注意缩进问题)

sharding:

clusterRole: configsvr

replication:

replSetName: configs

net:

port: 27019

bindIp: 0.0.0.0

processManagement:

fork: true

pidFilePath: /var/log/mongodb/config.pid

systemLog:

destination: file

logAppend: true

path: /var/log/mongodb/config.log

3、 创建默认的保存数据的文件位置:

mkdir -p /data/configdb

4、 启动mongod实例

mongod --config /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf/config.conf

5、 登陆任意一台服务器—— mongo --port XXX

mongo --port 27019

6、 初始化副本集(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致)

rs.initiate(

{

_id: "configs",

configsvr: true,

members: [

{ _id : 0, host : "192.168.100.101:27019" },

{ _id : 1, host : "192.168.100.102:27019" },

{ _id : 2, host : "192.168.100.103:27019" }

]

}

)

7、查看config副本集状态

rs.status();

三、配置shard server(副本集)

选取三台电脑,做如下操作:

1、 新建目录

mkdir /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf

mkdir /var/log/mongodb

2、 在新建目录下创建shard0.conf  做如下配置(跟python代码一样注意缩进问题)

sharding:

clusterRole: shardsvr

replication:

replSetName: shard0

net:

port: 27018

bindIp: 0.0.0.0

processManagement:

fork: true

pidFilePath: /var/log/mongodb/shard0.pid

systemLog:

destination: file

logAppend: true

path: /var/log/mongodb/shard0.log

3、 创建默认的保存数据的文件位置:

mkdir -p /data/db

4、 启动shard0 server实例

mongod --config /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf/shard0.conf

5、 启动完三台服务器的实例后,登陆任意一台服务器,初始化副本集

mongo --port 27018

6、 初始化副本集(键“_id”对应的值必须与配置文件中的replicaction.replSetName一致)

rs.initiate(

{

_id : "shard0",

members: [

{ _id : 0, host : "192.168.100.1:27018", priority : 1},

{ _id : 1, host : "192.168.100.6:27018", priority : 2},

{ _id : 2, host : "192.168.100.9:27018", arbiterOnly :true}

]

}

)

7、 查看shard0副本集状态

rs.status();

四、配置mongos

选取一台或多台电脑,做如下操作:

1、 在安装目录下新建目录

mkdir /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf

2、 在新建目录下创建mongos.conf  做如下配置(跟python代码一样注意缩进问题)

sharding:

configDB: configs/192.168.100.101:27019,192.168.100.102:27019,192.168.100.103:27019

net:

bindIp:0.0.0.0

port:27017

systemLog:

destination: file

logAppend: true

path: /var/log/mongodb/mongos.log

processManagement:

fork: true

3、 创建默认的保存数据的文件位置:

mkdir -p /data/db

4、 启动mongos server实例

mongos --config /usr/local/mongodb-linux-x86_64-rhel70-4.0.4/conf/mongos.conf

5、 连接到一台mongos

mongo --host 192.168.100.1 --port 27017

6、 串联路由服务器与分片副本集

use admin

sh.addShard("shard0/192.168.100.1:27018, 192.168.100.6:27018, 192.168.100.9:27018")

7、 查看集群状态

sh.status()

mongodb集群部署的更多相关文章

  1. Mongodb集群部署ReplicaSet+Sharding -摘自网络

    网上关于三种集群方式的搭建方式很多,都是分开来介绍的.Replica Set (复制集成)主要是做主从库的,但是没法实现负载均衡的效果,真正实现这个的,是Sharding(分片集群),通过数据分布在每 ...

  2. MongoDB集群部署 - 带访问控制的分片副本集

    1. 前言 Ceilometer将meter.event等数据保存在MongoDB中,之前将MongoDB部署在控制节点上,使用三副本模式,时间长了发现meter数据爆炸式增长,区区2T的磁盘捉襟见肘 ...

  3. 图解MongoDB集群部署原理(3)

    MongoDB的集群部署方案中有三类角色:实际数据存储结点.配置文件存储结点和路由接入结点. 连接的客户端直接与路由结点相连,从配置结点上查询数据,根据查询结果到实际的存储结点上查询和存储数据.Mon ...

  4. mongodb 集群部署--分片服务器搭建

    部署分片服务器 1.分片 为了突破单点数据库服务器的I/O能力限制,对数据库存储进行水平扩展,严格地说,每一个服务器或者实例或者复制集就是一个分片. 2.优势 提供类似现行增·长架构 提高数据可用性 ...

  5. MongoDB集群与LBS应用系列(二)--与Hadoop集成

    长期以来,我每开个系列,只有兴趣写一篇,很难持之与恒.为了克服这个长久以来的性格弱点,以及梳理工作半年的积累.最近一个月会写两篇关于Mongo在地理大数据方面的实践和应用,一篇关于推荐系统的初期准备过 ...

  6. mongo的集群部署

    # MongoDB 集群部署 ## 关键词 * 集群 * 副本集 * 分片 ## MongoDB集群部署 >今天主要来说说Mongodb的三种集群方式的搭建Replica Set副本集 / Sh ...

  7. centos7下安装部署mongodb集群(副本集模式)

    环境需求:Mongodb集群有三种模式:  Replica Set, Sharding,Master-Slaver.  这里部署的是Replica Set模式. 测试环境: 这里副本集(Replica ...

  8. 在Docker中安装和部署MongoDB集群

    此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...

  9. 手把手教你用Docker部署一个MongoDB集群

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...

随机推荐

  1. Go语言极速入门手册.go

    Github: https://github.com/coderzh/CodeTips /* gotips_test.go: Golang速学速查速用代码手册 Source: github.com/c ...

  2. bond-vlan-bridge

    拓扑介绍 Eth-Trunk5 down down 0% 0% 0 0 10GE1/0/5 down down 0.01% 0.01% 0 0 10GE2/0/5 down down 0.01% 0% ...

  3. python统计目录和目录下的文件,并写入excel表

    运营那边提出需求,有些媒体文件需要统计下 目录结构大概是这样的 每个目录下面都有很多文件,目录下面没子目录 我这里是模拟下创建的目录和文件,和运营那边说的目录结构都是一致的 想最终统计结果如下格式 我 ...

  4. A记录、CNAME和URL转发区别

    我们在做域名解析时,尤其是很多虚拟主机,大都会使用到CNAME解析,独立主机.VPS则用A记录较多,而URL转发则会在更换域名时用到,从设置效果来看,都是“解析”到一个“其它”URL地址,而实际上它们 ...

  5. 利用Clang(Python接口)来解析C++

    1 背景说明 最近希望利用开源库来解析C++头文件,并做一些自动翻译.自动注释之类的工作.经过两天的调研,发现clang最有希望满足需求.clang提供了三套接口来共外部使用,liblang最适合作为 ...

  6. idea导入svn项目

    起初和导入git项目一样,file - new - project from version control - ,这后面选 subversion. 在打开的 checkout from subver ...

  7. 协程gevent

    协程,利用线程在等待其他资源期间去执行其他的函数. gevent里面封装了greenlet,greenlet里面封装了yield. from gevent import monkey import g ...

  8. spring ref history Design philosophy

    一.前言 Spring 框架可以说是 Java 开发人员使用的最流行的应用程序开发框架之一.它目前由大量提供一系列服务的模块组成.包括模块容器,为构建横切关注点提供支持的面向切面编程(AOP),安全框 ...

  9. Linux7.2 UDEV

    1. 生成规则文件 touch /etc/udev/rules.d/99-oracle-asmdevices.rules 或者 touch /usr/lib/udev/rules.d/99-oracl ...

  10. TensorFlow的介绍和安装

    TensorFlow概要 由google Brain开源,设计初衷是加速机器学习的研究,2015年11月在GitHub上开源,2016年4月分布式版本,2017年发布了1.0版本,趋于稳定. Tens ...