MongoDB安装及多实例启动
MongoDB安装及多实例启动
MongoDB简介
MongoDB是一款跨平台、面向文档的数据库。可以实现高性能、高可用性,并且能够轻松扩展,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多的节点可以保证服务器的性能。
在大数据时代中,大数据量的处理已经成了考量一个数据库最重要的原因之一。MongoDB的一个主要目标就是尽可能的让数据库保持卓越的性能,这很大程度地决定了MongoDB的设计。MongoDB选择了最大程度而利用内存资源用作缓存来换取卓越的性能,并且会自动选择速度最快的索引来进行查询。MongoDB尽可能精简数据库,将尽可能多的操作交给客户端,这种方式也是MongoDB能够保持卓越性能的原因之一。
MongoDB是非关系性数据库(NoSQL)中功能最丰富,最像关系数据库的。不采用关系模型是为了获取更好的扩展性,MongoDB不在有“行”的概念,其运行方式主要基于两个概念:集合(collection)和文档(document)。
MongoDB的特点
Mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。
1、面向集合的存储:适合存储对象及JSON形式的数据。
2、MongoDB安装简单,提供了面向文档的存储功能,操作起来比较容易。
3、MongoDB提供了复制,高可用性和自动分片功能。如果负载增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上,这就是所谓的分片。
4、MongoDB支持丰富的查询表达式。
5、高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。
MongoDB适用领域
1、MongoDB可以为Web应用提供可扩展的高性能数据存储解决方案。MongoDB主要适用领域有网站数据、分布式场景、数据缓存和JSON文档格式存储。适合大数据量、高并发、弱事务的互联网应用,其内置的水平扩展机制提供了从几百万到十亿级别的数据处理能力,可以很好的满足Web2.0和移动互联网应用数据存储的要求。
MongoDB安装
1、下载和安装MongoDB及支持软件。
我们这里选择的是直接下载软件包,由于我使用的虚拟机是CentOS7并且是64位版本,所以我们选择对应的RedHat7版本64位。下载完后经过配置可以直接使用。由于软件包已经启用了SSL安全加密,所以需要我们安装openssl相关的依赖包。

