CentOS7安装mongoDB数据库
CentOS7安装mongoDB数据库
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数据库的更多相关文章
- CentOS7安装redis数据库及php-redis扩展
redis 首先把redis安装到服务器中 1.wget http://download.redis.io/redis-stable.tar.gz 下载redis源码 2. tar xvzf redi ...
- 全自动安装mongoDB数据库的shell脚本
最近在研究mongoDB数据库,写了个全自动安装mongoDB数据库的shell脚本,仅供参考,欢迎拍砖,内容如下: #!/bin/bash # shell的执行选项: # -n 只读取shell脚本 ...
- centos7安装mongodb详解
记录一下linux下安装mongodb数据库过程. 安装mongodb #下载linux版本的tar文件# 例如笔者下载的是:mongodb-linux-x86_64-rhel70-3.4.4.tg ...
- CentOS7 安装MongoDB 3.0服务器
1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...
- MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
目录(?)[-] 1下载安装 2MongoDB CRUD 1创建数据 2更新数据 3删除 4查询 5更多方法 3MongoDB可视化工具 4总结 本文原文连接: http://blog.csdn. ...
- 阿里云ecs Linux平台安装mongodb数据库
MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包. 下载地址:http://www.mongodb.org/downloads 下载完安装包,并解压 tgz(以下演示 ...
- CentOS7安装mysql数据库
安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...
- CentOS7 安装MongoDB 3.0服务
1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统.MongoDB宣称,3.0新版本不只 ...
- CentOS 6.5_X64下安装MongoDB数据库
1.下载MongoDB 官网下载地址:https://www.mongodb.org/downloads 具体链接:https://fastdl.mongodb.org/linux/mongodb-l ...
随机推荐
- opencv6.2-imgproc图像处理模块之图像尺寸上的操作及阈值
接opencv6.1-imgproc图像处理模块之平滑和形态学操作,顺带说一句在opencv中的in-place操作就是比如函数的输入图像和输出图像两个指针是相同的,那么就是in-place操作了.比 ...
- 写一个 nodejs npm应用 - webhere
前言.没图不说话,先上图. What's webhere? 有没有遇到这样的场景:写程序的时候,需要访问一个文件,这个文件 需要是放到一台web服务器上,但是你不是开发的web应用. 所以呢,你不得不 ...
- linux开机自动启动
1 .vi /etc/rc.local 2.编写开机后运行的命令 如:service httpd start
- 安装win10
1.百度win10,看到的大都是雨林木风,ghost等江湖杂牌非原版系统.百度”msdn,我告诉你“进入微软MSDN下载中心(原来还有这么个好地方,以后就从这里下了),下载链接是ed2k格式的链接(e ...
- ios UITableview 刷新某一个cell 或 section
//一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:]; [tableview reloadSections:ind ...
- 把时间转成适合符合日常习惯的格式【js】
假设现在是7月30日12点,我们可以说今天12点,意思也非常明确. 我们习惯说昨天12点,而不习惯说29号12点. 我们习惯说周一12点,而不习惯说28号12点,这样不用翻日历看今天是几号. so,上 ...
- js打字机效果实现
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>打 ...
- Android M 控件:Snackbar、Toolbar、TabLayout、NavigationView
Snackbar Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈.Snackbar的使用与Toast的使用基本相同: Snack ...
- 线性表的顺序存储结构C语言版
#include <stdio.h> #define MAXSIZE 101 #define N 10 typedef struct SeqList { int data[MAXSIZE] ...
- ubuntu静态IP配置
1. 修改配置文件/etc/network/interfacesroot@ubuntu:~# sudo gedit /etc/network/interfaces 添加以下内容:auto eth0 ...