MongoDB集群配置笔记二(实战)
单台mongodb配置文件:
dbpath=/opt/mongodb/data
logpath=/opt/mongodb/logs/mongodb.log
logappend=true
fork=true
bind_ip=192.168.209.128
port=27017
启动MongoDB
./mongod -f mongodb.cfg
MongoDB 主从搭建
MongoDB 4.0之后不再支持该配置方法:
Master配置文件如下:
dbpath=/opt/mongodb/master-slave/master/data
logpath=/opt/mongodb/master-slave/master/logs/mongodb.log
logappend=true
fork=true
bind_ip=192.168.209.128
port=27001
master=true //4.0后不再支持
//source=192.168.x.x:27002
Slaver配置如下:
.......... slave=true ............
MongoDB 副本集
简单来说就是集群当中包含了多份数据,保证主节点挂掉了,备节点能继续提供数据服务,提供的前提就是数据需要和主节点一致。
Mongodb(M)表示主节点,Mongodb(S)表示备节点,Mongodb(A)表示仲裁节点。
1. 主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。
默认设置下,主节点提供所有增删查改服务,备节点不提供任何服务。但是可以通过设置使备节点提供查询服务,这样就可以减少主节点的压力,当客户端进行数据查询时,请求自动转到备节点上。这个设置叫做Read Preference Modes,同时Java 客户端提供了简单的配置方式,可以不必直接对数据库进行操作。
2.仲裁节点是一种特殊的节点,它本身并不存储数据,主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点,所以客户端不需要连接此节点。这里虽然只有一个备节点,但是仍然需要一个仲裁节点来提升备节点级别。
主, 备, 仲裁节点配置文件如下:
dbpath=/opt/mongodb/replset/xx/data
logpath=/opt/mongodb/replset/xx/logs/mongodb.log
logappend=true //注意: 这里是关键, 记录集群的名字
replSet=shard002
bind_ip=192.168.x.x
port=27017
fork=true
启动各节点之后, 配置主,备,仲裁节点
#连接好其中一台主机, 方便配置
mongo 192.168.x.x:27017
use admin
cfg={_id:"shard002",members:[{_id:0,host:'192.168.x.128:27017',priority:9},{_id:1,host:'192.168.x.129:27017',priority:1},{_id:2,host:'192.168.x.130:27017',arbiterOnly:true}]}; #使配置生效
rs.initiate(cfg) rs.status()
注意: 对于仲裁节点,需要有个特别的配置——arbiterOnly:true。这个千万不能少了,不然主备模式就不能生效。
MongoDB 数据分片:
服务器结构图如下:
1). 数据节点配置文件:
dbpath=/opt/mongodb/shard/replset/replica2/data
logpath=/opt/mongodb/shard/replset/replica2/logs/mongodb.log
logappend=true
fork=true
bind_ip=192.168.x.x
port=27002
replSet=shard001
shardsvr=true
使数据节点集群生效
//#连接上其中一台数据服务器,进行其余配置
mongo 192.168.209.128:27001 #ip 和port 是某个节点的地址 cfg={_id:"shard001",members:[{_id:0,host:'192.168.209.x:27001'},{_id:1,host:'192.168.209.x:27002'},{_id:2,host:'192.168.209.x:27003'}]}; //#使配置生效
rs.initiate(cfg)
2). config 集群配置文件如下:
dbpath=/opt/mongodb/shard/configsvr/config2/data
configsvr=true
//此处端口号根据实际应用调整
port=28002
fork=true
logpath=/opt/mongodb/shard/configsvr/config2/logs/mongodb.log
replSet=configrs
logappend=true
bind_ip=192.168.209.x
启动config集群,并使节点集群生效
##连接上其中一台数据服务器,进行其余配置
mongo 192.168.209.x:28001 #先切换到admin
use admin cfg={_id:"configrs",members:[{_id:0,host:'192.168.209.x:28001'},{_id:1,host:'192.168.209.x:28002'},{_id:2,host:'192.168.209.x:28003'}]}; #使配置生效
rs.initiate(cfg)
3). 路由集群配置文件如下:
//此处配置config集群的地址
configdb=configrs/192.168.209.x:28001,192.168.209.x:28002,192.168.209.x:28003
//此处端口号根据实际应用调整
port=29000
fork=true
logpath=/opt/mongodb/shard/routesvr/logs/mongodb.log
logappend=true
bind_ip=192.168.209.x
4). 配置Replica Set 分片信息
//#这里必须连接路由节点
mongo 192.168.209.x:29000 //#连接上数据集群中的其中一台,自动同步集群中其他机器信息
sh.addShard("shard001/192.168.209.x:27001"); //#连接上collection[testdb], 并设置分片
use testdb //#testdb is database name
sh.enableSharding("testdb") sh.shardCollection("testdb.testcon",{"name":”hashed”}) db.collection.status()
MongoDB集群配置笔记二(实战)的更多相关文章
- MongoDB集群配置笔记一
MongoDB 的部署方案有单机部署.复本集(主备)部署.分片部署.复本集与分片混合部署.混合的部署方式如图: 分片集群的构造 (1)mongos :数据路由,和客户端打交道的模块.mongos本身没 ...
- MongoDB集群配置笔记
firewall-cmd --query-port=27017/tcp yum install system-config-firewall-tui firewall-cmd --zone=publi ...
- 实例:Mongodb集群配置过程
最近因为一些项目公司开始采用Mongodb做为大量的数据存储,通过网络上大量的资源自己已经掌握一套可行的Mongodb集群配置过程,Mongodb具有无规则存储.大数据存储.多平台支持.强大的扩展插件 ...
- Mongodb集群配置(sharding with replica set)
转自:http://blog.csdn.net/zhangzhaokun/article/details/6269514 前言 最近在研习MongoDB集群,找到一个不错的例子,加了几句,按照自己的理 ...
- mongodb集群配置及备份恢复
Mongodb安装: 编辑/etc/yum.repos.d/mongodb.repo,添加以下: [MongoDB] name=MongoDB Repository baseurl=https://r ...
- zookeeper集群配置与启动——实战
1,准备: A:三台linxu服务器: 10.112.29.177 10.112.29.172 10.112.29.174 命令 hostname 得到每台机器的 hostname vm-10-112 ...
- mongodb集群+分片部署(二)
机器:10.165.38.68 10.165.38.72 部署包:mongodb-linux-x86_64-rhel55-3.0.2.tgz(百度云盘下载地址:http://pan.baidu. ...
- mongodb集群配置副本集
测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...
- mongodb集群配置分片集群
测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...
随机推荐
- PCH 文件 和 ProjectName-Bridging-Header 配置
1.简介 PCH文件是Xcode编程中全局引用共享的文件.可以在这里引入头文件或者宏定义来方便程序中多个文件访问. 2.PCH文件创建 打开工程 New File… -> iOS Other - ...
- java 的Colections类(Java也有python类似列表的反转、排序等方法)
1.Collections类概述 针对集合操作 的工具类,都是静态方法 2.Collections成员方法 public static <T> void ...
- Presto上使用SQL遇到的一些坑
本文转载自:https://segmentfault.com/a/1190000013120454?utm_source=tag-newest 最近换了新工作,在数据处理方面,公司是用Presto连接 ...
- mongodb安全权限设定
mongodb安全权限设定 如何防范此类攻击? 做好访问认证.打开你的MongoDB配置文件(.conf),设置为auth=true 做好防火墙设置.建议管理者关闭27017端口的访问. Bind_i ...
- linux 3
-- Linux -- 开心的一天 vi 所有的 unix like 系统都会内置 vi 文本编辑器 vim 较多使用的,可以主动的以字体颜色辨别语法的正确性,方便程序设计 vi/vim 的使用 ...
- 每日linux命令学习-read命令
read命令 作用 从标准输入中读取一行. 语法 read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p pro ...
- 小纪a
感觉挺好的两段代码:虽然已经存在,但是这是我自己敲出来的,没有照抄,真心话,所以记录下来. 1.菱形代码: #include <stdio.h>void main() { int i, j ...
- 再论sklearn分类器
https://www.cnblogs.com/hhh5460/p/5132203.html 这几天在看 sklearn 的文档,发现他的分类器有很多,这里做一些简略的记录. 大致可以将这些分类器分成 ...
- myBatis框架之入门(一)
什么是框架 框架就是一个架子,表演节目,舞台已经搭建好,表演什么节目,看自己的需求了. 框架是一个半成品,对于Java语言来说,框架就是封装了别人的代码.在框架的基础上我们在进一步开发,拿来主义. 框 ...
- selenium 模拟手机
import time from selenium import webdriver mobileEmulation = {'deviceName': 'Galaxy S5'} options = w ...