共计 3227 个字符,预计需要花费 9 分钟才能阅读完成。
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)就部署完成了,虽然比较费劲但是完成后还是有点成就感的!
更多 MongoDB 相关教程见以下内容:
CentOS 编译安装 MongoDB 与 mongoDB 的 php 扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm
CentOS 6 使用 yum 安装 MongoDB 及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm
Ubuntu 13.04 下安装 MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm
MongoDB 入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm
Ubunu 14.04 下 MongoDB 的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm
《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm
Nagios 监控 MongoDB 分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm
基于 CentOS 6.5 操作系统搭建 MongoDB 服务 http://www.linuxidc.com/Linux/2014-11/108900.htm
MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132681.htm