【MongoDB】 MongoDB 3.2.x 安裝實踐

神諭丶發表於2016-10-13
本次環境 RHEL6

學著用一下MongoDB,做個筆記:


下載&安裝
  1. wget
  2. tar zxvf mongodb-linux-x86_64-rhel62-3.2.10.tgz
  3. cd mongodb-linux-x86_64-rhel62-3.2.10
  4. cp bin/* /usr/bin/

預建立datadir和logdir
  1. mkdir -p /data/mongodb/data
  2. mkdir -p /data/mongodb/log

編輯配置檔案
  1. vi /etc/mongodb.conf

可以最簡化的寫一下配置,其他的預設
  1. port       27017
  2. dbpath     /data/mongodb/data
  3. logpath    /data/mongodb/log/mongod.log
  4. fork       true

儲存退出



啟動mongodb
  1. shell> mongod -f /etc/mongodb.conf



進入mongodb shell
  1. shell> mongo 127.0.0.1:27017/test

或者不加選項直接:

  1. shell> mongo
  1. MongoDB shell version: 3.2.10
  2. connecting to: test
  3. Server has startup warnings:
  4. 2016-10-03T12:38:14.769+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
  5. 2016-10-03T12:38:14.769+0800 I CONTROL [initandlisten]
  6. 2016-10-03T12:38:14.769+0800 I CONTROL [initandlisten]
  7. 2016-10-03T12:38:14.769+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
  8. 2016-10-03T12:38:14.769+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
  9. 2016-10-03T12:38:14.774+0800 I CONTROL [initandlisten]
  10. 2016-10-03T12:38:14.774+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
  11. 2016-10-03T12:38:14.774+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
  12. 2016-10-03T12:38:14.774+0800 I CONTROL [initandlisten]
  13. >





這三個wanring,後兩個可以透過修改如下檔案,來關閉transparent_hugepage
  1. echo never > /sys/kernel/mm/transparent_hugepage/enabled
  2. echo never > /sys/kernel/mm/transparent_hugepage/defrag



但這樣重啟會被重置成always,可以寫個指令碼或者放入/etc/rc.local中

關閉hugepage之後,重啟mongd,進入mongo shell則該warning消失:
  1. shell> mongo
  2. MongoDB shell version: 3.2.10
  3. connecting to: test
  4. Server has startup warnings:
  5. 2016-10-12T05:31:46.933+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
  6. 2016-10-12T05:31:46.933+0800 I CONTROL [initandlisten]
  7. >
  8. >

還剩一個warning則很明顯,不建議透過root使用者來啟動mongod。
如果不想讓warning再顯示,可以開啟quiet選項,比如新增到配置檔案中:quiet=true
或者
  1. shell> mongo --quiet



透過help便可獲取常用mongo shell語法:
  1. > help
  2.         db.help()                       help on db methods
  3.         db.mycoll.help()                help on collection methods
  4.         sh.help()                       sharding helpers
  5.         rs.help()                       replica set helpers
  6.         help admin                      administrative help
  7.         help connect                    connecting to a db help
  8.         help keys                       key shortcuts
  9.         help misc                       misc things to know
  10.         help mr                         mapreduce

  11.         show dbs                        show database names
  12.         show collections                show collections in current database
  13.         show users                      show users in current database
  14.         show profile                    show most recent system.profile entries with time >= 1ms
  15.         show logs                       show the accessible logger names
  16.         show log [name]                 prints out the last segment of log in memory, 'global' is default
  17.         use <db_name>                   set current database
  18.         db.foo.find()                   list objects in collection foo
  19.         db.foo.find( { a : 1 } )        list objects in foo where a == 1
  20.         it                              result of the last line evaluated; use to further iterate
  21.         DBQuery.shellBatchSize = x      set default number of items to display on shell
  22.         exit                            quit the mongo shell

比如查怎麼關閉mongod:
先查db相關的幫助:
  1. > db.help()
  2. ………………
  3. db.shutdownServer()
  4. ………………

  5. > db.shutdownServer()
  6. server should be down...
  7. 2016-10-13T17:58:49.544+0800 I NETWORK [thread1] trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
  8. 2016-10-13T17:58:49.547+0800 I NETWORK [thread1] Socket recv() errno:104 Connection reset by peer 127.0.0.1:27017
  9. 2016-10-13T17:58:49.547+0800 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [127.0.0.1:27017]
  10. 2016-10-13T17:58:49.547+0800 I NETWORK [thread1] reconnect 127.0.0.1:27017 (127.0.0.1) failed failed
  11. >

這樣,mongod就已經被關閉了。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-2126245/,如需轉載,請註明出處,否則將追究法律責任。

相關文章