centos7 新手阿里雲服務器安裝mongodb

簡介

  • MongoDB 是一個基於分佈式 文件存儲的NoSQL數據庫
  • 由C++語言編寫,運行穩定,性能高
  • 旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案

MongoDB特色

  • 模式自由 :能夠把不一樣結構的文檔存儲在同一個數據庫裏
  • 面向集合的存儲:適合存儲 JSON風格文件的形式
  • 完整的索引支持:對任何屬性可索引
  • 複製和高可用性:支持服務器之間的數據複製,支持主-從模式及服務器之間的相互複製。複製的主要目的是提供冗餘及自動故障轉移
  • 自動分片:支持雲級別的伸縮性:自動分片功能支持水平的數據庫集羣,可動態添加額外的機器
  • 豐富的查詢:支持豐富的查詢表達方式,查詢指令使用JSON形式的標記,可輕易查詢文檔中的內嵌的對象及數組
  • 快速就地更新:查詢優化器會分析查詢表達式,並生成一個高效的查詢計劃
  • 高效的傳統存儲方式:支持二進制數據及大型對象(如照片或圖片)

Packages包說明

MongoDB官方源中包含如下幾個依賴包:
mongodb-org: MongoDB元數據包,安裝時自動安裝下面四個組件包:
1.mongodb-org-server: 包含MongoDB守護進程和相關的配置和初始化腳本。
2.mongodb-org-mongos: 包含mongos的守護進程。
3.mongodb-org-shell: 包含mongo shell。
4.mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。mongodb

使用yum安裝:shell

官網:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-amazon/數據庫

安裝步驟vim

1.配置MongoDB的yum源

先建立文件:touch /etc/yum.repos.d/mongodb-org-4.0.repocentos

而後訪問:vim /etc/yum.repos.d/mongodb-org-4.0.repo數組

按i可進入編輯模式服務器

#添加如下內容:
[mongodb-org-4.0] 
name=MongoDB Repository  
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/  
gpgcheck=1  
enabled=1  
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

#這裏能夠修改 gpgcheck=0, 省去gpg驗證
[root@localhost ~]# yum makecache

按ESC鍵 跳到命令模式,而後按:鍵,再wq進行保存分佈式

安裝命令:工具

yum -y install mongodb-org

安裝完成後:oop

已安裝:
  mongodb-org.x86_64 0:3.4.14-1.el7

做爲依賴被安裝:
  mongodb-org-mongos.x86_64 0:3.4.14-1.el7          mongodb-org-server.x86_64 0:3.4.14-1.el7
  mongodb-org-shell.x86_64 0:3.4.14-1.el7           mongodb-org-tools.x86_64 0:3.4.14-1.el7

完畢!
[root@adminset yum.repos.d]#

查看mongo安裝位置 :

whereis mongod

查看修改配置文件 :    

vim /etc/mongod.conf

3.啓動MongoDB 

啓動mongodb :

systemctl start mongod.service

中止mongodb :

systemctl stop mongod.service

查到mongodb的狀態:

systemctl status mongod.service

公網鏈接服務器開啓27017端口

Cent OS 7上須要把mongoDB添加到systemd,不然會出現下面的錯誤

1

systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..

將mongoDB添加到systemd

 vi /usr/lib/systemd/system/mongod.service

1

2

3

4

5

6

7

8

9

10

11

12

13

# vi /usr/lib/systemd/system/mongod.service

[Unit]

Description=mongodb database

 

[Service]

User=mongod

Group=mongod

Environment="OPTIONS=--quiet -f /etc/mongod.conf"

ExecStart=/usr/bin/mongod $OPTIONS run

PIDFile=/var/run/mongodb/mongod.pid

 

[Install]

WantedBy=multi-user.target

創建連接

1

# ln -s /usr/lib/systemd/system/mongod.service /etc/systemd/system/multi-user.target.wants/

從新加載systemctl

1

# systemctl daemon-reload

配置文件啓動:

./mongod --config /etc/mongodb.conf --fork #本身路徑的位置

在centos7中,若是服務器重啓,那麼再次啓動mongodb的時候會報錯

cat /var/log/mongodb/mongod.log

查看日誌發現:ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory

Centos7系統每次會把/var/run下面的一些項目清理,因此下次重起來的時候就沒有了這個文件了,如今的systemd啓動的話,沒有什麼好辦法處理這個文件,由於systemd啓動就是執行一個命令:

  /usr/bin/mongod --quiet -f /etc/mongod.conf run

  處理方案

  本身建立一個永久的文件路徑,以及這個pid文件

  修改配置文件/etc/mongod.conf裏面的pid路徑,而後修改systemd條目的路徑。

具體操做

  1.建立文件,並修改權限

  [azuo1228@ecs-ee2fe26e /]$ sudo mkdir /mongod

  [azuo1228@ecs-ee2fe26e /]$ sudo touch /mongod/mongod.pid

  [azuo1228@ecs-ee2fe26e /]$ sudo chown -R mongod:mongod /mongod

  2.修改配置

  [azuo1228@ecs-ee2fe26e /]$ sudo vim /etc/mongod.conf

  把裏面的:

  pidFilePath: /var/run/mongodb/mongod.pid

  修改成建立的文件:

  pidFilePath: /mongod/mongod.pid

  3.修改systemd條目

  [azuo1228@ecs-ee2fe26e ~]$ sudo vim /etc/systemd/system/multi-user.target.wants/mongod.service

  把裏面的:

  PIDFile=/var/run/mongodb/mongod.pid

  修改成制定的文件的路徑:

  PIDFile=/mongod/mongod.pid

  4. reload systemd

  [azuo1228@ecs-ee2fe26e ~]$ sudo systemctl daemon-reload

  5. 啓動mongod或者重起電腦

  [azuo1228@ecs-ee2fe26e ~]$ sudo service mongod start

6.查看狀態

  [azuo1228@ecs-ee2fe26e ~]$ sudo systemctl status mongod.service

  NOTE 1:

  mongodb安裝更新以後,mongo.conf不會更新,可是,會更新

  /etc/systemd/system/multi-user.target.wants/mongod.service

  ,裝一個新的

  /etc/systemd/system/multi-user.target.wants/mongod.service

  因此,也會起不來。

  若是有按照上面設置過conf文件,也須要再次修改這個systemd文件。

  NOTE 2:

  更新的mongodb 3.4.1,已經修正了這個問題

  [azuo1228@Server ~]$ sudo rpm -qa | grep mongo

  mongodb-org-3.4.1-1.el7.x86_64

  mongodb-org-shell-3.4.1-1.el7.x86_64

  mongodb-org-tools-3.4.1-1.el7.x86_64

  mongodb-org-mongos-3.4.1-1.el7.x86_64

  mongodb-org-server-3.4.1-1.el7.x86_64

  [azuo1228@Server ~]$

相關文章
相關標籤/搜索