最近学习MongoDB,这两天在搭建复制集的时候碰到了不少问题,也踩了好多坑,现在在这里记录下来,以供自己和他人参考

(因为本人是初学者,所以遇到的问题也会比较初级,所以本文也比较适合初学者查阅)

背景:虚拟机:VirtualBox  linux系统: centOs6.9  MongoDB版本:2.4.8

第一部分安装Mongodb2.4.8

1. 下载MongoDB安装包,直接在linux命令行中: curl -o  http://.......

当然如果本地有安装包,可以借助SecureFXP 这个工具连接到自己的虚拟机上直接将本地的安装包复制粘贴到linux系统中

2.解压压缩包(由于linux的压缩方式和windows上不一样,所以下下来的是.tgz或者.gz文件别怕,这就是压缩包)

解压命令: tar -zxvf xxx.tzg 解压后会出现一个文件夹,里边有bin目录

3.在bin同级目录下创建 /data/db 用来保存数据文件 :mkdir -p data/db

4. 在bin同级目录下创建log目录

5.在/home/mongodb/log目录下创建mongodb.log文件   命令: touch mongodb.log

6.在后台启动mongodb服务, 后台启动要用 --fork参数 (使用--fork参数时必须指定logpath)

eg:/home/mongodb/bin/mongod --dbpath=/home/mongodb/data/db --logpath=/home/mongodb/log/mongodb.log --fork

7.也可以利用配置文件来开启mongodb服务

在bin目录下创建mongodb.cnf

用vim在该配置文件里写上:

            dbpath=/home/mongodb/data/db

logpath=/home/mongodb/log/mongodb.log

port=27010

fork=true

调用配置文件来启动MongoDB服务的命令: 在bin目录下: ./mongod -f mongodb.cnf

设置环境变量:

查看端口是否开放:

到这里MongoDB就安装完成了,下来是搭建复制集,在搭建复制集之前需将MongoDB服务关闭才行

第二部分 搭建复制集

背景介绍:我是在VirrtualBox上搭了3个虚拟机,每个虚拟机有不同的IP,但是都是用同一端口28010

第一步,在三台虚拟机上各创建各自的数据文件存储路径

这是其中一台的路径,设为r0,其他两台在同样位置创建,分别为r1 , r2(这里的 r0 r1 r2是目录)

第二步,在三个虚拟机上分别创建日志文件存储路径(看报错就靠他了)

第三步,在虚拟机上创建复制集key文件(用于标识同一复制集的私钥,如果三个节点key问价内容不一致,复制集将不能正常使用)

在三个虚拟机的key目录下创建r0,r1,r2文件用于存储复制集的key信息

第四部 在三台虚拟机上分别启动MongoDb服务

第五步,进一步配置节点信息,并初始化Replica Sets环境

在这里踩到坑,折腾了一个下午,首先配置节点信息只需要在任意一个节点配置就好,其次初始化环境时会报错

这个主要时因为防火墙的原因,所以要在防火墙中将这个28010端口打开才行

打开防火墙:

打开防火墙需要先将用户 su root才行,不然没权限,(再三个虚拟机上都需要将防火墙打开)

打开防护墙后需要将Mongodb服务重启后重新配置节点然后初始化信息就会成功

现在复制集就已经成功搭起来了

复制集启动后,就可以查看复制集状态,分析更想运行指标

成功后,在从库中查询主库信息还是会报错:

这时需要这样:这样就可以成功的查询了

暂时就这么多,准备下班了,等以后想改到什么再更吧

好吧,又来了,周一上班我把自己的虚拟机跑起来后准备把复制集起来,等到我三台虚拟机的三个MongoDB服务都起起来后可是我用: mongo -port 28010 you连不进去了

显示找不到 mongo 可是明明上周五我也经这样连进去了呀,这次死活进不去

上网查了下应该是环境变量没有设置,下边我重新配置了环境变量就成功连进去了

问题解决

