MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

CentOS7にMongoDBをインストールして構成する方法


この記事では、CentOS 7にMongoDBをインストールして構成する方法を学習します。MongoDBはオープンソースで無料のデータベース(NoSQLデータベース)です。つまり、ドキュメント指向のデータベースであり、次のようなドキュメントを保存します。構造的にJSON(MongoDBではBSONと呼ばれます)に似ており、高い可用性、パフォーマンス、自動スケーリングを備えています。 RDBMSとは異なり、データベーステーブルにデータを追加するために事前定義されたデータベーススキーマは必要ありません。既存のスキーマを乱すことなく、いつでもスキーマを変更できます。

前提条件

  • LinuxMachineにインストールされたCentos7。
  • rootユーザー権限を持つユーザー。

MongoDBリポジトリの追加

デフォルトでは、MongoDBリポジトリはCentOS 7リポジトリにないため、MongoDBリポジトリをローカルマシンに追加する必要がありました。

# vi /etc/yum.repos.d/mongodb-org.repo
Output:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

MongoDBリポジトリをローカルマシンに追加したら、yumがリポジトリ情報をプルチェックするようにシステムを作成します。

# yum update
Output:
Loaded plugins: fastestmirror
base                                           | 3.6 kB 00:00
extras                                         | 3.4 kB 00:00
mongodb-org-3.2                               | 2.5 kB 00:00
updates                                        | 3.4 kB 00:00
mongodb-org-3.2/7/primary_db | 54 kB 00:01
Determining fastest mirrors
* base: mirror.dhakacom.com
* extras: mirror.dhakacom.com
* updates: mirror.dhakacom.com
No packages marked for update

MongoDBのインストール

ローカルマシンでリポジトリの詳細が更新されたので、yumコマンドを使用してMongoDBをインストールします。

以下は、MongoDBをインストールするためのコマンドです。

