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 标准库 - <stdlib.h>
C 标准库 - <stdlib.h> 简介 stdlib .h 头文件定义了四个变量类型.一些宏和各种通用工具函数. 库变量 下面是头文件 stdlib.h 中定义的变量类型: 序号 变量 ...
- Python--常用模块部分
模块 pip install #模块名称 #安装模块 #导入模块 from collections import namedtuple collections模块 提供了几个额外的数据类型: Coun ...
- ListView优化总结(二)--Android
3.使用Activity和Delegate与适配器交互 这个内容是从书里看到的,通过托付模式帮助开发人员把全部的业务逻辑从适配器中移到Activity中. 以下是加入电话号码的样例,列表中每一行都有一 ...
- import caffe时出错:can not find module skimage.io
import caffe时出错:can not find module skimage.io //以下内容在ubuntu16.4上实际验证过.注意大小写的.----20170605 在命令行输入Py ...
- 项目中遇到Uncaught TypeError: Converting circular structure to JSON报错问题
最近公司项目中出现一个报错Uncaught TypeError: Converting circular structure to JSON,,根据上述报错可以知道代码是运行到JSON.stringi ...
- LeetCode120——Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- Centos7-安装Weblogic并配置 domain
1.创建用户组 [root@localhost weblogic]# groupadd weblogic 2.创建 tmn 用户 [root@localhost weblogic]# useradd ...
- 模式识别之分类器knn---c语言实现带训练数据---反余弦匹配
邻近算法 KNN算法的决策过程 k-Nearest Neighbor algorithm是K最邻近结点算法(k-Nearest Neighbor algorithm)的缩写形式,是电子信息分类器算 ...
- JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对照
1.什么是JVM? JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才干够运行Java程序,JAVA在编译后会生成相似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是,C编 ...
- jsp页面中文乱码解决方案
一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language=&q ...