sql >> データベース >  >> NoSQL >> MongoDB

MongoDB用のPerconaサーバーをアップグレードするためのヒント

    MongoDB用のPerconaサーバーは、Perconaを利用したMongoDBオープンソースディストリビューションです。これは無料で完全に互換性があり、MongoDBCommunityエディションの代わりになります。また、MongoDBのEnterprise Editionでのみ利用できる「エンタープライズグレード」の機能も提供します。たとえば、LDAP認証と承認、監査ログ、Kerberos認証などです。

    MongoDB用のPerconaサーバーのアップグレードは本当に簡単です。このブログでは、いくつかのアップグレードのヒントについて説明し、バージョン3.6からバージョン4.0にアップグレードする方法の例を示します。

    アップグレードの準備

    アップグレードを実行する前に、いくつかの準備を行うことをお勧めします。ドキュメントとアプリケーション側で互換性の変更を常に確認してください。変更および改善機能、廃止された機能(存在する場合)に関連するドキュメントを確認してください。

    MongoDBのドライバー互換性マトリックスをチェックして、ドライバーもアップグレードする必要があるかどうかを理解してください。

    アップグレードの実行方法に関する段階的なチェックリストを準備します。アクションプランを書き留めます。関係者はドキュメントに関与する必要があり、最悪のシナリオのロールバックプランを作成します。

    MongoDB用のPerconaサーバーのアップグレード

    本番環境に移行する前に、開発環境またはステージング環境でアップグレードをテストすることをお勧めします。本番環境とまったく同じMongoDBアーキテクチャを構築し、最後のバックアップからのデータをテストして復元できます。その後、アップグレードをテストしてアップグレード計画を検証できます。アップグレードにかかる時間の見積もりを取得できるだけでなく、アプリケーションが新しいバージョンのデータベースと互換性があるかどうかを確認することもできます。

    アップグレードプロセスでは、perconaリポジトリから新しいパッケージをインストールするだけです。これは、バージョン3.6からバージョン4.0に基づくCentOSでアップグレードする方法です。

    ステップ1

    Perconaリポジトリをインストールしていない場合は、percona-release-latestをインストールできます。

    [[email protected] ~]# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
    
    Loaded plugins: fastestmirror
    
    percona-release-latest.noarch.rpm                                                                                   |  19 kB  00:00:00
    
    Examining /var/tmp/yum-root-evWD4w/percona-release-latest.noarch.rpm: percona-release-1.0-25.noarch
    
    Marking /var/tmp/yum-root-evWD4w/percona-release-latest.noarch.rpm to be installed
    
    Resolving Dependencies
    
    --> Running transaction check
    
    ---> Package percona-release.noarch 0:1.0-25 will be installed
    
    --> Finished Dependency Resolution
    
    
    
    Dependencies Resolved
    
    
    
    ===========================================================================================================================================
    
     Package                          Arch                    Version                    Repository                                       Size
    
    ===========================================================================================================================================
    
    Installing:
    
     percona-release                  noarch                  1.0-25                     /percona-release-latest.noarch                   31 k
    
    
    
    Transaction Summary
    
    ===========================================================================================================================================
    
    Install  1 Package
    
    
    
    Total size: 31 k
    
    Installed size: 31 k
    
    Is this ok [y/d/N]: y
    ステップ2

    Perconaリポジトリをインストールした後、MongoDB4.0用のPerconaサーバーを有効にします

    [[email protected] ~]# percona-release enable psmdb-40
    
    * Enabling the Percona Server for MongoDB 4.0 repository
    
    <*> All done!
    ステップ3 新しいパッケージpercona-server-mongodbをインストールすると、古いパッケージが自動的に削除され、新しいパッケージがインストールされます:

    [[email protected] ~]# yum install percona-server-mongodb
    
    Loaded plugins: fastestmirror
    
    Repository percona-release-noarch is listed more than once in the configuration
    
    base                                                                                                                | 3.6 kB  00:00:00
    
    extras                                                                                                              | 2.9 kB  00:00:00
    
    percona-release                                                                                                     | 2.9 kB  00:00:00
    
    percona-release-noarch                                                                                              | 2.9 kB  00:00:00
    
    percona-release-x86_64                                                                                              | 2.9 kB  00:00:00
    
    prel-release-noarch                                                                                                 | 2.9 kB  00:00:00
    
    psmdb-40-release-x86_64                                                                                             | 2.9 kB  00:00:00
    
    updates                                                                                                             | 2.9 kB  00:00:00
    
    (1/3): prel-release-noarch/7/primary_db                                                                             | 2.5 kB  00:00:00
    
    (2/3): psmdb-40-release-x86_64/7/primary_db                                                                         |  47 kB  00:00:01
    
    (3/3): percona-release-x86_64/7/primary_db                                                                          | 1.1 MB  00:00:03
    
    Loading mirror speeds from cached hostfile
    
     * base: mirror.buana.web.id
    
     * extras: mirror.buana.web.id
    
     * updates: mirror.buana.web.id
    
    Resolving Dependencies
    
    --> Running transaction check
    
    ---> Package Percona-Server-MongoDB-36.x86_64 0:3.6.19-8.0.el7 will be obsoleted
    
    ---> Package percona-server-mongodb.x86_64 0:4.0.20-14.el7 will be obsoleting
    
    --> Processing Dependency: percona-server-mongodb-tools = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64
    
    --> Processing Dependency: percona-server-mongodb-mongos = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64
    
    --> Processing Dependency: percona-server-mongodb-shell = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64
    
    --> Processing Dependency: percona-server-mongodb-server = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64
    
    --> Running transaction check
    
    ---> Package Percona-Server-MongoDB-36-mongos.x86_64 0:3.6.19-8.0.el7 will be obsoleted
    
    ---> Package Percona-Server-MongoDB-36-server.x86_64 0:3.6.19-8.0.el7 will be obsoleted
    
    ---> Package Percona-Server-MongoDB-36-shell.x86_64 0:3.6.19-8.0.el7 will be obsoleted
    
    ---> Package Percona-Server-MongoDB-36-tools.x86_64 0:3.6.19-8.0.el7 will be obsoleted
    
    ---> Package percona-server-mongodb-mongos.x86_64 0:4.0.20-14.el7 will be obsoleting
    
    ---> Package percona-server-mongodb-server.x86_64 0:4.0.20-14.el7 will be obsoleting
    
    ---> Package percona-server-mongodb-shell.x86_64 0:4.0.20-14.el7 will be obsoleting
    
    ---> Package percona-server-mongodb-tools.x86_64 0:4.0.20-14.el7 will be obsoleting
    
    --> Finished Dependency Resolution
    
    
    
    Dependencies Resolved
    
    
    
    ===========================================================================================================================================
    
     Package                                     Arch                 Version                      Repository                             Size
    
    ===========================================================================================================================================
    
    Installing:
    
     percona-server-mongodb                      x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               4.9 k
    
         replacing  Percona-Server-MongoDB-36.x86_64 3.6.19-8.0.el7
    
     percona-server-mongodb-mongos               x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               8.9 M
    
         replacing  Percona-Server-MongoDB-36-mongos.x86_64 3.6.19-8.0.el7
    
     percona-server-mongodb-server               x86_64               4.0.20-14.el7                psmdb-40-release-x86_64                19 M
    
         replacing  Percona-Server-MongoDB-36-server.x86_64 3.6.19-8.0.el7
    
     percona-server-mongodb-shell                x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               9.8 M
    
         replacing  Percona-Server-MongoDB-36-shell.x86_64 3.6.19-8.0.el7
    
     percona-server-mongodb-tools                x86_64               4.0.20-14.el7                psmdb-40-release-x86_64                28 M
    
         replacing  Percona-Server-MongoDB-36-tools.x86_64 3.6.19-8.0.el7
    
    
    
    Transaction Summary
    
    ===========================================================================================================================================
    
    Install  5 Packages
    
    
    
    Total download size: 66 M
    
    Is this ok [y/d/N]: y
    
    Downloading packages:
    
    (1/5): percona-server-mongodb-4.0.20-14.el7.x86_64.rpm                                                              | 4.9 kB  00:00:05
    
    (2/5): percona-server-mongodb-mongos-4.0.20-14.el7.x86_64.rpm                                                       | 8.9 MB  00:00:39
    
    (3/5): percona-server-mongodb-shell-4.0.20-14.el7.x86_64.rpm                                                        | 9.8 MB  00:00:42
    
    (4/5): percona-server-mongodb-server-4.0.20-14.el7.x86_64.rpm                                                       |  19 MB  00:01:23
    
    (5/5): percona-server-mongodb-tools-4.0.20-14.el7.x86_64.rpm                                                        |  28 MB  00:02:00
    
    -------------------------------------------------------------------------------------------------------------------------------------------
    
    Total                                                                                                      332 kB/s |  66 MB  00:03:22
    
    Running transaction check
    
    Running transaction test
    
    Transaction test succeeded
    
    Running transaction
    
      Installing : percona-server-mongodb-shell-4.0.20-14.el7.x86_64                                                                      1/10
    
      Installing : percona-server-mongodb-server-4.0.20-14.el7.x86_64                                                                     2/10
    
    warning: /etc/mongod.conf created as /etc/mongod.conf.rpmnew
    
     * To start the service, configure your engine and start mongod
    
     ** WARNING: Access control is not enabled for the database.
    
     ** Read and write access to data and configuration is unrestricted.
    
     ** To fix this please use /usr/bin/percona-server-mongodb-enable-auth.sh
    
      Installing : percona-server-mongodb-mongos-4.0.20-14.el7.x86_64                                                                     3/10
    
      Installing : percona-server-mongodb-tools-4.0.20-14.el7.x86_64                                                                      4/10
    
      Installing : percona-server-mongodb-4.0.20-14.el7.x86_64                                                                            5/10
    
      Erasing    : Percona-Server-MongoDB-36-3.6.19-8.0.el7.x86_64                                                                        6/10
    
      Erasing    : Percona-Server-MongoDB-36-server-3.6.19-8.0.el7.x86_64                                                                 7/10
    
      Erasing    : Percona-Server-MongoDB-36-shell-3.6.19-8.0.el7.x86_64                                                                  8/10
    
      Erasing    : Percona-Server-MongoDB-36-mongos-3.6.19-8.0.el7.x86_64                                                                 9/10
    
      Erasing    : Percona-Server-MongoDB-36-tools-3.6.19-8.0.el7.x86_64                                                                 10/10
    
      Verifying  : percona-server-mongodb-server-4.0.20-14.el7.x86_64                                                                     1/10
    
      Verifying  : percona-server-mongodb-tools-4.0.20-14.el7.x86_64                                                                      2/10
    
      Verifying  : percona-server-mongodb-mongos-4.0.20-14.el7.x86_64                                                                     3/10
    
      Verifying  : percona-server-mongodb-shell-4.0.20-14.el7.x86_64                                                                      4/10
    
      Verifying  : percona-server-mongodb-4.0.20-14.el7.x86_64                                                                            5/10
    
      Verifying  : Percona-Server-MongoDB-36-server-3.6.19-8.0.el7.x86_64                                                                 6/10
    
      Verifying  : Percona-Server-MongoDB-36-tools-3.6.19-8.0.el7.x86_64                                                                  7/10
    
      Verifying  : Percona-Server-MongoDB-36-mongos-3.6.19-8.0.el7.x86_64                                                                 8/10
    
      Verifying  : Percona-Server-MongoDB-36-shell-3.6.19-8.0.el7.x86_64                                                                  9/10
    
      Verifying  : Percona-Server-MongoDB-36-3.6.19-8.0.el7.x86_64                                                                       10/10
    
    
    
    Installed:
    
      percona-server-mongodb.x86_64 0:4.0.20-14.el7                        percona-server-mongodb-mongos.x86_64 0:4.0.20-14.el7
    
      percona-server-mongodb-server.x86_64 0:4.0.20-14.el7                 percona-server-mongodb-shell.x86_64 0:4.0.20-14.el7
    
      percona-server-mongodb-tools.x86_64 0:4.0.20-14.el7
    
    
    
    Replaced:
    
      Percona-Server-MongoDB-36.x86_64 0:3.6.19-8.0.el7                    Percona-Server-MongoDB-36-mongos.x86_64 0:3.6.19-8.0.el7
    
      Percona-Server-MongoDB-36-server.x86_64 0:3.6.19-8.0.el7             Percona-Server-MongoDB-36-shell.x86_64 0:3.6.19-8.0.el7
    
      Percona-Server-MongoDB-36-tools.x86_64 0:3.6.19-8.0.el7
    
    
    
    Complete!
    ステップ4

    最後に、mongodサービスを開始します。

    $ systemctl start mongod.service

    Ubuntu / Debianベースのインストールプロセスも同様で、APTパッケージマネージャーからのコマンドが必要です。

    高可用性MongoDBアーキテクチャでは、ローリングアップグレードを実行して、ダウンタイムを最小限に抑えることができます。

    アプリケーションがすでに最新のMongoDBバージョンをサポートしている場合は、パラメーターを設定できます

    アップグレードが完了した後の
    setFeatureCompatibilityVersion after the upgrade was completed.
    
    > db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )
    アップグレードの検証

    MongoDBインスタンスに直接接続することで、アップグレードが成功したかどうかを確認できます。データベースが正しいバージョンで実行されているかどうかを確認します:

    > db.version()

    または、コマンドラインから確認できます:

    [[email protected] lib]# mongod --version
    
    db version v4.0.20-14
    
    git version: b96ae5b9e6c70670b6880d4c5412167a7017713a
    
    OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017
    
    allocator: tcmalloc
    
    modules: none
    
    build environment:
    
        distarch: x86_64
    
        target_arch: x86_64

    1. 条件付きRedisセット/最新バージョンでのみ更新しますか?

    2. Dockerは、SpringBootRedis接続の問題を作成します

    3. Node.jsでRESTfulAPIを最適に作成する方法

    4. 私のmongodbを修復する方法は?