# yum install mongodb-org
Output:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.dhakacom.com
* extras: mirror.dhakacom.com
* updates: mirror.dhakacom.com
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:3.2.11-1.el7 will be installed
…
…
…
---> Package mongodb-org-mongos.x86_64 0:3.2.11-1.el7 will be installed
---> Package mongodb-org-server.x86_64 0:3.2.11-1.el7 will be installed
---> Package mongodb-org-shell.x86_64 0:3.2.11-1.el7 will be installed
---> Package mongodb-org-tools.x86_64 0:3.2.11-1.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package                Arch       Version       Repository       Size
================================================================================
Installing:
mongodb-org            x86_64    3.2.11-1.el7   mongodb-org-3.2 5.8 k
Installing for dependencies:
mongodb-org-mongos    x86_64     3.2.11-1.el7   mongodb-org-3.2 5.6 M
mongodb-org-server    x86_64     3.2.11-1.el7   mongodb-org-3.2 12 M
mongodb-org-shell     x86_64     3.2.11-1.el7   mongodb-org-3.2 6.7 M
mongodb-org-tools     x86_64     3.2.11-1.el7   mongodb-org-3.2 41 M
Transaction Summary
================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 66 M
Installed size: 201 M
Is this ok [y/d/N]:y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mongodb-org-3.2/packages/mongodb-org-3.2.11-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID ea312927: NOKEY
Public key for mongodb-org-3.2.11-1.el7.x86_64.rpm is not installed
(1/5): mongodb-org-3.2.11-1.el7.x86_64.rpm | 5.8 kB 00:01
(2/5): mongodb-org-mongos-3.2.11-1.el7.x86_64.rpm | 5.6 MB 00:01
(3/5): mongodb-org-shell-3.2.11-1.el7.x86_64.rpm | 6.7 MB 00:00
(4/5): mongodb-org-server-3.2.11-1.el7.x86_64.rpm | 12 MB 00:06
(5/5): mongodb-org-tools-3.2.11-1.el7.x86_64.rpm | 41 MB 00:06
--------------------------------------------------------------------------------
Total 7.3 MB/s | 66 MB 00:08
Retrieving key from https://www.mongodb.org/static/pgp/server-3.2.asc
Importing GPG key 0xEA312927:
Userid : "MongoDB 3.2 Release Signing Key <[email protected]>"
Fingerprint: 42f3 e95a 2c4f 0827 9c49 60ad d68f a50f ea31 2927
From : https://www.mongodb.org/static/pgp/server-3.2.asc
Is this ok [y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
   Installing : mongodb-org-server-3.2.11-1.el7.x86_64 1/5
   Installing : mongodb-org-mongos-3.2.11-1.el7.x86_64 2/5
   Installing : mongodb-org-tools-3.2.11-1.el7.x86_64 3/5
   Installing : mongodb-org-shell-3.2.11-1.el7.x86_64 4/5
   Installing : mongodb-org-3.2.11-1.el7.x86_64 5/5
   Verifying : mongodb-org-shell-3.2.11-1.el7.x86_64 1/5
   Verifying : mongodb-org-tools-3.2.11-1.el7.x86_64 2/5
   Verifying : mongodb-org-mongos-3.2.11-1.el7.x86_64 3/5
   Verifying : mongodb-org-server-3.2.11-1.el7.x86_64 4/5
   Verifying : mongodb-org-3.2.11-1.el7.x86_64 5/5
Installed:
   mongodb-org.x86_64 0:3.2.11-1.el7
Dependency Installed:
   mongodb-org-mongos.x86_64 0:3.2.11-1.el7
   mongodb-org-server.x86_64 0:3.2.11-1.el7
   mongodb-org-shell.x86_64 0:3.2.11-1.el7
   mongodb-org-tools.x86_64 0:3.2.11-1.el7

Complete!

MongoDDがインストールされたら、MongoDBサービスを開始します。

以下は、MongoDBサービスを開始するためのコマンドです–

# systemctl start mongod

以下のコマンドを実行して、MongoDBサービスのステータスを確認します。

# systemctl status mongod

Output:
mongod.service - SYSV: Mongo is a scalable, document-oriented database.
Loaded: loaded (/etc/rc.d/init.d/mongod)
Active: active (running) since Fri 2016-11-25 14:09:25 IST; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 9901 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mongod.service
└─9912 /usr/bin/mongod -f /etc/mongod.conf
Nov 25 14:09:25 localhost.localdomain systemd[1]: Starting SYSV: Mongo is a s...
Nov 25 14:09:25 localhost.localdomain runuser[9908]: pam_unix(runuser:session...
Nov 25 14:09:25 localhost.localdomain runuser[9908]: pam_unix(runuser:session...
Nov 25 14:09:25 localhost.localdomain mongod[9901]: Starting mongod: [ OK ]
Nov 25 14:09:25 localhost.localdomain systemd[1]: Started SYSV: Mongo is a sc...Hint: Some lines were ellipsized, use -l to show in full.

MongoDB構成をリロードします

# systemctl reload mongod

MongoDBサービスを停止します

# systemctl stop mongod

MongoDBのプロセス数の構成

デフォルトでは、Mongoを実行すると、プロセスの数が4096に少なすぎるため、MongoDBは以下のエラーを表示します–

# mongo
Output:
MongoDB shell version: 3.2.11
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.org/
Questions? Try the support group
https://groups.google.com/group/mongodb-user
Server has startup warnings:
2016-11-25T14:09:25.553+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
2016-11-25T14:09:25.553+0530 I CONTROL [initandlisten]

プロセスの数を修正するには、「/ etc / security /Limits.d/」にあるファイル「20-nproc.conf」を編集する必要がありました

# vi /etc/security/limits.d/20-nproc.conf
Output:
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 4096
root soft nproc unlimited

4096を32000に変更する必要がありました

* soft nproc 32000

値を32000に変更したら、MongoDBサービスを再起動する必要がありました。以下は、MongoDBサービスを再起動するコマンドです。

# systemctl restart mongod

MongoDB管理者ユーザーの作成

ここでは、ユーザー名adminとパスワード「password123」のユーザーを1人作成します。ユーザーを作成したら、データベース内のユーザーリストを確認します。

# mongo
Output:
MongoDB shell version: 3.2.11
connecting to: test
> use admin
switched to db admin
> db.createUser(
...    {
...       user: "admin",
...       pwd: "password123",
...       roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...    }
... )
Successfully added user: {
   "user" : "admin",
   "roles" : [
      {
         "role" : "userAdminAnyDatabase",
         "db" : "admin"
      }
   ]
}
> show users;
{
   "_id" : "admin.admin",
   "user" : "admin",
   "db" : "admin",
   "roles" : [
      {
         "role" : "userAdminAnyDatabase",
         "db" : "admin"
      }
   ]
}
>

この記事では、MongoDBリポジトリをローカルマシンに追加してMongoDBをインストールする方法を学びました。また、noを変更または増やす方法についても学びました。 MongoDB構成での4096から32000までのプロセスの概要と、管理ユーザーの作成方法。


  1. CentOSをRaspberryPiにインストールする方法

    市場で最も人気のあるシングルボードコンピューターの1つとして、RaspberryPiはほとんどのLinuxユーザーの家庭の主力製品です。ホームサーバーアプリケーション、子供向けのコンピューター、Linuxの学習、その他のスキルのいずれであっても、Piの用途を確実に見つけることができます。ホームサーバーとしての人気を踏まえ、CentOSをRaspberryPiにインストールして堅固なホームサーバーを作成する方法を紹介します。 CentOSイメージの取得 CentOSプロジェクトの特定のRaspberryPiイメージは、ダウンロードページに少し隠されています。最高のエクスペリエンスを得るには、C

  2. Mac に MongoDB を簡単かつ迅速にインストールする方法

    MongoDB Mac をインストールする方法 ?もう 1 つの NoSQL サーバーである MongoDB は、現在最も使用されています。これは、MongoDB 内のコンテンツが表形式全体で保存されるだけでなく取得されることもないため、単なる NoSQL (SQL だけでなく) データベース以上のものとして分類されているようです。これにより、実際に MongoDB の広範な概要が得られます。この投稿を通して、MongoDB を Mac の作業環境にインストールする方法について説明します。 パート 1. Mac に MongoDB をインストールするための要件 MongoDB は、NoSQ