MongoDB学习笔记—Linux下搭建MongoDB环境_MongoDB

1.MongoDB简单说明

a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案。

b MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,

c MongoDB最大的特点就是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系型数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

d MongoDB的主要特点(来自于网上,主要为了我们初步了解)

d.1 MongoDB提供了一个面向文档存储,操作起来比较简单和容易的非关系型数据库。

d.2 你可以在MongoDB记录中设置任何属性的索引来实现更快的排序。

d.3 你可以通过本地u或者网络创建数据镜像,这使得MongoDB含有更强的扩展性。

d.4 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其它节点上,这就是所谓的分片。

d.5 MongoDB支持丰富的查询表达式,查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象和数组。       

d.6 MongoDB使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。       

d.7 MongoDB中的Map/Reduce主要是用来对数据进行批量处理和聚合操作,Map函数调用emit(key,value)遍历集合中所有的记录,将key于value传递给Reduce函数进行处理。另外Map函数和Reduce函数是使用JavaScript编写的,所以可以通过db.runCommand和mapreduce命令来执行MapReduce操作。       

d.8 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。

d.9 MongoDB允许在服务端执行脚本,可以用JavaScript编写某个函数,直接在服务端执行,也可以吧函数的定义存储在服务端,下次直接调用即可。

d.10  MongoDB支持各种编程语言:RUBY、PYTHON、JAVA、C++、PHP、C#等多种语言并且MongoDB的安装也非常简单。

e 因为想将日志管理集中到MongoDB,所以简单学习了一下,将学习的心得分享给大家。

f MongoDB官网:http://www.mongodb.org/

2.准备工作

a 通过上面简单的介绍之后我们已经了解了MongoDB的基本信息,那么接下来我们首先需要在Linux下搭建它并且来使用它。

b MongoDB包下载地址:http://www.mongodb.org/downloads

c 操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp, MongoDB包。

3.MongoDB安装

a 通过上面简单的准备工作之后,我们已经拥有了可以安装的包和发布的环境,如果上面没有准备充分,请自行准备,下面我们开始进行搭建环境

b 使用XShell连接Centos,连接成功后使用命令跳转到local下面创建自己的文件夹kencery,在此文件夹下面创建mongoDB文件夹,命令如下:

b.1  (1):cd usr/local/    (2):mkdir kencery    (3):cd kencery/   (4):mkdir mongoDB(5):cd mongoDB/

c 然后使用Xftp将在上面下载的mongoDB包(mongodb-linux-x86_64-3.2.8.tgz)复制到mongoDB文件夹里面,并且将包解压,解压之后命名为mongoDB,如图所示:

c.1 tar -zxvf mongodb-linux-x86_64-3.2.8.tgz

c.2 mv mongodb-linux-x86_64-3.2.8 mongodb

d 解压之后跳转到mongodb下进行操作(cd mongodb/),如图所示:

e 如上图所示,您发现多了两个文件夹,一个是db,一个是logs,这两个文件夹是我们自己创建的,db文件夹的作用是存放数据库目录,logs文件夹的作用是存放mongoDB的操作日志信息,命令如下(此命令的执行在软件包解压重命名之后跳转到mongdb下面的执行):   

e.1 mkdir db
e.3 mkdir logs

f 添加完成之后,启动mongoDB,验证是否安装成功,这里指定的数据库目录选项为mongodb下创建的db,命令如下,如图所示,则提示启动成功。

f.1 ./bin/mongod --dbpath /usr/local/kencery/mongoDB/mongodb/db

f.2 当执行命令的时候如上图所示,我们发现出现了错误,错误信息是:(Failed to obtain address information for hostname bogon: Temporary failure in name resolution(获取不到地址对应的主机名)),这是因为mongoDB启动需要解析hosts,所以我们打开hosts给本地IP配置主机名bogon,命令如下:

(1) vim /etc/hosts,打开编辑器之后,将(127.0.0.1   bogon)这段命令放置在编辑器最后,保存并且关闭

(2) 重新启动mongoDB,发现错误已经消失,并且mogodb已经启动。

g 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

4.MongoDB配置

a 通过上面的MongoDB安装,我们已经将其安装成功并且启动,但是发现启动太过于麻烦,所以需要我们自己给MongoDB配置配置文件,因MongoDB开发者没有配置样例,所以需要我们自己去创建并且写入内容

b 首先我们在mongoDB解压之后的包里面进行操作,执行以下命令,打开编辑器。

b.1 vim bin/mongodb.conf

c 打开编辑器之后将如下图所示的内容写入到编辑器中,保证是正确的,如果你的安装地址和我的不一致,则需要自己修改路径,编辑完成之后保存。

d MongDB请命令参数说明:http://www.jb51.net/article/56898.htm

e 使用如下命令重新启动mongoDB,看是否配置文件起作用,命令如下

e.1

./bin/mongod --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf


f 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

5.MongoDB设置为系统服务并且设置开机启动

a 通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。

b.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod

c 打开编辑器后,我们将下面的配置粘贴进去,然后保存

ulimit -SHn 655350
  #!/bin/sh
  # chkconfig: - 64 36
  # description:mongod
  case $1 in
  start)
  /usr/local/kencery/mongoDB/mongodb/bin/mongod --maxConns 20000 --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf
  ;;

  stop)
  /usr/local/kencery/mongoDB/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
  ;;

  status)
  /usr/local/kencery/mongoDB/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
  ;;
  esac

d 保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod

e 启动MongoDB,如下图所示,则说明启动成功

f 可以使用命令service mongod stop关闭MongoDB服务。

