使用Yum安裝MongoDB Linux版
在之前筆者的Blog中,比較詳細的介紹瞭如何使用從官網上下載的tar壓縮包安裝Linux版本的MongoDB。這種方式針對一些比較簡單的環境,是很方便的做法。在官方文件中,也是認可這種安裝方式的,被稱為TarBall安裝。
另外一種Linux版本安裝方式,就是使用yum連線官方的Repository庫,直接下載安裝介質。這種方法更加直接,而且安裝結果和作業系統匹配程度更好。
1、環境說明
本文使用紅帽6.5進行實驗。
[root@oracle-test ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@oracle-test ~]# uname -r
2.6.32-431.el6.x86_64
安裝目標版本為MongoDB最新版本3.4。
2、使用yum進行安裝
從MongoDB官方網站上,獲取yum資源庫地址。建立對應的Repo檔案。
[root@oracle-test ~]# cd /etc/yum.repos.d/
[root@oracle-test yum.repos.d]# ls -l
total 12
-rw-r--r--. 1 root root 74 Dec 28 2016 localyum.repo
-rw-r--r--. 1 root root 198 Jul 16 13:02 mongodb-org-3.4.repo
-rw-r--r--. 1 root root 636 Sep 14 2016 zabbix.repo
對應資訊:
[root@oracle-test yum.repos.d]# cat mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=
gpgcheck=1
enable=1
gpgkey=
呼叫yum進行安裝。注意:在yum安裝物件上,包括幾個物件,分別表示不同的安裝內容:
ü mongodb-org:MongoDB全集資訊,包括Server、Client(Mongo Shell)、各型別工具;
ü mongodb-org-server:伺服器元件;
ü mongodb-org-shell:MongoDB Shell元件,類似於sqlplus;
ü mongodb-org-tools:備份還原工具、資料匯入匯出等;
[root@oracle-test yum.repos.d]# yum install -y mongodb-org
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:3.4.6-1.el6 will be installed
--> Processing Dependency: mongodb-org-tools = 3.4.6 for package: mongodb-org-3.4.6-1.el6.x86_64
--> Processing Dependency: mongodb-org-shell = 3.4.6 for package: mongodb-org-3.4.6-1.el6.x86_64
--> Processing Dependency: mongodb-org-server = 3.4.6 for package: mongodb-org-3.4.6-1.el6.x86_64
--> Processing Dependency: mongodb-org-mongos = 3.4.6 for package: mongodb-org-3.4.6-1.el6.x86_64
--> Running transaction check
---> Package mongodb-org-mongos.x86_64 0:3.4.6-1.el6 will be installed
---> Package mongodb-org-server.x86_64 0:3.4.6-1.el6 will be installed
---> Package mongodb-org-shell.x86_64 0:3.4.6-1.el6 will be installed
---> Package mongodb-org-tools.x86_64 0:3.4.6-1.el6 will be installed
(篇幅原因,有省略......)
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Dependency Installed:
mongodb-org-mongos.x86_64 0:3.4.6-1.el6
mongodb-org-server.x86_64 0:3.4.6-1.el6
mongodb-org-shell.x86_64 0:3.4.6-1.el6
mongodb-org-tools.x86_64 0:3.4.6-1.el6
Complete!
[root@oracle-test yum.repos.d]#
另外,在國內的伺服器上,由於網路的原因,可能會有下載中間超時中斷的情況。可以重試幾次,或者知道下載地址之後,單獨透過支援斷點程式進行下載。
3、後續配置
使用yum方式若干好處,一個是預設就有配置檔案進行程式控制,另一個就是自動以作業系統服務Service的方式組織。
同Oracle一樣,我們建議將Selinux關閉。
[root@oracle-test yum.repos.d]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
以作業系統服務方式執行,避免出現單獨shell執行的情況。
[root@oracle-test ~]# chkconfig | grep mongod
mongod 0:off 1:off 2:off 3:on 4:off 5:on 6:off
[root@oracle-test ~]# service mongod status
mongod (pid 2078) is running...
[root@oracle-test log]# ps -ef | grep mongo
mongod 2078 1 0 14:25 ? 00:00:01 /usr/bin/mongod -f /etc/mongod.conf
root 2419 2336 0 14:29 pts/0 00:00:00 grep mongo
[root@oracle-test log]# id mongod
uid=495(mongod) gid=490(mongod) groups=490(mongod)
觀察幾個方面問題:
首先,rpm安裝程式建立了單獨使用者mongod來作為執行程式主體。其次,mongod啟動引數以配置檔案/etc/mongod.conf的方式儲存在作業系統上,可以編輯執行。第三,chkconfig中可以看到開機自動啟動程式服務。
日誌和資料檔案上,tarball安裝比較“簡陋”,都是/data/db目錄和直接輸入到螢幕上。使用mongod.conf配置方式後,這種靈活性要好很多。
日誌檔案:
[root@oracle-test ~]# cd /var/log/
[root@oracle-test log]# ls -l | grep mongo
drwxr-xr-x. 2 mongod mongod 4096 Jul 16 14:16 mongodb
[root@oracle-test mongodb]# pwd
/var/log/mongodb
[root@oracle-test mongodb]# ls -l
total 4
-rw-r-----. 1 mongod mongod 4062 Jul 16 14:25 mongod.log
初始配置檔案專案:
[root@oracle-test mongodb]# cd /etc
[root@oracle-test etc]# ls -l | grep mongod.conf
-rw-r--r--. 1 root root 768 Jul 6 02:55 mongod.conf
[root@oracle-test etc]# cat mongod.conf
# mongod.conf
# for documentation of all options, see:
#
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log –日誌檔案位置
# Where and how to store data.
storage:
dbPath: /var/lib/mongo --儲存資料位置
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
各種配置專案,可以參見Mongodb官方文件資訊:。
4、引數修改實驗
嘗試在mongod.conf檔案上進行簡單的修改。對於MongoDB,除了27017埠之外,還會有一個28017的Web方式訪問介面。預設是不開放的,需要使用配置檔案開啟。
net:
port: 27017
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
http:
enabled: true
JSONPEnabled: true
RESTInterfaceEnabled: true
"mongod.conf" 47L, 847C written
重新啟動mongod服務。
[root@oracle-test etc]# service mongod restart
Stopping mongod: [ OK ]
Starting mongod: [ OK ]
2017-07-16T14:44:12.957+0800 I CONTROL [initandlisten]
2017-07-16T14:44:12.960+0800 I NETWORK [websvr] admin web console waiting for connections on port 28017
2017-07-16T14:44:12.961+0800 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongo/diagnostic.data'
2017-07-16T14:44:12.961+0800 I NETWORK [thread1] waiting for connections on port 27017
注意:這個時候,只能進行本地登入,從遠端客戶端使用shell或者網頁都不能訪問。
C:\Users\admin>mongo --host 172.xx.xx.xxx
MongoDB shell version v3.4.5
connecting to: mongodb://172.xx.xx.xxx:27017/
2017-07-16T15:01:45.913+0800 W NETWORK [thread1] Failed to connect to 172.16.19
.143:27017 after 5000ms milliseconds, giving up.
2017-07-16T15:01:45.914+0800 E QUERY [thread1] Error: couldn't connect to ser
ver 172.xx.xx.xxx:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
原因在於net引數的bindIP內容,預設情況為:
net:
port: 27017
bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
需要修改為0.0.0.0,否則只能在本地專案。
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
[root@oracle-test etc]# service mongod restart
Stopping mongod: [ OK ]
Starting mongod: [ OK ]
C:\Users\admin>mongo --host 172.xx.xx.xxx
MongoDB shell version v3.4.5
connecting to: mongodb://172.xx.xx.xxx:27017/
MongoDB server version: 3.4.6
Server has startup warnings:
(篇幅原因,有省略……)
2017-07-16T15:12:19.433+0800 I CONTROL [initandlisten]
2017-07-16T15:12:19.433+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits
too low. rlimits set to 1024 processes, 64000 files. Number of processes should
be at least 32000 : 0.5 times number of files.
2017-07-16T15:12:19.433+0800 I CONTROL [initandlisten]
>
對於出現的soft rlimits提示,可以修改limits.conf檔案,設定額外的限制數目。
[root@oracle-test ~]# vi /etc/security/limits.conf
#@student - maxlogins 4
mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000
[root@oracle-test ~]# service mongod restart
Stopping mongod: [ OK ]
Starting mongod: [ OK ]
5、結論
本文介紹了使用yum方式安裝mongodb的方法。這種方法下,系統出錯的情況會更少一些,配置專案也更加清晰。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-2142245/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux – CentOS 7 yum方式快速安裝MongoDBLinuxCentOSMongoDB
- Linux安裝MySQL(使用yum)LinuxMySql
- Linux 安裝 yumLinux
- linux 安裝yum 安裝phpLinuxPHP
- yum安裝簡潔版
- linux配置本地yum安裝--FTP yumLinuxFTP
- 【Linux】yum 安裝nginxLinuxNginx
- MongoDB | Linux 安裝MongoDBLinux
- MongoDB安裝(Linux)MongoDBLinux
- Linux 使用Yum安裝Go和配置環境LinuxGo
- oracle linux使用安裝盤製作本地yumOracleLinux
- linux下yum安裝mongoLinuxGo
- linux系統安裝yumLinux
- RedHat Linux安裝CentOS YUMRedhatLinuxCentOS
- Redhat linux 6.5 yum安裝RedhatLinux
- yum安裝及使用全集
- 利用阿里雲的源yum方式安裝Mongodb阿里MongoDB
- Linux下安裝java及配置(yum安裝)LinuxJava
- 【Linux】Linux軟體安裝管理2 使用安裝光碟配置本地yum倉庫Linux
- linux上安裝mongodbLinuxMongoDB
- Linux 下安裝 MongodbLinuxMongoDB
- Linux版本MongoDB安裝LinuxMongoDB
- RedHat Linux 本地Yum源安裝RedhatLinux
- 使用yum安裝oracle的包Oracle
- yum安裝mongodb啟動失敗怎麼解決MongoDB
- yum安裝
- mysql安裝 (yum 安裝)MySql
- Linux上yum安裝mysql5.6LinuxMySql
- linux下yum無法安裝lrzszLinux
- Linux mongodb 安裝與配置LinuxMongoDB
- CentOS 7.0下使用yum安裝MySQLCentOSMySql
- 使用yum 命令安裝 dotnet 6
- centos7中使用yum安裝NGINX安裝CentOSNginx
- mongodb的安裝以及使用MongoDB
- mongodb的安裝配置,使用MongoDB
- docker安裝mongoDB及使用DockerMongoDB
- yum 安裝 PHPPHP
- mysql yum 安裝MySql