设为首页 收藏本站
查看: 2054|回复: 0

[经验分享] mongodb主从环境搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-23 10:19:19 | 显示全部楼层 |阅读模式
    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。    它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
    *面向集合存储,易存储对象类型的数据。
    *模式自由。

    *支持动态查询。
    *支持完全索引,包含内部对象。
    *支持查询。
    *支持复制和故障恢复。
    *使用高效的二进制数据存储,包括大型对象(如视频等)。
    *自动处理碎片,以支持云计算层次的扩展性。
    *支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
    *文件存储格式为BSON(一种JSON的扩展)。
    *可通过网络访问。----------------以上内容摘自好搜百科
一、下载keepalived和mongodb源码包

    http://yunpan.cn/cLnMGSt7v2X4s  访问密码 956a
二、安装keepalived
         [iyunv@mongodb1 ~]yum -y install gccopenssl-devel popt popt-devel libnl libnl-devel                          kernel-devel                        #所需依赖包                       
         [iyunv@mongodb1~]# tar -zxvf keepalived-1.2.7.tar.gz
         [iyunv@mongodb1~]# cd keepalived-1.2.7.tar.gz
         [root@mongodb1keepalived-1.2.7]# ./configure         #安装三部曲
         [root@mongodb1keepalived-1.2.7]# make
         [root@mongodb1keepalived-1.2.7]# make install
三、拷贝配置文件和启动脚本   
         [iyunv@mongodb1~]# cp /usr/local/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/
         [iyunv@mongodb1~]# cp /usr/local/etc/sysconfig/keepalived  /etc/sysconfig
         [iyunv@mongodb1~]# mkdir /etc/keepalived
         [iyunv@mongodb1~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
         [iyunv@mongodb1~]# cp /usr/local/sbin/keepalived /usr/sbin/
四、添加开机启动
         [iyunv@mongodb1~]#chkconfig --add keepalived          #添加服务
                      [iyunv@mongodb1~]#chkconfig keepalived on             #开机启动
五、配置文件

         [iyunv@mongodb1~]#cat /etc/keepalived/keepalived.conf

         !Configuration File for keepalived
         vrrp_instanceMG_1 {
                state MASTER                                  #mongodb2为BACKUP
                interfaceeth 0
                virtual_router_id 55
                priority 100                                  #优先级,备份为90
                advert_int 1
                #nopreempt                                     #不抢占资源
                authentication {
                    auth_type PASS
                    auth_pass 1111
                }     
                virtual_ipaddress {
            192.168.0.10                                        #虚拟IP
             }
         }

六、[iyunv@mongodb1 ~]# service keepalived start
         正在启动 keepalived:                                      [确定]
七、以上配置,在从服务器上除了配置文件的微小差别,其它内容完全相同!
八、命令ip a可查看虚拟IP,成功则显示虚拟IP。
九、安装mongodb
         [iyunv@mongodb1 ~]# tar -zxvfmongodb-linux-x86_64-2.4.9.tgz  -C  /usr/local/
         [iyunv@mongodb1 local]# mv mongodb-linux-x86_64-2.4.9/ mongodb
         [iyunv@mongodb1 local]# cd mongodb/
         [iyunv@mongodb1 mongodb]# mkdir db
         [iyunv@mongodb1 mongodb]# mkdir logs
         [iyunv@mongodb1 mongodb]# cd bin
         [iyunv@mongodb1 bin]# cat mongodb.conf
                   dbpath=/usr/local/mongodb/db                    #数据库目录
                   logpath=/usr/local/mongodb/logs/mongodb.log     #日志
                   port=27017                                      #端口
                   fork=true
                   nohttpinterface=true
                   master=true                                     #主服务器
                   auth=true                                       #开启用户验证
十、从服务器配置文件
        [iyunv@mongodb2 bin]# cat mongodb.conf
                   dbpath=/usr/local/mongodb/db
                   logpath=/usr/local/mongodb/logs/mongodb.log
                   port=27017
                   fork=true
                   nohttpinterface=true
                   slave=true                                       #从服务器
                   source=192.168.0.100:27017                       #从主服务器复制
                   autoresync=true                                  #自动同步
                   auth=true
十一、启动mongodb(两台都启动)---命令路径可添加在bashrc中,如果不会,请百度,百度不到,请找你老大。
    [iyunv@mongodb1 bin]/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
十二、报错信息:当查看从服务器mongodb日志时显示以下信息,如果你在配置过程当中没有认证用户,主从搭建成功,请忽略报错,如果是其他报错,请百度。
QQ截图20151123101903.png
十三、几经波折,找到原因,对两台进行用户认证。
       [iyunv@mongodb1 bin]/usr/local/mongodb/bin/mongo          #进入数据库
        >use local
        >db.addUser('reql','reql')
      当用户认证之后,从服务器连上主服务器,显示OK,但在OK后显示errmsg:unauthorized,此为未授权
QQ截图20151123101911.png
十四、经分析,普通用户认证权限小,所以再进行管理员账户认证。(只在主服务器上认证)注意:在配置文件中的auth=true请注释掉,并重启mongodb
     [iyunv@mongodb1 bin]/usr/local/mongodb/bin/mongo          #进入数据库
        >use admin   
        >db.addUser('tank','test')

        >db.auth('tank','test')                               #数据库认证,必须做



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142517-1-1.html 上篇帖子: mongodb主从复制配置 下篇帖子: mongodb 无法链接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表