MongoDB 4.0 开发环境搭建集群
环境准备
Liunx 服务器一台
以下示例为单机版安装集群, 没有分片
MongoDB 安装
1.下载 MongoDB tgz 安装包:
可以从下载中心下载:
https://www.mongodb.com/download-center#production
Shell:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon2-4.0.1.tgz
2.解压缩下载的压缩文件
使用下面的命令解压缩刚才下载的文件
tar -zxvf mongodb-linux-*-4.0.1.tgz
3.添加路径到环境变量
打开 /etc/profile ,然后添加下面的脚本进去:
export PATH=<mongodb-install-directory>/bin:$PATH
为你的程序安装目录,然后刷新环境变量:
source /etc/profile
集群搭建
1.为每个实例创建目录
创建文件夹:
mkdir -p /opt/mongodb/rs0-0 /opt/mongodb/rs0-1 /opt/mongodb/rs0-2
2.创建配置文件
切换到 rs0-0 目录中,创建配置文件touch mongod.conf,内容为:
#mongod.conf
systemLog:
destination: file
logAppend: true
path: /opt/mongodb/rs0-0/logs/mongodb.log
storage:
dbPath: /opt/mongodb/rs0-0/data
journal:
enabled: true
processManagement:
fork: true # fork and run in background
pidFilePath: /opt/mongodb/rs0-0/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
replication:
replSetName: rs0
切换到 rs0-1 目录中,创建配置文件touch mongod.conf,内容为:
#mongod.conf
systemLog:
destination: file
logAppend: true
path: /opt/mongodb/rs0-1/logs/mongodb.log
storage:
dbPath: /opt/mongodb/rs0-1/data
journal:
enabled: true
processManagement:
fork: true # fork and run in background
pidFilePath: /opt/mongodb/rs0-1/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27018
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
replication:
replSetName: rs0
切换到 rs0-2 目录中,创建配置文件touch mongod.conf,内容为:
#mongod.conf
systemLog:
destination: file
logAppend: true
path: /opt/mongodb/rs0-2/logs/mongodb.log
storage:
dbPath: /opt/mongodb/rs0-2/data
journal:
enabled: true
processManagement:
fork: true # fork and run in background
pidFilePath: /opt/mongodb/rs0-2/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27019
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
replication:
replSetName: rs0
3.启动实例
实例0:
mongod --replSet rs0 --port 27017 --smallfiles --oplogSize 128
实例1:
mongod --replSet rs0 --port 27018 --smallfiles --oplogSize 128
实例2:
mongod --replSet rs0 --port 27019 --smallfiles --oplogSize 128
4.配置集群
启动起来之后,使用mongo客户端命令切换到其中一个实例上
mongo --port 27017
然后在 Mongo shell中输入:
rsconf = {
_id: "rs0",
members: [
{
_id: 0,
host: "<hostname>:27017"
},
{
_id: 1,
host: "<hostname>:27018"
},
{
_id: 2,
host: "<hostname>:27019"
}
]
}
替换 为你的主机名或者ip地址,然后执行:
rs.initiate( rsconf )
输入 rs.conf() 来查看你的集群信息:
{
"_id": "rs0",
"version": 1,
"protocolVersion": NumberLong(1),
"writeConcernMajorityJournalDefault": true,
"members": [
{
"_id": 0,
"host": "<hostname>:27017",
"arbiterOnly": false,
"buildIndexes": true,
"hidden": false,
"priority": 1,
"tags": {},
"slaveDelay": NumberLong(0),
"votes": 1
},
{
"_id": 1,
"host": "<hostname>:27018",
"arbiterOnly": false,
"buildIndexes": true,
"hidden": false,
"priority": 1,
"tags": {},
"slaveDelay": NumberLong(0),
"votes": 1
},
{
"_id": 2,
"host": "<hostname>:27019",
"arbiterOnly": false,
"buildIndexes": true,
"hidden": false,
"priority": 1,
"tags": {},
"slaveDelay": NumberLong(0),
"votes": 1
}
],
"settings": {
"chainingAllowed": true,
"heartbeatIntervalMillis": 2000,
"heartbeatTimeoutSecs": 10,
"electionTimeoutMillis": 10000,
"catchUpTimeoutMillis": -1,
"catchUpTakeoverDelayMillis": 30000,
"getLastErrorModes": {},
"getLastErrorDefaults": {
"w": 1,
"wtimeout": 0
},
"replicaSetId": ObjectId("5b7412b72362045708008077")
}
}
本文地址:https://www.cnblogs.com/savorboard/p/mongodb-4-cluster-install.html
作者博客:Savorboard
本文原创授权为:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
MongoDB 4.0 开发环境搭建集群的更多相关文章
- android 5.0开发环境搭建
Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统.本文将就最新的Android 5.0 开发环境搭建做详细介绍. 工具/原料 jdk- ...
- Hadoop-2.8.0 开发环境搭建(Mac)
Hadoop是一个由Apache基金会开发的分布式系统架构,简称HDFS,具有高容错性.可伸缩性等特点,并且可以部署在低配置的硬件上:同时,提供了高吞吐量的数据访问性能,适用于超大数据集的应用程序,以 ...
- CC++初学者编程教程(2) Microsoft Visual C++ 6.0开发环境搭建
上一篇演示的是如何安装VS2010,本文演示的是如何安装Microsoft Visual C++ 6.0 简称VC6. 有同学经常VC6都是很古董的版本了,为啥他还存在,不得不说VC6是微软一个很经典 ...
- IMX6开发板Qtopia2.2.0开发环境搭建以及编译镜像
搭建 Qtopia2.2.0 开发环境,需要先搭建 Android 的编译环境,然后在 Android 编译环境的基础上,再搭建 Qtopia2.2.0 编译环境.以下内容基于迅为-iMX6开发板.Q ...
- Cocos2d-x.3.0开发环境搭建
配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...
- 2、【Spark】Spark环境搭建(集群方式)
Spark集群方式搭建结构如图所示,按照主从方式.
- AndroidStudio2.0开发环境搭建
实验内容 下载安装Android Studio 配置使用环境 实验要求 下载安装Android Studio 基本环境配置 实验步骤 1.首先从安卓开发者网站下载最新的Android Studio h ...
- ubuntu16.04 HyperLedger Fabric 1.2.0 开发环境搭建
安装准备 1. 安装git.cRUL.gcc/g++和make $ sudo apt-get update $ sudo apt-get install build-essential git cur ...
- 在VS2015中的SDL2.0开发环境搭建
写本文的目的在于使用网络上的教程及官方的教程(如:http://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-visual-studio) ...
随机推荐
- FMDB的简单实用
一.FMDB 的框架引入点击此处去GitHub下载 二.FMDB 的优缺点 优点:使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码:对比苹果自带的Core Data框架,更加轻量级和灵活:提供了 ...
- ES7 Async/Await 陷阱
什么是Async/Await ES6新增了Promise函数用于简化项目代码流程.然而在使用promise时,我们仍然要使用callback,并且并不知道程序要干什么,例如: function doS ...
- 双层嵌套json字符串(即json对象内嵌json数组)解析为Map
之前我层写过一篇文章,介绍了json与map的相互转化,但当时只涉及到单一的json对象或json数组,对json对象内嵌套这json数组的json字符串无法处理,这篇文章主要解决这个问题. 之前的那 ...
- border-radius 圆角
border-radius:3px; 参数的单位可以使绝对的像素px,也可以用相对单位%; 参数顺序是左上角,右上角,右下角,左下角. 圆角: div{width: 100px;height: 10 ...
- Python 函数式编程和面向对象编程
函数式编程 函数:function.函数式:functional,一种编程范式.函数式编程是一种抽象计算机的编程模式.函数!= 函数式(如计算!=计算机) 如下是不同语言的抽象 层次不同 高阶函数 ...
- reader-write.go
{ return n, err } r.bucket.Wait(int64(n)) return n, err } type writer struct { ...
- 安卓---TextVies、Button、EditText
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- bzoj [HNOI2008]Cards
群论第一题. 发现这题也是有颜色个数限制的,所以不能用$Polya$,只能用$Burnside$ $L={\frac{1}{|G|}}{\sum_{i=1}^{m}{D(a_{i})}}$ 先$dfs ...
- 【爆料】-《阿伯丁大学毕业证书》AU一模一样原件
☞阿伯丁大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&a ...
- 异步处理,Event Souring,事务补偿,实现最终一致性和服务的弹性和批处理
这段时间一直学习极客时间皓哥的分布式架构,关于异步处理有一些感想用sketch做了一个图,展示上直观一些,和大家交流下