CentOS7安装mongoDB数据库

时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次

mongoDB是目前发展比较好的NOSQL数据库之一,它对大数据和空间数据的存贮有着亮眼的表现!

通常在企业级应用中mongoDB都会部署在linux系统上对于小白来说想在linux上部署一套完整的mongoDB绝对不是什么easy的事,我也是在最近一段摸爬滚打的尝试中才成功的,写下这篇博客也是为了以后自己也可以查阅。

首先需要的就是部署所需要的环境了我使用的是VMware虚机,由于现在工作的地方比较资料比较富裕,给我提供了俩台价值5W的工作站电脑(绝对给力)。我在这俩台电脑上分别安装了4台centos的虚机并且配置好环境。



这是我用到的虚机的清单需要说明一下:

1-4
,5-8分别是位于俩台工作站上的4台虚机,每个虚机上面安装一个mongod,ip自己分配,其中在1,2和5上分别安装了config,config
是mongos用来管理mongod的具体原理这里就不说了,注意到5后面有个发布这个在本文就不介绍了是另一个功能就是nginx发布瓦片和wmts。
最后9和10是安装在第三台电脑上的应用服务器这里就是只除了那俩台工作站之外我自己使用的电脑,上面也安装了2台虚机。由于电脑配置好的原因我这里的虚
机内存都是2g的。为什么要用俩台电脑呢是因为这俩个可以一个是主一个是从互为复制集,相当于俩个分片。目前10还没用到,上面安装了一个mongos。
如果电脑多但是配置不高的话就需要准备多台电脑了。

下面就是开始安装mongod了:

第一步:下载mongodb

这里需要一个mongodb的安装文件 mongodb-linux-x86_64-2.6.7 http://pan.baidu.com/s/1mg642hU这里提供下载当然也可以去官网下载,

将这个安装包分别拷到10台虚机上。

第二部:解压安装包



第三步:创建数据目录和日志目录

说明:想要创建几个mongod 就需要创建几个数据db和日志.log。

将解压文件移动到“/usr/local/mongodb”文件夹中。

在mongodb文件夹中创建data目录和logs目录

命令: mkdir -p ./data/db;

mkdir logs;

第四步:启动服务

以后台方式启动mongodb服务

命令:

numactl –interleave=all /usr/local/mongodb/bin/mongod
–dbpath=/usr/local/mongodb/data/db
–logpath=/usr/local/mongodb/logs/mongodb.log –fork –port 27017 –replSet
rep1

第五步:设置开机启动

命令:

echo ”
numactl–interleave=all/usr/local/mongodb/bin/mongod–dbpath=/usr/local/mongodb/data/db
–logpath=/usr/local/mongodb/logs/mongodb.log –fork –port 27017 –replSet
rep1” >> /etc/rc.local

第六步:查看日志和服务

命令:tail -f /usr/local/mongodb/logs/mongodb.log;

命令:ps aux |grep mongodb;



这里显示服务已经启动了!

查看mongodb

复制集+sharding分片

第一步:配置复制集

配置第一个复制集,用其中第一组第一个mongod,启动mongo,初始化复制集rep1。

初始化第一个rep1(mongod:192.9.104.108:27017)

命令:

config={_id:’rep1’,members:[

{_id:0,host:’192.9.104.108:27017’},

{_id:1,host:’192.9.104.109:27017’},

{_id:2,host:’192.9.104.110:27017’},

{_id:3,host:’192.9.104.110:27018’}]

}

rs.initiate(config)

配置第二个复制集,用其中第二组第一个mongod,启动mongo,初始化复制集rep2。

初始化第二个rep2(mongod:192.9.104.111:27017)

config={_id:’rep2’,members:[

{_id:0,host:’192.9.104.111:27017’},

{_id:1,host:’192.9.104.112:27017’},

{_id:2,host:’192.9.104.113:27017’},

{_id:3,host:’192.9.104.113:27018’}]

}

rs.initiate(config)

第二步:配置多台config server

第三步:配置mongos

numactl –interleave=all /usr/local/mongodb/bin/mongos -configdb
192.9.104.108:28017,192.9.104.109:28017,192.9.104.111:28017 –port 30000
–chunkSize 5 –logpath /usr/local/mongodb/logs/mongos.log –fork

备注:(只连接一个config)

numactl –interleave=all /usr/local/mongodb/bin/mongos -configdb
192.9.104.108:28017 –port 34500 –chunkSize 5 –logpath
/usr/local/mongodb/logs/mongos.log –fork

