GNU/Linux >> Linux の 問題 >  >> Cent OS

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

MongoDBは、高性能、高可用性、および自動スケーリングを提供するNoSQLデータベースです。 NoSQLデータベースは、MySQLやPostgreSQLとは異なり、保存されたデータを取得または操作するためのSQL(構造化クエリ言語)をサポートしていないことを意味します。

MongoDBはデータをテーブルに保存しません。代わりに、JSON(MongoDBではBSONと呼ばれる)に似た「ドキュメント」構造にデータを格納します。 MongoDBは、6年前の2009年に最初に導入され、現在はMongoDBMongoDBInc.によって開発されています。

このチュートリアルでは、CentOS8サーバーにMongoDB4.4をインストールして構成する方法を示します。 MongoDBをインストールし、いくつかのシステム設定を編集してMongoDBのエラーを修正し、MongoDBの管理者ユーザーを作成してから、MongoDB認証を行います。

前提条件

  • CentOS8サーバー
  • root権限
  • 基本的なLinux/CentOSコマンドを理解する

何をしますか?

  • MongoDBリポジトリを追加する
  • CentOS8にMongoDBをインストールする
  • いくつかのMongoDBエラーを修正
  • MongoDB管理者ユーザーを作成する
  • MongoDB認証を有効にする
  • テスト
ステップ1-MongoDBリポジトリを追加する

まず、SSHユーザーとパスワードを使用してサーバーにログインし、次に次のコマンドを使用してすべてのパッケージを最新バージョンに更新します。

ssh [email protected]
sudo dnf update

次に、「/ etc / yum.repos.d」ディレクトリに移動し、vimエディターを使用して新しいリポジトリファイル「mongodb-4.4.repo」を作成します。

cd /etc/yum.repos.d/
vim mongodb-4.4.repo

次のMongoDB4.4リポジトリを貼り付けます。

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

保存して閉じます。

次に、以下のdnfコマンドを使用して、CentOSシステムで使用可能なすべてのリポジトリを確認します。

sudo dnf repolist

以下は、得られる結果です。

その結果、MongoDBリポジトリがCentOS8システムに追加されました。

ステップ2-MongoDBNoSQLデータベースサーバーをインストールする

MongoDB NoSQLデータベースをインストールするには、以下のdnfコマンドを実行します。

sudo dnf install -y mongodb-org

すべてのインストールが完了したら、MongoDBサービスを開始し、システムブートに追加します。

systemctl start mongod
systemctl enable mongod

MongoDBサービスが稼働しています。以下のコマンドを使用して、サービスを確認してください。

ss -plnt
systemctl status mongod

以下は、得られる結果です。

ご覧のとおり、MongoDBサービスはデフォルトのTCPポート「27017」で実行されています。

ステップ3-MongoDBエラーを修正

この段階で、MongoDBサービスはCentOS8システムで稼働しています。そしてこのステップでは、いくつかのシステム構成を変更していくつかのエラーを修正することにより、MongoDBのインストールを強化します。

-Tunedを使用してTransparentHugePages(THP)を無効にする

MongoDBのインストールパフォーマンスを向上させるには、システムでTHPまたはTransparentHugePagesを無効にする必要があります。また、CentOSシステムの場合、調整されたプロファイル構成を介してTHPを無効にすることができます。

'virtual-guest-no-thp'という名前のカスタム調整済みプロファイル用に新しいディレクトリ'/etc / tuned/virtual-guest-no-thp'を作成します。

sudo mkdir -p /etc/tuned/virtual-guest-no-thp

次に、vimエディターを使用して「/ etc / tuned /virtual-guest-no-thp/」ディレクトリに「tuned.conf」構成を作成します。

vim /etc/tuned/virtual-guest-no-thp/tuned.conf

次の構成を貼り付けます。

[main]
include=virtual-guest

[vm]
transparent_hugepages=never

保存して閉じます。

次に、以下のtuned-admコマンドを使用して、新しいカスタム調整済みプロファイル「virtual-guest-no-thp」をアクティブにします。

sudo tuned-adm profile virtual-guest-no-thp

LinuxステータスでTHPステータスを確認するには、次のコマンドを使用して確認します。

cat /sys/kernel/mm/transparent_hugepage/enabled

ここで、'[決して]'を取得するようにしてください 以下のように応答します。

