zoukankan      html  css  js  c++  java
  • 【转载】MongoDb环境部署

    第一节: MongoDb环境部署

    MongoDB环境的部署很简单。已经用过的人肯定会和我有相同的想法。首先在官网上下载对应的版本(http://www.mongodb.org/downloads),要分清是自己的是32位还是64位的。
    MongoDb的版本号,偶数的版本是稳定版,奇数是开发版。例如,1.2开头的是稳定版(1.2.0 , 1.2.1 , 1.2.2 等等) ,1.3开头的开发版(1.3.0 , 1.3.1 ,1.3.2 等等)。

    我本机的开发环境是Win7(32bit,双核),公司的开发环境CentOS(Linux的一个版本,64bit,CPU 4颗)

    在Windows下

    1:解压下载的压缩文件。(我的是在E:\nosql\mongodb)
    2:新建一个目录,来存放数据库文件,默认值是/data/db/,(windows 下是:C:\data\db) 作为数据存储目录
    3:cmd 进入到MongoDb解压的目录(我的是在E:\nosql\mongodb),
    >cd E:\nosql\mongodb\bin
    >mongod help 可以查看mongodb的一些参数,下面是我列出的三个常用参数db存储路径,日志存储路径,日志存储方式

    --dbpath arg directory for datafiles
    --logpath arg log file to send write to instead of stdout - has to be
    a file, not directory

    --logappend append to logpath instead of over-writing

    >mongod --dbpath E:\nosql\mongodb\data --logpath=E:\nosql\mongodb\log\mongodb.log --logappend
    会在cmd窗口显示all output going to: E:\nosql\mongodb\log\mongodb.log

    在浏览器输入:http://localhost:27017/,可以看到如下提示:
    You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

    如此,MongoDB数据库服务已经成功启动了。

    在浏览器输入:http://localhost:28017/,是mongodb系统的一个监控界面。如果你指定了--port端口号,则要用比它大1000的端口号才可以进入mongodb
    的监控界面。

    4:打开另外个cmd窗口,启动一个mongodb的客户端
    >cd E:\nosql\mongodb\bin
    >mongo
    MongoDB shell version: 1.8.3-rc0
    connecting to: test
    >

    >show dbs //查看系统数据库,这些是我本地的dbs
    admin (empty)
    local (empty)
    loginlog 0.125GB
    logintest 0.0625GB
    mymongodb 0.03125GB
    testDb 0.999755859375GB
    >help //查看当前执行角色的帮助信息

    在CentOS下部署Mongodb,我是通过SecureCRT连接到公司的CentOS服务器。它的部署在Windows上的部署操作是一样的。
    先去官方下载对应的版本,然后解压到对应的目录。我的目录是/root/soft,列出解压后的文件

    [root@app-vwsc-01 soft]# ls
    mongodb-linux-x86_64-1.8.2 mongodb-linux-x86_64-1.8.2.tar nagios-nrpe_2.8.1.tar.gz nagios-plugins-1.4.15 nagios-plugins-1.4.15.tar.gz nrpe-2.8.1
    [root@app-vwsc-01 soft]# cd mongodb-linux-x86_64-1.8.2/bin
    [root@app-vwsc-01 bin]# ls
    bsondump mongo mongod mongodump mongoexport mongofiles mongoimport mongorestore mongos mongosniff mongostat
    [root@app-vwsc-01 bin]# ./mongod --dbpath /root/mongodbpro/data/db --logpath /root/mongodbpro/data/log/mongodb.log --logappend //启动mongod的服务器
    all output going to: /root/mongodbpro/data/log/mongodb.log //这个时候Mongodb服务已经启动

    现在启动一个Mongodb的客户端
    [root@app-vwsc-01 bin]# ./mongo
    MongoDB shell version: 1.8.2
    connecting to: test
    > show dbs //查看当前数据库

    到目前,在Win7和CentOS上全部部署完毕,但是需要几点需要注意下:

    1:在我们启动Mongodb的服务后,Win7环境下,Mongodb所有的日志信息都写入mongodb.log文件了。(这个文件是我自定义的)
    ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
    ** with --dur, the limit is lower

    Sat Aug 27 16:48:17 [initandlisten] db version v1.8.3-rc0, pdfile version 4.5
    Sat Aug 27 16:48:17 [initandlisten] git version: 81147c1ca4cc10d9a81a0a2afdf364ab1ca8867d
    Sat Aug 27 16:48:17 [initandlisten] build sys info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_35
    Sat Aug 27 16:48:18 [initandlisten] waiting for connections on port 27017
    Sat Aug 27 16:48:18 [websvr] web admin interface listening on port 28017
    Sat Aug 27 16:49:02 [initandlisten] connection accepted from 127.0.0.1:1398 #1
    Sat Aug 27 17:04:10 [conn1] terminating, shutdown command received
    Sat Aug 27 17:04:10 dbexit: shutdown called
    Sat Aug 27 17:04:10 [conn1] shutdown: going to close listening sockets...
    Sat Aug 27 17:04:10 [conn1] closing listening socket: 188
    Sat Aug 27 17:04:10 [conn1] closing listening socket: 196
    Sat Aug 27 17:04:10 [conn1] shutdown: going to flush diaglog...
    Sat Aug 27 17:04:10 [conn1] shutdown: going to close sockets...
    Sat Aug 27 17:04:10 [conn1] shutdown: waiting for fs preallocator...
    Sat Aug 27 17:04:10 [conn1] shutdown: closing all files...
    Sat Aug 27 17:04:10 closeAllFiles() finished
    Sat Aug 27 17:04:10 [conn1] shutdown: removing fs lock...
    Sat Aug 27 17:04:10 dbexit: really exiting now

    在上面会有一个警告,意思是说,32位下,MongoDB只能处理2GB的数据,因为我用的是32位Mongodb,而且Mongodb是使用内存映射文件存储引擎,要是在64位机器上使用稳定的版本,就不会又这个警告了。

    我们要养成查看日志的习惯,这个对于监控Mongodb很有用。


    2:关闭Mongodb服务,这里先提供这个方法,以后再会说到。
    > use admin //切换到admin
    switched to db admin
    > db.shutdownServer() //执行shutdownServer()
    Sat Aug 27 18:02:57 DBClientCursor::init call() failed
    Sat Aug 27 18:02:57 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1
    server should be down...
    Sat Aug 27 18:02:57 trying reconnect to 127.0.0.1
    Sat Aug 27 18:02:58 reconnect 127.0.0.1 failed couldn't connect to server 127.0.0.1
    Sat Aug 27 18:02:58 Error: error doing query: unknown shell/collection.js:150
    >exit //然后退出就行

    2:Win7下启动cmd窗口,我建议大家用Windows PowerShell,这个比cmd窗口要好用多了。
    3:我在有些命令后加上 ”//解释“,这个是不属于命令,只作为我的一个解释。
    4:下节我将说下Mongodb的基本操作和C#驱动的选择,哪里写的有问题也希望大家帮提出来。

  • 相关阅读:
    一起学习Avalonia(三)
    一起学习Avalonia(一)
    .NetCore(Avalonia) 项目dll混淆,deb安装包解压,重新打包
    .Net 桌面程序(winform,wpf,跨平台avalonia)打安装包部署到windows 入门
    .net 跨平台桌面程序 avalonia:从项目创建到打包部署linux-64系统deepin 或 ubuntu。
    【JAVA习题十八】求1+2!+3!+...+20!的和
    【JAVA习题十七】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
    【JAVA习题十六】打印菱形
    【JAVA习题十五】两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
    【JAVA习题十四】猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩 下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
  • 原文地址:https://www.cnblogs.com/fx2008/p/2728918.html
Copyright © 2011-2022 走看看