MongoDB之Replica Sets环境搭建的更多相关文章

  1. MongoDB 4.0 开发环境搭建集群

    环境准备 Liunx 服务器一台 以下示例为单机版安装集群, 没有分片 MongoDB 安装 1.下载 MongoDB tgz 安装包: 可以从下载中心下载: https://www.mongodb. ...

  2. MongoDB(一)环境搭建与初始配置

    前言 最近的项目中需要用到MongoDB,所这段时间需要学习知道怎么去使用这个数据库. 这里我先简单的介绍一下什么是MongoDB,后面还会详细的介绍: MongoDB 是一个面向文档的通用型数据库, ...

  3. window下mongodb的安装和环境搭建

    一.下载安装包或者压缩包 1.下载 mongodb官网社区版下载页面 开发者一般使用社区版即可 3.6.3版本仅支持64位版本 2.安装 mongo compass是一个图形界面管理工具,安装过程非常 ...

  4. 深入浅出MongoDB(三)环境搭建

    上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...

  5. 【mongodb 学习一】环境搭建之 mac 下连接 mongodb 的UI 客户端

    记录下 mongodb 的学习 懒得自己达 mongodb 的服务器了 虽然一句命令就能搞定了 brew install mongodb 可是考虑到以后的应用还是放在网上的,就直接用现成的服务吧 下载 ...

  6. [置顶] 深入浅出MongoDB(三)环境搭建

    上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...

  7. 学习MongoDB(Troubleshoot Replica Sets) 集群排除故障

    Test Connections Between all Members(集群中节点网络测试) 在进行Mongodb集群时,每个节点的网络都需要互动,假设有3个服务器节点. m1.example.ne ...

  8. MongoDB分片集群环境搭建记录

    --创建配置服务器mongod.exe --logpath "G:\USERDATA\MONGODB\Test2\Log\mongodb.log" --logappend --db ...

  9. [唐胡璐]MongoDB - 在Win7下环境搭建

    做Selenium一直都是用的Excel来管理数据驱动的数据,现在想用MongoDB来管理,所以对MongoDB做一个简单的了解应用: Include the below items:1. what ...

随机推荐

  1. net core建站

    带你快速进入.net core的世界   阅读目录   vmware虚拟机安装 CentOS7.3安装 Windows的客户端软件 .NET Core1.1安装 nginx1.12.1安装 配置防火墙 ...

  2. HDU 1160 FatMouse's Speed LIS DP

    http://acm.hdu.edu.cn/showproblem.php?pid=1160 同样是先按它的体重由小到大排,相同就按speed排就行. 这样做的好处是,能用O(n^2)枚举,因为前面的 ...

  3. (转)nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录

    nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录 原文:http://www.cnblogs.com/kevingrace/p/6165572.html Nginx的geo模块 ...

  4. 专题《一》 mysql优化

    从今天开始,在这里记录面试会问的问题,针对java高级开发,架构师方向. 1.数据库设计要合理.开发经验不同  设计表水平不同  影响后面操作 三范式:1------------原子约束,每列不可分割 ...

  5. vi命令使用

    在vi下如何显示行号? 按Esc切换到命令行模式,输入: :set nu 如果您想每次进入vi都标出行号,编辑~/.vimrc文件.也就是在用户的主目录下,编辑存档.vimrc文件.里边写一行: se ...

  6. clickhouse源码Redhat系列机单机版安装踩坑笔记

    前情概要 由于工作需要用到clickhouse, 这里暂不介绍概念,应用场景,谷歌,百度一大把. 将安装过程踩下的坑记录下来备用 ClickHouse源码 git clone安装(直接下载源码包安装失 ...

  7. 单个页面Request编码方式的改变,无需改动Web.config~

    搞一个东西,从别人的接口接一段中文,URL传输,怎么都有乱码~~ 得到对方的编码方式是gb2312,于是用HttpUtility.UrlDecode(_smssend_content, System. ...

  8. 老技术,UrlRewriter实现全站伪静态

    看人家做淘宝客很火,就做了个网站.seo的话当然需要全站伪静态了,问了下空间商不支持mvc,尼玛,好吧,isapi_rewrite支持吗?“额,不支持!” -_-! 额,好吧,搬出n年前的东西了:微软 ...

  9. Mac、Linux下两个Emacs共享一个配置文件

    Mac.Linux下两个Emacs共享一个配置文件 有些嵌入式的实验需要在Linux进行,就安装了RHEL6.4的虚拟机,下载并编译了Emacs. 在Linux的.emacs文件中加入以下语句,即可引 ...

  10. this的那点事

    对于很多初学者,this总是搞得我们晕头转向. 现在,我就简单的总结一下关于this的那点事. this在函数定义时经常是不能确定的,只有在函数执行的时候才能最终确定this的归属.this总是指向最 ...