mongodb集群部署
一、安装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集群部署的更多相关文章
- Mongodb集群部署ReplicaSet+Sharding -摘自网络
网上关于三种集群方式的搭建方式很多,都是分开来介绍的.Replica Set (复制集成)主要是做主从库的,但是没法实现负载均衡的效果,真正实现这个的,是Sharding(分片集群),通过数据分布在每 ...
- MongoDB集群部署 - 带访问控制的分片副本集
1. 前言 Ceilometer将meter.event等数据保存在MongoDB中,之前将MongoDB部署在控制节点上,使用三副本模式,时间长了发现meter数据爆炸式增长,区区2T的磁盘捉襟见肘 ...
- 图解MongoDB集群部署原理(3)
MongoDB的集群部署方案中有三类角色:实际数据存储结点.配置文件存储结点和路由接入结点. 连接的客户端直接与路由结点相连,从配置结点上查询数据,根据查询结果到实际的存储结点上查询和存储数据.Mon ...
- mongodb 集群部署--分片服务器搭建
部署分片服务器 1.分片 为了突破单点数据库服务器的I/O能力限制,对数据库存储进行水平扩展,严格地说,每一个服务器或者实例或者复制集就是一个分片. 2.优势 提供类似现行增·长架构 提高数据可用性 ...
- MongoDB集群与LBS应用系列(二)--与Hadoop集成
长期以来,我每开个系列,只有兴趣写一篇,很难持之与恒.为了克服这个长久以来的性格弱点,以及梳理工作半年的积累.最近一个月会写两篇关于Mongo在地理大数据方面的实践和应用,一篇关于推荐系统的初期准备过 ...
- mongo的集群部署
# MongoDB 集群部署 ## 关键词 * 集群 * 副本集 * 分片 ## MongoDB集群部署 >今天主要来说说Mongodb的三种集群方式的搭建Replica Set副本集 / Sh ...
- centos7下安装部署mongodb集群(副本集模式)
环境需求:Mongodb集群有三种模式: Replica Set, Sharding,Master-Slaver. 这里部署的是Replica Set模式. 测试环境: 这里副本集(Replica ...
- 在Docker中安装和部署MongoDB集群
此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...
- 手把手教你用Docker部署一个MongoDB集群
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...
随机推荐
- Linux第二节课学习笔记
虚拟机不一定要安装12版本,但仅有12版本支持RHCE模拟考试环境,激活码可以百度. 在创建新的虚拟机过程中,安装客户机操作系统时需要选择稍后安装操作系统,否则会默认最小化安装导致后面课上很多命令不能 ...
- 常规DP专题练习
POJ2279 Mr. Young's Picture Permutations 题意 Language:Default Mr. Young's Picture Permutations Time L ...
- R实用小技巧
输出重定向 # 文本重定向 # cat cat("hello",file="D:/test.txt", append=T) # sink("filen ...
- go 的数据类型
bool string int int8 int16 int32(rune) int64 uint uint8(byte) uint16 uint32 uint64 uintptr:无符号整型,用于存 ...
- 剑指offer 6.查找和排序 旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋 ...
- docker-solr 使用host模式修改默认的8983端口号
1.使用root账号进入docker-solr docker exec -it 127627ab6247 -u root /bin/bash 2.安装vim apt-get update apt-ge ...
- IOS屏幕旋转思路和实践
这段时间同事在做一个直播项目,项目有个需求:一个界面需要手动设置屏幕的方向,设置好之后方向不能变化.完成这个需求花了特别大的精力,归因是网上关于屏幕旋转的知识比较凌乱,解决问题花费不少时间,最后决定把 ...
- 工控随笔_04_西门子_解决Step 7软件因授权问题不能打开的方式和方法
西门子的软件是授权软件,只有经过授权认证的用户才能使用,如果没有通过授权认证则不能 正常的使用软件的相关功能. 一.西门子授权不成功问题 如上图所示报故障代码: 000001-0505.报警文本为:未 ...
- 多线程、互斥锁、异步、GIL
多线程-threading python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便被使用 from threading imp ...
- note 6 函数
函数 完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字 通过函数名执行 数学 function(x) = x^2 - 2x + 1 abs(x) #求x的绝对值 定义函数 定 ...