ご覧のとおり、CentOSシステムのTransparentHugePagesはTunedプロファイルで無効になっています。

-UNIXUlimitのセットアップ

UlimitsまたはUserlimitsは、ユーザーがシステム全体のリソースをどれだけ使用できるかを定義するために使用されます。 MongoDBのパフォーマンスを改善および強化するには、MongoDBサービスのulimit設定を増やす必要があります。

次に、'/etc/security/limits.d/'ディレクトリに移動し、vimエディターを使用して新しい構成'monogd.conf'を作成します。

cd /etc/security/limits.d/
vim mongod.conf

次の構成を貼り付けます。

mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000

保存して閉じます。

新しい構成を適用するには、以下のコマンドを実行します。

sysctl -p

ここで、エラーがなく、MongoDBのUlimit構成が完了していることを確認してください。

-警告を無効にするMongoDBクラウドモニタリング(オプション)

この段階はオプションです。 MongoDBシェルにログインするときは、MongoDBCloudMonitoringサービスに関する情報を無視できます。

この警告を無効にするには、以下の「mongo」コマンドを使用してMongoDBシェルにログインします。

mongo

次に、次のクエリを実行します。

db.disableFreeMonitoring()

' exitと入力します 'MongoDBシェルからログアウトして、サーバーを再起動します。

sudo reboot

その結果、MongoDBクラウドモニタリングサービスの警告はなくなりました。

ステップ4-管理者ユーザーMongoDBを作成する

このステップでは、「mongo」シェルを使用してMongoDBの管理者ユーザーを作成します。

以下の「mongo」コマンドを使用してMongoDBシェルにログインします。

mongo

次に、「admin」データベースに切り替えます。

use admin

次に、次のクエリを使用して、パスワード「hakasepasswordformongodbadmin」で新しいユーザー「admin」を作成します。

db.createUser(
  {
    user: "admin",
    pwd: "hakasepasswordformongodbadmin",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

そして、MongoDBユーザーが作成されました。以下のクエリを使用して、MongoDB上のすべてのユーザーを確認してください。

show users

以下は、得られる結果です。

その結果、MongoDBの管理ユーザーが作成されました。「exit」と入力してMongoDBシェルからログアウトします。

ステップ5-MongoDB認証を有効にする

adminユーザーを作成したら、MongoDB認証を有効にして、データベース上のデータを表示するための十分な権限を持たない別のユーザーを防ぎます。

MongoDB認証を有効にするには、vimエディターを使用して構成'/etc/mongod.conf'を編集します。

vim /etc/mongod.conf

「セキュリティ」オプションのコメントを解除し、以下のように構成を追加します。

security
    authorization: "enabled"

保存して閉じます。

次に、MongoDBサービスを再起動して、新しい構成を適用します。

systemctl restart mongod

エラーがなく、MongoDB認証が有効になっていることを確認してください。

ステップ6-テスト

MongoDB認証のインストールと構成をテストするには、MongoDBシェルを介して確認できます。

以下のコマンドを使用してMongoDBシェルにログインします。

mongo

次に、データベース「admin」に切り替えて、次のクエリを使用してMongoDB上のすべてのユーザーを表示します。

use admin
show users

以下は、得られる結果です。

ご覧のとおり、データベース「admin」にすべてのユーザーリストを表示することは許可されていません。

次に、次のクエリを使用してMongoDBサーバーに対して認証します。

db.auth('admin', 'hakasepasswordformongodbadmin')

ここで、応答番号が '1'であることを確認してください。 、これは認証が成功したことを意味します。

次に、以下のクエリを使用して、MongoDBサーバーで利用可能なすべてのユーザーを表示および確認できます。

show users

そして、作成したばかりのMongoDB管理者が一番上に表示されます。

その結果、CentOS8システムへのMongoDBNoSQLデータベースサーバーのインストールと構成は正常に完了しました。


Cent OS
  1. CentOS7にNginxをインストールして構成する方法

  2. RHEL 8 / CentOS8LinuxシステムにRをインストールして構成する方法

  3. CentOS8にCyber​​Panelをインストールして設定する方法

  1. CentOS7にRedisをインストールして設定する方法

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

  3. CentOS7にRedmineをインストールして設定する方法

  1. CentOS8にRedisをインストールして設定する方法

  2. CentOS8にMongoDBをインストールする方法

  3. CentOS8にSambaをインストールして設定する方法