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
先建立文件: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
啓動mongodb :
systemctl start mongod.service
中止mongodb :
systemctl stop mongod.service
查到mongodb的狀態:
systemctl status mongod.service
公網鏈接服務器開啓27017端口
Cent OS 7上須要把mongoDB添加到systemd,不然會出現下面的錯誤
1 |
|
將mongoDB添加到systemd
vi /usr/lib/systemd/system/mongod.service
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
創建連接
1 |
|
從新加載systemctl
1 |
|
配置文件啓動:
./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 ~]$