公众号推荐
微信公众号搜"智元新知" 关注 微信扫一扫可直接关注哦!
Nosql mongodb集群搭建(1)
时间:2020-05-30 分类:NoSQL 作者:编程之家
在大数据的时代,传统的关系型数据库 要能更高的服务必须要解决 高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql 诞生了。
NOsql 有这些优势:
大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统MysqL 单表存储量级限制。
高扩展性,Nosql 去掉了关系数据库 的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。
高性能 ,Nosql 通过简单的key-value方式获取 数据,非常快速 。还有Nosql 的Cache是记录级的,是一种细粒度的Cache,所以Nosql 在这 个层面上来说就要性能 高很多。
灵活的数据模型,Nosql 无需事先为要存储的数据建立字段,随时可以存储自定义 的数据格式。而在关系数据库 里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加 字段简直就是一个 噩梦。
高可用,Nosql 在不太影响性能 的情况,就可以方便的实现高可用的架构。比如mongodb通过mongos、mongo分片就可以快速 配置出高可用配置。
在nosql 数据库 里,大部分的查询 都是键值对(key、value)的方式。MongoDB是一个 介于关系数据库 和非关系数据库 之间的 产品,是非关系数据库 当中最像关系数据库 的。支持 类似于面向对象的查询 语言,几乎可以实现类似关系数据库 单表查询 的绝大部分功能 ,而且还支持 对数据建立索引。所以这个非常方便,我们可以用sql 操作MongoDB,从关系型数据库 迁移过来,开发人员学习成本会大大减少。如果再对底层的sql API做一层封装,开发基本可以感觉不到mongodb和关系型数据库 的区别。同样MongoDB也是号称自己能够快速 搭建一个 高可用可扩展的的分布式集群,网上有很多搭建的文章 ,在我们搭建的时候还需要查找修改 很多东西,所以把自己实战的步骤记录下来以备忘。我们看看如何一步一步搭建这个小编。
一、mongodb单实例。 这种配置只适合简易开发时使用,生产使用不行,因为单节点挂掉整个数据业务全挂,如下图。
虽然不能生产使用,但这个模式可以快速 搭建启动,并且能够用mongodb的命令操作数据库 。下面列出在linux下安装单节点mongodb的步骤
1. 建立mongodb测试文件 夹
#存放整个mongodb文件
mkdir-p/data/mongodbtest/single
#存放mongodb数据文件
mkdir-p/data/mongodbtest/single/data
#进入mongodb文件 夹
cd/data/mongodbtest/single
2. 下载mongodb的安装程序包
wget<ahref= "http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.6.tgz" >http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.6.tgz</a>
#解压下载的压缩包
tarxvzfmongodb-linux-x86_64-2.4.6.tgz
#进入mongodb程序执行文件 夹
cdmongodb-linux-x86_64-2.4.6/bin/
3. 启动单实例mongodb
mongod--dbpath/data/mongodbtest/single/data
输出 日志如下,成功!
[initandlisten] db version v2.4.6 …….. [initandlisten] waiting for connections on port 27017 [websvr] admin web console waiting for connections on port 28017
mongodb默 认自带 提供了web访问接口,通过 IP + 端口的形式可以访问。
http://192.168.0.1:28017/
二、主从模式。 使用mysql数据库时大家广泛用到,采用双机备份后主节点挂掉了后从节点可以接替主机继续服务。所以这种模式比单节点的高可用性要好很多。
下面看一下怎么一步步搭建一个mongodb的主从复制节点:
1. 准备两台机器 192.168.0.1 和 192.168.0.2。 192.168.0.1 当作主节点, 192.168.0.2作为从节点。
2. 分别下载mongodb安装程序包。在192.168.0.1上建立文件夹 /data/mongodbtest/master,192.168.0.2建立文件夹/data/mongodbtest/slave。
3. 在192.168.0.1启动mongodb主节点程序。注意后面的这个 “ –master ”参数,标示主节点。
mongod –dbpath /data/mongodbtest/master –master
输出日志如下,成功!
[initandlisten] MongoDB starting : pid=18285 port=27017 dbpath=/data/mongodbtest/master master=1
#日志显示主节点参数
[initandlisten] options: { dbpath: “/data/mongodbtest/master”,master: true } …….. [initandlisten] waiting for connections on port 27017
4. 在192.168.0.2启动mongodb从节点程序。关键配置,指定主节点ip地址和端口 –source 192.168.0.1:27017 和 标示从节点 –source 参数。
mongod –dbpath /data/mongodbtest/slave –slave –source 192.168.0.1:27017
[initandlisten] MongoDB starting : pid=17888 port=27017 dbpath=/data/mongodbtest/slave slave=1 …….. #日志显示从节点参数 [initandlisten] options: { dbpath: “/data/mongodbtest/slave”,slave: true,source: “192.168.0.1:27017″ } …….. [initandlisten] waiting for connections on port 27017 #日志显示从节点 从主节点同步复制数据 [replslave] repl: from host:192.168.0.1:27017
5. 测试主从复制。
在主节点上连接到终端:
copy