g 将此服务设置为开机启动,命令如下:chkconfig mongod on,然后重新启动机器进行测试,发现开机服务应启动并且端口也在使用中。

h 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

6.MongoDB设置远程服务(建议只在内网或者不可设置,不安全系数太高)

a 如果你的MongoDB运行端口使用默认的27017,你可以使用端口号为28017来访问用户界面,这是因为MongoDB的Web界面访问端口比服务的端口多1000

b 设置远程访问,既开放端口27017,28017

c 首先编辑iptables文件,打开编辑器,命令如下( vim /etc/sysconfig/iptable),输入如下信息在编辑器的最后,最后保存。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017  -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 28017 -j ACCEPT

d 重启防火墙服务,命令如下: service iptables restart

e.最后通过浏览器访问MongDB的web页面,如图所示:则说明配置已经成功。

f.因为通过远程服务访问不安全,所以我们正常是不需要配置这步的,但是如果配置了之后,我们可以通过配置文件的属性阻止其外部访问

f.1 打开mongodb.config文件,将#rest=true属性注释之后,关闭保存。

f.2 关闭并且重启mongoDB,然后在外面使用浏览器访问发现已经访问不了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux搭建mongodb
linux下mongodb搭建
,以便于您获取更多的相关知识。

时间: 2024-12-22 02:54:45

MongoDB学习笔记—Linux下搭建MongoDB环境_MongoDB的相关文章

在linux下搭建wiki环境【转】

转自:http://blog.csdn.net/chy800/article/details/6906090 由于公司需要一个知识共享的系统,选择wiki来实现.经过准备决定使用Linux+xampp+mediawiki来搭建此wiki系统. mediawiki在linux系统上的xampp部署,并且其使用的 版本是: xampp-linux-1.6.5.tar.gz 和 mediawiki-1.9.3cn.zip(注: xampp-linux-1.6.5版本中的PHP是5.2版本,可以跟med

Linux下搭建Nginx环境

一.) 安装Nginx 1.) 安装 Nginx发音为[engine x],是由俄罗斯人Igor Sysoev建立的项目,基于BSD许可.据说他当初是F5的成员之一,英文主页:http://nginx.net.俄罗斯的一些大网站已经使用它超过两年多了,一直表现不凡. 安装nginx之前需要安装pcre包和zlib以支持重写,正则以及网页压缩等等. 安装pcre 下载地址: http://www.pcre.org/ 下载适合自己的版本,然后进行安装: tar zxvf pcre-7.7.tar.g

Linux下Java开发环境搭建以及第一个HelloWorld_java

想在Linux进行JAVA开发吗?环境如何搭建,第一个HelloWorld如何实现,下面马上奉献:1环境搭建     1.1 Java JDK 的安装    Java JDK 是java编译和运行的必要环境,所以首先必须安装这一软件包,方法如下:     1)下载JDK压缩包,注意看好版本是x86还是x64,windows的还是           linux,要搞清楚,我下的是jdk-7u13-linux-i586.tar.gz:    2)解压压缩包,并将解压后的目录放到/usr/lib/j

Linux下Android开发环境搭建详细步骤

  1.系统环境 [android@localhost ~]$ uname -a Linux localhost.localdomain 2.6.32-71.el6.i686 #1SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux [android@localhost ~]$ lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:gra

在Linux下搭建Tiny开发环境

有一朋友在Linux下编译Tiny时出错了,偶在Windows下编译是OK的,但是说明不了问题.因此就想着搭建一个Linux下的编译环境进行验证,实际搭建过程碰到了一些问题--主要是NTLM ISA代理服务器的问题.由于整个过程比较复杂,因此就写此文志之,有需要的朋友也正好用一下. Step 1:搭建Linux环境 考虑到fedora各方面不错,本人选用了fedora,在vSphere中创建一个虚拟机,一会就装完了,没有啥好说的. Step 2:由于经常要从windows通过ssh连接或上传文件

linux下的mongodb服务自动关闭,不知道什么原因

问题描述 linux下的mongodb服务自动关闭,不知道什么原因 mongodb服务总是自动关闭,不知道和森么原因,关闭之前发现都有这些日志,各位帮忙看看. 2015-04-30T20:22:08.100+0800 [conn32] end connection 127.0.0.1:49953 (3 connections now open) 2015-04-30T20:25:22.251+0800 [clientcursormon] mem (MB) res:86 virt:4796 201

PHP学习笔记----IIS7下安装配置php环境

原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装                                                                                     Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe 非线程安全型 以FastCGI模式运行 VC9 x86 Thread Safe 线程安全性 以ISAPI模式运行 安装过程 只需要解

在Linux(Ubuntu)下搭建PHP环境的操作步骤_unix linux

一.安装Apache2 sudo apt-get install apache2 二.测试Apache2 在地址栏输入以下地址,出现如图所示照片,则表明安装成功 http://localhost/ 三.重启apache2服务 sudo /etc/init.d/apache2 restart //'restart'->'stop'关闭服务; 'restart'->'start'启动服务 四.安装PHP sudo apt-get install php5 libapache2-mod-php5 `

Linux下如何设置环境变量

  Linux下如何设置环境变量,今天总结了一下,发出来和大家分享一下,希望对大家的学习有所帮助,不多说了,看具体怎么操作了... 1.总结背景 在linux系统下,下载并安装了应用程序,很有可能在键入它的名称时出现"command not found"的提示内容.每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了.这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分.案例基于RedHat AS4讲解环境变量定制的问题. 2.变量简