zoukankan      html  css  js  c++  java
  • ubuntu上mongodb的安装

    Ubuntu上安装MongoDB的完全步骤以及注意事项

    本文我们详细介绍了Ubuntu上安装MongoDB的全部过程,希望本次的介绍能够对您有所帮助。

    AD: 2013大数据全球技术峰会课程PPT下载

     Ubuntu上安装MongoDB数据库的步骤以及注意事项是本文我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧,希望能够对您有所帮助。

     获取最新版本

    wgethttp://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.3.tgz

    解压缩即可执行。

    tar zxvf mongodb-linux-x86_64-1.8.3.tgz

    cd /usr/local/mongodb-linux-x86_64-1.8.3/bin

    但是在运行前,需要创建mongodb需要的存放数据和日志的目录:

    sudo mkdir -p /data/db/

    sudo chmod -R 777 /data/db/

    启动mongodb server,-journal 代表要写日志,-maxConns=2400代表mongodb 可以接受2400个tcp连接,-rest代表可以允许客户端通过rest API访问mongdb server.

    ./mongod -journal -maxConns=2400 -rest

    还可以使用参数—quiet启动可以指定安静模式减少记录的项目数,注意使用该参数必须要同时指定日志路径,比如:

    —quiet —logpath /data/db/journal/mongdb.log

    相关说明

    服务程序启动后,终端会显示一些信息,比如:

    1. Wed Aug 31 16:40:03 [initandlisten] MongoDB starting : pid=2410 port=27017 dbpath=/data/db/ 64-bit  
    2. Wed Aug 31 16:40:03 [initandlisten] db version v1.8.3, pdfile version 4.5  
    3. Wed Aug 31 16:40:03 [initandlisten] git version: c206d77e94bc3b65c76681df5a6b605f68a2de05  
    4. Wed Aug 31 16:40:03 [initandlisten] build sys info: Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.  
    5. v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41 
    6. Wed Aug 31 16:40:03 [initandlisten] journal dir=/data/db/journal  
    7. Wed Aug 31 16:40:03 [initandlisten] recover : no journal files present, no recovery needed  
    8. Wed Aug 31 16:40:06 [initandlisten] preallocateIsFaster=true 33.84  
    9. Wed Aug 31 16:40:08 [initandlisten] preallocateIsFaster=true 36.84  
    10. Wed Aug 31 16:40:11 [initandlisten] preallocateIsFaster=true 37.48  
    11. Wed Aug 31 16:40:11 [initandlisten] preallocating a journal file /data/db/journal/prealloc.0  
    12. Wed Aug 31 16:41:03 [initandlisten] preallocating a journal file /data/db/journal/prealloc.1  
    13. Wed Aug 31 16:41:55 [initandlisten] preallocating a journal file /data/db/journal/prealloc.2  
    14. Wed Aug 31 16:42:48 [initandlisten] waiting for connections on port 27017  
    15. Wed Aug 31 16:42:48 [initandlisten] —maxConns too high, can only handle 819  
    16. Wed Aug 31 16:42:48 [websvr] web admin interface listening on port 28017  
    17. Wed Aug 31 16:42:48 [dur] lsn set 0  
    18. Wed Aug 31 16:43:03 [dur] lsn set 14440  
    19. Wed Aug 31 16:44:03 [dur] lsn set 74050  
    20. Wed Aug 31 16:45:03 [dur] lsn set 133660  
    21. Wed Aug 31 16:46:03 [dur] lsn set 193270  
    22. Wed Aug 31 16:47:03 [dur] lsn set 252880  
    23. Wed Aug 31 16:48:03 [dur] lsn set 312490  
    24. Wed Aug 31 16:49:03 [dur] lsn set 372110  
    25. Wed Aug 31 16:50:03 [dur] lsn set 431720  
    26. Wed Aug 31 16:51:03 [dur] lsn set 491330  
    27. Wed Aug 31 16:52:03 [dur] lsn set 550940  
    28. Wed Aug 31 16:53:03 [dur] lsn set 610550 

    我们可以看到进程id,监听的TCP端口号和web管理员端口号。还能看到数据文件和日志文件所在目录。并且提示最大连接数达不到设置的2400.

    修改系统允许的最大连接数

    上面的最大连接数目的限制原因是Linux系统默认最大文件打开数目为1024,用ulimit -a 命令检查,可以看到下面这行:

    open files (-n) 1024

    修改/etc/security/limits.conf 配置文件。

    在文件中增加* soft nofile 3000* hard nofile 20000* 表示该配置对所有用户均有效。

    soft 软限制 可以超过的配置数。

    hard 硬限制 最大不能超过的配置数。

    nofile表示 max number of open files。

    重新启动计算机,然后再用ulimit -a 命令查看:

    open files (-n) 3000

    已经生效了。现在再启动mongodb server,问题解决。

    设置开机启动

    在/etc/init.d/目录下新建脚本文件mongodb

    1. #!/bin/sh    
    2. ### BEGIN INIT INFO    
    3. # Provides:     mongodb    
    4. # Required-Start:    
    5. # Required-Stop:    
    6. # Default-Start:        2 3 4 5    
    7. # Default-Stop:         0 1 6    
    8. # Short-Description: mongodb    
    9. # Description: mongo db server    
    10. ### END INIT INFO    
    11. . /lib/lsb/init-functions    
    12. PROGRAM=/usr/local/mongodb-linux-x86_64-1.8.3/bin/mongod    
    13. MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`    
    14. test -x $PROGRAM || exit 0    
    15. case "$1" in    
    16. start)    
    17. log_begin_msg "Starting MongoDB server"     
    18. #/usr/bin/mongod --fork --quiet --dbpath /data/db --logpath /var/log/mongodb.log    
    19. /usr/local/mongodb-linux-x86_64-1.8.3/bin/mongod --fork --quiet -journal -maxConns=2400 -rest --logpath /data/db/journal/mongdb.log    
    20. log_end_msg 0    
    21. ;;    
    22. stop)    
    23. log_begin_msg "Stopping MongoDB server"     
    24. if [ ! -z "$MONGOPID" ]; then     
    25. kill -15 $MONGOPID    
    26. fi    
    27. log_end_msg 0    
    28. ;;    
    29. status)    
    30. ;;    
    31. *)    
    32. log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"     
    33. exit 1    
    34. esac    
    35. exit 0   

    请注意,用sudo chmod +x /etc/init.d/mongdb 命令允许该脚本可被执行。

    接着运行下面的命令注册开机脚本:

    1. update-rc.d mongodb defaults  
    2. Adding system startup for /etc/init.d/mongodb ...  
    3. /etc/rc0.d/K20mongodb -> ../init.d/mongodb  
    4. /etc/rc1.d/K20mongodb -> ../init.d/mongodb  
    5. /etc/rc6.d/K20mongodb -> ../init.d/mongodb  
    6. /etc/rc2.d/S20mongodb -> ../init.d/mongodb  
    7. /etc/rc3.d/S20mongodb -> ../init.d/mongodb  
    8. /etc/rc4.d/S20mongodb -> ../init.d/mongodb  
    9. /etc/rc5.d/S20mongodb -> ../init.d/mongodb 

    你也可以通过update-rc.d -f mongodb remove 删除。

    重新启动,通过ps -def | grep mongod 可以查看到自启动的服务进程,然后可以通过下面的命令关闭/启动服务

    sudo service mongodb stop

    sudo service mongodb start

    客户端登录服务器

    启动日志如上,服务端启动如上,现在我们在另外一个终端测试服务器是否正常。

    进入/usr/local/mongodb-linux-x86_64-1.8.3/bin,执行./mongo。

    出现:

    MongoDB shell version: 1.8.3

    connecting to: test

    执行db.foo.save({1 : “Hello world”})

    然后查找db.foo.find();

    看到{ "_id" : ObjectId("4e4b395986738efa2d0718b9"), "1" : "hello world" }

    执行到这里恭喜你,成功安装好了mongodb。

    也可以通过下面这种方式连接远程的mongodb server,默认端口为27017,比如:

    ./mongo 192.168.30.25

    创建数据库

    如果没有mydb数据库的话,在客户端中使用命令:use mydb,将创建mydb数据库,而且当前数据库切换为mydb。此时show dbs不显示该数据库名称。使用db.stats()命令检查当前数据库状态。

    此文章转载于http://database.51cto.com/art/201109/288576.htm

    令附:mongodb管理工具的安装:http://rockmongo.com/wiki/introduction?lang=zh_cn

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    HDU 1009 FatMouse' Trade
    HDU 2602 (简单的01背包) Bone Collector
    LA 3902 Network
    HDU 4513 吉哥系列故事——完美队形II
    LA 4794 Sharing Chocolate
    POJ (Manacher) Palindrome
    HDU 3294 (Manacher) Girls' research
    HDU 3068 (Manacher) 最长回文
    Tyvj 1085 派对
    Tyvj 1030 乳草的入侵
  • 原文地址:https://www.cnblogs.com/weiguo21/p/4823995.html
Copyright © 2011-2022 走看看