zoukankan      html  css  js  c++  java
  • MongoDB之Replica Sets环境搭建

    最近学习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 可是明明上周五我也经这样连进去了呀,这次死活进不去

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

    问题解决

  • 相关阅读:
    mysql备份与binlog
    linux释放cached
    linux下mysql迁移到其他分区
    java分析jvm常用指令
    Mac下安装WebStrom
    Final
    Spring 复习
    ubuntu 14.4安装java环境
    php复习
    java 重难点
  • 原文地址:https://www.cnblogs.com/ss-py/p/8360810.html
Copyright © 2011-2022 走看看