[root@promote ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz
#可以直接下载
[root@promote ~]# yum install openssl openssl-devel -y
#安装相关依赖包
[root@promote ~]# tar xvfz mongodb-linux-x86_64-rhel70-4.0.0.tgz -C /usr/local/
#将压缩包解压到指定的目录中
[root@promote ~]# mv /usr/local/mongodb-linux-x86_64-rhel70-4.0.0/ /usr/local/mongodb
#重命名软件包,方便以后使用
2、创建数据存储目录,日志存储目录及日志文件
由于我们下载的是已经编译好的软件包,所以我们需要自行创建数据存储目录,日志存储日志及日志文件。
[root@promote ~]# mkdir -p /data/mongodb1
#创建数据存储目录
[root@promote ~]# mkdir -p /data/logs/mongodb
#创建日志存储目录
[root@promote ~]# touch /data/logs/mongodb/mongodb1.log
#创建日志文件
[root@promote ~]# chmod -R 777 /data/logs/mongodb/mongodb1.log
#修改日志文件权限,方便下面操作
当MongoDB处于频繁访问的状态,如果shell启动进程所占用的资源设置过低,会产生错误到时无法连接MongoDB。
[root@promote ~]# ulimit -n 2500 #修改shell所能启用的最大进程数
[root@promote ~]# ulimit -u 2500 #修改shell所能打开的最大文件数
3、创建MongoDB配置文件和配置启动参数
下载下来的软件包没有配置文件,这里需要我们自行创建。
[root@promote ~]# cd /usr/local/mongodb/bin/
[root@promote bin]# vim mongodb1.conf
port=27017 #默认服务器端口号
dbpath=/data/mongodb1 #数据存储目录,就是我们上一步创建的
logpath=/data/logs/mongodb/mongodb1.log #日志文件
logappend=true #使用追加方式写日志
fork=true #后台运行
maxConns=5000 #最大连接数
4、启动和停止MongoDB
安装并且配置好后就可以启动的们的MongoDB服务了

[root@promote bin]# export PATH=$PATH:/usr/local/mongodb/bin/
#可以把MongoDB的路径加入到环境变量,这样可以直接使用MongoDB的相关命令
[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb1.conf
#mongod用于启动服务进程,-f后面加上服务的配置文件路径
[root@promote bin]# netstat -ntap | grep mongod #可以查看MongoDB的进程启动状态
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 78984/mongo
[root@promote bin]# mongo #可以进入到数据库中
[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb1.conf --shutdown
#--shutdown表示关闭MongoDB服务进程
2018-07-16T21:22:05.828+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
killing process with pid: 78984
[root@promote bin]# netstat -ntap | grep mongod #没有MongoDB进程
启动MongoDB多实例
在单台服务器资源充分的情况下,可以使用多实例,以便充分使用服务器资源。步骤和上面相同,再创建一组数据存储目录、日志文件和配置文件。
[root@promote bin]# mkdir -p /data/mongodb2
#创建新的数据存储目录
[root@promote bin]# touch /data/logs/mongodb/mongodb2.log
#创建新的日志文件
[root@promote bin]# chmod -R 777 /data/logs/mongodb/mongodb2.log
#赋予日志文件对应权限
[root@promote bin]# chmod -R 777 /data/logs/mongodb/mongodb2.log
[root@promote bin]# cp /usr/local/mongodb/bin/mongodb1.conf /usr/local/mongodb/bin/mongodb2.conf
#复制一份新的配置文件,再修改相应的参数
port=27018 #设置一个新的端口号
dbpath=/data/mongodb2 #设置新的数据存储目录
logpath=/data/logs/mongodb/mongodb2.log #设置新的日志文件
logappend=true
fork=true
maxConns=5000
[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb2.conf #开启新实例的进程
[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb1.conf
2018-07-16T21:31:16.103+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
about to fork child process, waiting until server is ready for connections.
forked process: 79334
child process started successfully, parent exiting
[root@promote bin]# netstat -ntap | grep mongo
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 79334/mongod
tcp 0 0 127.0.0.1:27018 0.0.0.0:* LISTEN 79304/mongod
#可以看到开启了两个实例
MongoDB安装及多实例启动的更多相关文章
- centos mongodb安装及简单实例
1.创建目录并设置写权限的操作如下: $mkdir -p /data/db (创建目录和必要的父目录,若父目录不存在则先创建父目录再创建子目录) $ chown -R $usergroup:$user ...
- PCB MongoDb安装与Windows服务安装
工程MI流程指示做成Web网页形式,采用MVC框架制作,数据传输用Web API方式, 最终此网页会挂到公司各系统中访问,为了提高访问并发量,并将工程数据统一结构化管理, 采用No SQL Mongo ...
- Linux下Mongodb安装和启动配置
1.下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz 下载完成后解压缩压缩包 tar zxf mongod ...
- MongoDB安装与启动
我本人电脑是win8系统64位,下载64位的zip包,下载完成后解压缩到D:\MongoDB目录 创建数据库目录D:\MongoDB\data,接下来打开命令行窗口,切换到D:\MongoDB\bin ...
- mongodb 安装与启动简单使用
环境:mac 10.11.6 一.安装步骤:按照官网的教程: 1.打开终端 安装或升级brew: brew update 2.安装mongoDB二进制文件: brew install mongodb ...
- MongoDB 安装,启动与基本使用
一.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++ ...
- MongoDB安装,启动,注册为windows系统服务
MongoDB安装与启动 周建旭 2014-08-10 解压完后配置环境变量 下载Windows 32-bit或64-bit版本并解压缩,程序文件都在bin目录中,其它两个目录分别是C++调用是的头文 ...
- Linux下Mongodb安装和启动配置 原
1.安装 略 2.配置 01.mkdir /usr/local/mongodb/data 0.touch /usr/local/mongodb/logs 03.cd /usr/local/mongod ...
- MongoDB安装问题以及启动
在安装MongoDB的文件中找到bin文件,其中有mongo.exe应用程序,双击打开会出现第二幅图的样子. 将MongoDB服务器作为Windows服务运行,运行后,不知道为什么无法启动,即使删除d ...
随机推荐
- C++ 面试问题
一面 (1) 多态性都有哪些?(静态和动态,然后分别叙述了一下虚函数和函数重载) (2) 动态绑定怎么实现?(就是问了一下基类与派生类指针和引用的转换问题) (3) 类型转换有哪些?(四种类型转换,分 ...
- eclipse下的ssh框架整合过程及測试
最近在搭建Stuts2+hibernate+spring的框架,网上看的教程,大部分都是非常easy的步骤.没有比較具体的步骤以及每一个步骤完毕之后怎样检查是否配置成功.下面是笔者依据自己搭建的过程进 ...
- hibernate的注解装配
1.多对多,(中间表不用映射) @ManyToMany @JoinTable(name = "中间表名", joinColumns = { @JoinColumn(name = & ...
- 教你使用 Reflexil 反编译.NET
简介 反编译的方式有很多种,其实最靠谱的还是IL反编译. 如果不懂IL可以尝试我这边文章入门:http://www.wxzzz.com/278.html 不过我下面要说的不是IL这种底层的代码反编译, ...
- PADS的历史版本
1986年:PADS PCB,DOS操作系统 1989年:PADS Logic,DOS操作系统 1990年:PADS 2000,DOS操作系统 1993年:PADS Perform,DOS和Windo ...
- Git bare repo with multiple branches
http://stackoverflow.com/questions/9324762/git-bare-repo-with-multiple-branches Q: I want to make a ...
- 运维基础-Linux发展史、安装、基本操作
Linux是目前互联网运维.大数据.云计算方向首选操作系统平台,能够在物理服务器Dell.hp.等server,以及当前主流的云平台,阿里云,腾讯云上面部署 发展史 . . .略过..... 物理服务 ...
- Install Server Backup Manager on CentOS, RHE, and Fedora
Skip to end of metadata Added by Internal, last edited by Internal on Aug 25, 2014 Go to start of me ...
- Linux中进程的优先级
Linux採用两种不同的优先级范围,一种是nice值.还有一种是实时优先级. 1.nice值 nice值得范围是-20~19,默认值是0. 越大的nice值意味着更低的优先级.也就是说nice值为-2 ...
- RYU改动监听port Mininet在custom自建拓扑和连接到指定控制器命令解释
1.RYU控制器改动监听port 在ryu/ryu/ofproto以下的ofproto_common.py watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc ...