当前位置: 首页 > news >正文

mongodb安装-配置文件

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

清单:

2台节点机器+1台投票机器(因为偶数台,凑够奇数台,因为选举时,多与半数才能成功选举,如果2台,死一台,只剩一台,少于1/2,是不能正常进行选举的,所以要加一台投票机器,(其实不一定非奇数台,确保死一台仍有半数以上的机器就行,不过建议奇数台))

10.13.2.51:27017

10.13.2.52:27017

10.13.2.151:27017(arbiters)

1台mongos机器

10.13.2.112:27107

3台config机器

10.13.2.91:27109

10.13.2.92:27109

10.13.2.102:27109

安装步骤:

  1. 先安装一个replica set(这里也可以先安装config和mongos机器,再安装replica set,顺序无所谓)

  2. 安装config机器

  3. 安装mongos机器

安装一个replica set

解压安装

tar zxvf mongodb-linux-x86_64-3.0.3.tgz
mv mongodb-linux-x86_64-3.0.3 mongodb
chown -R mongodb.mongodb mongodb # 此处mongodb用户运行,没有的话useradd mongodb添加

创建必要的文件夹

mkdir log conf db db/rs0

配置数据节点mongodb.conf

systemLog:
  destination: file
  path: "/home/data/mongodb/log/rs0.log"
  quiet: true
  logAppend: true # 追加写
  timeStampFormat: iso8601-utc
  verbosity: 0 # 日志级别
# component:
#   query:
#     verbosity: 2
storage:
  dbPath: "/home/data/mongodb/db/rs0"
  engine: "wiredTiger" # 采用wiredTiger引擎
  wiredTiger:
    engineConfig:
      cacheSizeGB: 8
    collectionConfig:
      blockCompressor: snappy # 注意snappy没安装的话要安装
  directoryPerDB: true # 是否每个数据库一个文件夹
  indexBuildRetry: false # 重启等情况下是否重建索引
  journal:
    enabled: true
processManagement:
  fork: true # 后台运行
  pidFilePath: "/home/data/mongodb/db/rs0/mongodb.pid"
net:
# bindIp: 192.168.11.52
  port: 27017 # 对外的端口
  http:
    enabled: false
    RESTInterfaceEnabled: false
operationProfiling:
  slowOpThresholdMs: 100
  mode: "slowOp" # 记录慢查询
replication:
  oplogSizeMB: 100
  replSetName: "rs0" # 同一个replica set名称要一样
  secondaryIndexPrefetch: "all"
sharding:
  clusterRole: "shardsvr" # 作为分片的一员

配置投票节点(arbiters)conf

# 除了一些文件名的更改外,另外把journal.enabled: false,其余都一样
systemLog:
  destination: file
  path: "/home/data/mongodb/log/arb0.log"
  quiet: true
  logAppend: true
  timeStampFormat: iso8601-utc
  verbosity: 0
# component:
#   query:
#     verbosity: 2
storage:
  dbPath: "/home/data/mongodb/db/arb0"
  engine: "wiredTiger"
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
    collectionConfig:
      blockCompressor: snappy
  directoryPerDB: true
  indexBuildRetry: false
  journal:
    enabled: false
processManagement:
  fork: true
  pidFilePath: "/home/data/mongodb/db/arb0/mongodb.pid"
net:
# bindIp: 192.168.11.52
  port: 27017
  http:
    enabled: false
    RESTInterfaceEnabled: false
operationProfiling:
  slowOpThresholdMs: 100
  mode: "slowOp"
replication:
  oplogSizeMB: 100
  replSetName: "rs0"
  secondaryIndexPrefetch: "all"
sharding:
  clusterRole: "shardsvr"

各机器启动

bin/mongod -f conf/mongodb.conf

连接mongo,配置replica set

bin/mongo  # 默认连接本机的27017端口
config = {_id:"rs0", members: [  
    {_id: 0, host:"10.13.2.51:27017", priority:2},  
    {_id: 1, host:"10.13.2.52:27017", priority:1},
    {_id: 2, host:"10.13.2.151:27017", arbiterOnly:true}  
    ]  
};
  # 此处注意arbiterOnly,意指投票节点
  # priority,选举时优先级,越大优先级越高