启动mongos服务



连接mongos

第四步:配置shard cluster

连接mongos 的进程,并切换到admin数据库进行配置。

配置shard cluster

第五步:激活数据库及集合分片功能

新建数据库和集合,根据需求进行激活。

示例:test.test

激活数据库及集合分片

至此基于centos7的mongodb(mongod,mongos,config server)就部署完成了,虽然比较费劲但是完成后还是有点成就感的!

 

CentOS7安装mongoDB数据库的更多相关文章

  1. CentOS7安装redis数据库及php-redis扩展

    redis 首先把redis安装到服务器中 1.wget http://download.redis.io/redis-stable.tar.gz 下载redis源码 2. tar xvzf redi ...

  2. 全自动安装mongoDB数据库的shell脚本

    最近在研究mongoDB数据库,写了个全自动安装mongoDB数据库的shell脚本,仅供参考,欢迎拍砖,内容如下: #!/bin/bash # shell的执行选项: # -n 只读取shell脚本 ...

  3. centos7安装mongodb详解

    记录一下linux下安装mongodb数据库过程. 安装mongodb #下载linux版本的tar文件#  例如笔者下载的是:mongodb-linux-x86_64-rhel70-3.4.4.tg ...

  4. CentOS7 安装MongoDB 3.0服务器

    1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...

  5. MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务

    目录(?)[-] 1下载安装 2MongoDB CRUD 1创建数据 2更新数据 3删除 4查询 5更多方法 3MongoDB可视化工具 4总结   本文原文连接: http://blog.csdn. ...

  6. 阿里云ecs Linux平台安装mongodb数据库

    MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包. 下载地址:http://www.mongodb.org/downloads 下载完安装包,并解压 tgz(以下演示 ...

  7. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

  8. CentOS7 安装MongoDB 3.0服务

    1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...

  9. CentOS 6.5_X64下安装MongoDB数据库

    1.下载MongoDB 官网下载地址:https://www.mongodb.org/downloads 具体链接:https://fastdl.mongodb.org/linux/mongodb-l ...

随机推荐

  1. ASP.NET MVC运行机制源码剖析

    我们都知道ASP.NET首先是从Global.aspx中开始运行的, 在Application_Start()中添加路由映射后, 就由URLRouting组件创建IRouteHandler并执行, 在 ...

  2. 基于DDD的.NET开发框架 - ABP依赖注入

    返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...

  3. TextBoxFor控件的扩展---Bootstrap在mvc上的应用

    TextBoxFor控件的问题: 1:自带了样式,再用bootstrap样式会有冲突. 2:要加水印,js事件,限制输入长度比较麻烦. 因此需要对textboxfor控件进行扩展. 目标: 1:能使用 ...

  4. 前端 head 中mate 详解

    <meta name="viewport" content="width=device-width,height=device-height,initial-sca ...

  5. mysql 根据字段重复 删除 保留一条

    delete from TableName where id not in (select minid from (select min(id) as minid from TableName gro ...

  6. 【原创】解决jquery在ie中不能解析字符串类型xml结构的xml字符串的问题

    $.fn.extend({ //此方法解决了ie中jquery不识别非xml的类型的xml字符串的问题 tony tan findX: function (name) { if (this & ...

  7. PHP 文件创建/写入

    <?php /* PHP 文件创建/写入 fopen() 函数也用于创建文件.也许有点混乱, 但是在 PHP 中,创建文件所用的函数与打开文件的相同. 如果您用 fopen() 打开并不存在的文 ...

  8. “Ceph浅析”系列之七——关于Ceph的若干想法

    本篇文章的内容,主要是笔者在调研分析Ceph过程中产生的一些思考.因为其中的内容比较自由发散,且大多是笔者的个人见解,故此另启一文进行讨论. 关于Ceph的性能 目前为止,本系列的文章中没有涉及到Ce ...

  9. 求二叉树的宽度C语言版

    /*层次遍历二叉树,每一层遍历完成以后都重新插入特定的指针 (比如本例使用的特殊指针是数据元素为#,左右儿子为空的指针), 这样在每次访问到所指向数据为#的队列中的结点指针是就知道该指针是这层的末尾, ...

  10. html5 播放多个视频。一个接一个的播放

    new个video,指定播放列表的第一个视频路径为src.监听end事件,回调里面把video的src改成列表的下一个,再play. 示意代码:var vList = ['视频地址url1', 'ur ...