mongodb安裝配置及複本集的操作

來源:互聯網
上載者:User

標籤:mongodb

一、Mongdb3.0安裝


官網下載最新穩定版本的mongodb軟體

https://www.mongodb.org/downloads


解壓軟體

[[email protected] service]# tar zxvf mongodb-linux-x86_64-rhel62-3.0.3.tgz mongodb-linux-x86_64-rhel62-3.0.3/READMEmongodb-linux-x86_64-rhel62-3.0.3/THIRD-PARTY-NOTICESmongodb-linux-x86_64-rhel62-3.0.3/GNU-AGPL-3.0mongodb-linux-x86_64-rhel62-3.0.3/bin/mongodumpmongodb-linux-x86_64-rhel62-3.0.3/bin/mongorestoremongodb-linux-x86_64-rhel62-3.0.3/bin/mongoexportmongodb-linux-x86_64-rhel62-3.0.3/bin/mongoimportmongodb-linux-x86_64-rhel62-3.0.3/bin/mongostatmongodb-linux-x86_64-rhel62-3.0.3/bin/mongotopmongodb-linux-x86_64-rhel62-3.0.3/bin/bsondumpmongodb-linux-x86_64-rhel62-3.0.3/bin/mongofilesmongodb-linux-x86_64-rhel62-3.0.3/bin/mongooplogmongodb-linux-x86_64-rhel62-3.0.3/bin/mongoperfmongodb-linux-x86_64-rhel62-3.0.3/bin/mongodmongodb-linux-x86_64-rhel62-3.0.3/bin/mongosmongodb-linux-x86_64-rhel62-3.0.3/bin/mongo

建立mongdb資料存放路徑及日誌存放路徑

[[email protected] service]# mkdir -p /date/{mongodbdata,mongodb_logs}

建立mongod帳號,授權資料目錄

[[email protected] date]# useradd mongod[[email protected] date]# chown -R mongod.mongod /date/mongodbdata/

建立mongod.conf設定檔,只需要以下幾個選項即可

[[email protected] date]#cat /etc/mongod.conf dbpath = /data/mongodata                           #mongodb資料存放路徑logpath = /data/mongodb_logs/mongodb.log           #mongodb日誌存放路徑httpinterface = true                               #mongodb管理連接埠預設+1000:280fork = true                                        #後台啟動

二、啟動Mongodb初始化資料

(1)第一種直接在命令列中指定路徑和日誌

/usr/local/service/mongodb-linux-x86_64-rhel62-3.0.3/bin/mongod --dbpath=/date/mongodbdate/ --logpath=/date/mongodb_logs/mongodb.log --forkabout to fork child process, waiting until server is ready for connections.forked process: 5238child process started successfully, parent exiting連接埠已經起來了:[[email protected] mongodb_logs]# lsof -i :27017COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEmongod  5238 root    6u  IPv4  41939      0t0  TCP *:27017 (LISTEN)初始化由於要同步資料,建立本地的一些資料檔案。會啟動比較慢。


(2)第二種方式啟動:通過載入設定檔啟動(推薦)

[[email protected] mongodbdate]# /usr/local/service/mongodb-linux-x86_64-rhel62-3.0.3/bin/mongod -f /etc/mongod.conf about to fork child process, waiting until server is ready for connections.forked process: 5382child process started successfully, parent exiting

進入終端查看資料庫

[[email protected] mongodb_logs]# /usr/local/service/mongodb-linux-x86_64-rhel62-3.0.3/bin/mongoMongoDB shell version: 3.0.3connecting to: testWelcome to the MongoDB shell.For interactive help, type "help".For more comprehensive documentation, seehttp://docs.mongodb.org/Questions? Try the support grouphttp://groups.google.com/group/mongodb-userServer has startup warnings: 2015-06-30T17:37:53.882+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.2015-06-30T17:37:53.882+0800 I CONTROL  [initandlisten] 2015-06-30T17:37:53.905+0800 I CONTROL  [initandlisten] 2015-06-30T17:37:53.905+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always‘.2015-06-30T17:37:53.905+0800 I CONTROL  [initandlisten] **        We suggest setting it to ‘never‘2015-06-30T17:37:53.905+0800 I CONTROL  [initandlisten] 2015-06-30T17:37:53.905+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always‘.2015-06-30T17:37:53.906+0800 I CONTROL  [initandlisten] **        We suggest setting it to ‘never‘2015-06-30T17:37:53.906+0800 I CONTROL  [initandlisten] > show dbs;local  0.078GB

啟動報錯會出現以下:

[[email protected] mongodbdate]# /usr/local/service/mongodb-linux-x86_64-rhel62-3.0.3/bin/mongod -f /etc/mongod.conf about to fork child process, waiting until server is ready for connections.forked process: 5298

檢查原因:

第一:由於之前沒有正常的退出Mongodb服務,需要刪除mongod.lock檔案,再次啟動恢複正常。

第二:設定檔有問題,需要檢查設定檔是否有特殊字元,導致無法解析


三、mongodb複本集配置

配置mongodb的複本集務必要做好以下幾點:

1、各個節點能夠正常訪問mongodb的socket連接埠,iptables要允許存取

2、SELINUX必須要關閉掉,以免禁止連接埠複製

3、各個伺服器節點要做好解析/etc/hosts

4、由於複本集是通過Heartbeat心跳線串連到,務必同步好各個節點的時間

小註:本人由於之前沒有注意到這些,被坑了好久。哈哈!!!


mongodb複製過程及概念

(1)主節點將資料修改操作儲存至oplog,oplog:大小固定的檔案,儲存在local資料庫

(2)首次同步處理(inital sync)

   節點沒有任何資料

   節點丟失副本複製曆史

   :複製所有的資料庫

   :應用資料集的所有改變:複製oplog並應用於本地

   :為所有collection的構建索引

(3)復原後追趕(post-rollback catch-up)

 (4)切分塊遷移(shareding chunk migrations)

local:存放了複本集的所有元素和oplog;用於儲存oplog的是一個名為oplog.rs的collection;

oplog.rs的大小依賴於OS及檔案系統;但可以自訂其大小oplogsize


環境實驗

       

本文出自 “奮鬥中的老兵” 部落格,請務必保留此出處http://jiaxu201.blog.51cto.com/4569604/1669504

mongodb安裝配置及複本集的操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.