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. 发布了Android的App,我要开源几个组件!

    做了一款App,本来是毕业设计但是毕业的时候还没有做完,因为大部分时间都改论文去了,你们都懂的.现在毕业了在工作之余把App基本上做完了.为什么说基本上呢,因为我觉得还有很多功能还没实现,还要很多bu ...

  2. 细数Javascript技术栈中的四种依赖注入

    作为面向对象编程中实现控制反转(Inversion of Control,下文称IoC)最常见的技术手段之一,依赖注入(Dependency Injection,下文称DI)可谓在OOP编程中大行其道 ...

  3. 自己画WinForm 皮肤包括默认控件

    好久没来博客园,今天捣鼓到现在就是为了把之前的皮肤控件完善好, 之前也看了很多技术文章,大多数都是自己重写系统控件实现换肤,几乎没有像东日的(IrisSkin)控件一样 添加一个组件 把系统的皮肤全换 ...

  4. mysql full text全文索引必要条件

    show variables like 'ft_m%' 'ft_max_word_len', '84''ft_min_word_len', '4' 对于英文来说, ft_min_word_len=4是 ...

  5. shell读取文件内容

           Shell脚本,执行解释速度快.代码简单易于理解.在shell代码编写过程中,经常会用到读取文件内容. 写法一: ------------------------------------ ...

  6. python学习笔记整理——元组tuple

    Python 文档学习笔记2 数据结构--元组和序列 元组 元组在输出时总是有括号的 元组输入时可能没有括号 元组是不可变的 通过分拆(参阅本节后面的内容)或索引访问(如果是namedtuples,甚 ...

  7. Android下的数据储存方式(三)

      Android下最好的数据储存方式:关系型数据库sqlite.   数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮 ...

  8. Beta--项目冲刺第六天

    胜利在望-- 队伍:F4 成员:031302301 毕容甲 031302302 蔡逸轩 031302430 肖阳 031302418 黄彦宁 会议内容: 1.站立式会议照片: 2.项目燃尽图 3.冲刺 ...

  9. 1025基础REDIS

    -- 登录AUTHPING -- 通用命令EXISTS KEY EXPIRE KEY seconds 为给定 KEY 设置过期时间 -- 字符SET runoobkey redisDEL runoob ...

  10. [转]div与span区别及用法

    DIV与SPAN区别及div与san用法篇 接下来了解在div+css开发的时候在html网页制作,特别是标签运用中div和span的区别及用法.新手在使用web标准(div css)开发网页的时候, ...