rs.initiate(config)

至此replica set配好了一个

下面安装config机器


安装config机器

创建必要文件夹

mkdir log conf configdb

配置conf

systemLog:
  destination: file
  path: "/home/data/mongodb/log/config.log"
  quiet: true
  logAppend: true
  timeStampFormat: iso8601-utc
  verbosity: 0
# component:
#   query:
#     verbosity: 2
storage:
  dbPath: "/home/data/mongodb/configdb"
  engine: "wiredTiger"
  wiredTiger:
    engineConfig:
      cacheSizeGB: 8
    collectionConfig:
      blockCompressor: snappy
  directoryPerDB: true
  indexBuildRetry: false
  journal:
    enabled: true
processManagement:
  fork: true
  pidFilePath: "/home/data/mongodb/configdb/mongodb.pid"
net:
# bindIp: 192.168.11.52
  port: 27019
  http:
    enabled: false
    RESTInterfaceEnabled: false
sharding:
  clusterRole: "configsvr"

各台分别启动

bin/mongod -f conf/mongodb.conf

至此,config机器安装完毕

下面安装mongos机器


安装mongos机器

创建必要文件夹

mkdir log conf

配置mongos.conf

systemLog:
  destination: file
  path: "/home/data/mongodb/log/mongos.log"
  quiet: true
  logAppend: true
  timeStampFormat: iso8601-utc
processManagement:
  fork: true
net:
  port: 27017
sharding:
  configDB: 10.13.2.91:27019,10.13.2.92:27019,10.13.2.102:27019

启动

bin/mongos -f conf/mongos.conf

连接mongos,配置分片

bin/mongo 10.13.2.112:27017
sh.addShard( "rs0/10.13.2.51:27017" ) # 2.0.3版本以前要列出全部rs0里的组员,之后的则不必了。添加单个mongod则直接sh.addShard( "mongodb0.example.net:27017" ),前面没有replica set的名字
sh.status() # 查看分片状态


至此复制集+分片集群安装完毕(这里只加了一个分片)

后续加分片的话,步骤就是:

  1. 创建一个replica set

  2. 连接mongos,sh.addShard( "rs1/xxxxxx:27017" ), 可实现扩容,实现负载等


转载于:https://my.oschina.net/u/914655/blog/423205

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十六:VGA模块
  • 开源收藏
  • MDT 2013 从入门到精通之磁盘分区调整
  • High Quality Coding
  • 精心收集的必须熟悉的vim快捷键操作
  • Game publishing request was abnormally terminated (ID 27492).
  • iOS8推送消息的回复处理速度
  • Tiny模板编辑器
  • windows整体性能检测
  • 我的书签
  • 16 行为型模式-----备忘录模式
  • Nodejs部署再思考
  • root权限引发的/sbin/init不存在故障的血案
  • python代码`if not x:` 和`if x is not None:`和`if not x is None:`
  • USB那点事3 -使用端口2作为custom HID的传输(转)
  • const let
  • es6要点
  • github从入门到放弃(1)
  • Java 多线程编程之:notify 和 wait 用法
  • Java反射-动态类加载和重新加载
  • Mithril.js 入门介绍
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • mysql_config not found
  • SQLServer之创建数据库快照
  • uva 10370 Above Average
  • 不上全站https的网站你们就等着被恶心死吧
  • 跨域
  • 实战|智能家居行业移动应用性能分析
  • 项目管理碎碎念系列之一:干系人管理
  • 用Python写一份独特的元宵节祝福
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • !!Dom4j 学习笔记
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • # 数据结构
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (175)FPGA门控时钟技术
  • (C++)八皇后问题
  • (day18) leetcode 204.计数质数
  • (十)T检验-第一部分
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (正则)提取页面里的img标签
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)scrum常见工具列表
  • (转)Windows2003安全设置/维护
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .net core + vue 搭建前后端分离的框架
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .Net 基于MiniExcel的导入功能接口示例
  • .net操作Excel出错解决
  • .NET轻量级ORM组件Dapper葵花宝典
  • .考试倒计时43天!来提分啦!
  • @test注解_Spring 自定义注解你了解过吗?
  • [ NOI 2001 ] 食物链