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

ClusterControlを使用してデータベースの構成テンプレートを管理する方法

    ClusterControlを使用すると、データベース設定を簡単に展開できます。展開ウィザードにいくつかの値(データベースベンダー、データベースデータディレクトリ、パスワード、およびホスト名)を入力するだけで、準備は完了です。残りの構成オプションは、ホストの仕様(CPUコア、メモリ、IPアドレスなど)に基づいて自動的に決定(および計算)され、ClusterControlに付属のテンプレートファイルに適用されます。このブログ投稿では、ClusterControlがデフォルトのテンプレートファイルをどのように使用するか、およびユーザーがそれらをニーズに合わせてカスタマイズする方法について説明します。

    ベーステンプレートファイル

    ClusterControlによって構成されたすべてのサービスは、ClusterControlノードの/ usr / share / cmon/templatesの下にある基本構成テンプレートを使用します。以下は、ClusterControlv1.4.0によって提供されるテンプレートファイルです。

    GaleraClusterのHAProxy構成テンプレート。 読み取り/書き込み分割用のHAProxy構成テンプレート。 ガレラアービトレーターデーモン(garbd)構成ファイル。 レガシーキープアライブ構成ファイル(1.2.7より前)。これは非推奨です。 キープアライブ構成ファイル。 キープアライブ初期化スクリプト。 MaxScale構成テンプレート。 モンゴルーター(mongos)構成テンプレート。 ガレラクラスターのMySQL構成テンプレート。 MySQLグループレプリケーション用のMySQL構成テンプレート。 GTIDを使用したMySQLレプリケーション用のMySQL構成テンプレート。 MySQLクラスターのMySQL構成テンプレート。 MySQLのGTIDを使用しないMySQL/MariaDBのMySQL構成テンプレート。 ガレラクラスターのMySQLヘルスチェックスクリプトテンプレート。 MySQLレプリケーション用のMySQLヘルスチェックスクリプトテンプレート。 MySQLヘルスチェック用のXinetd構成テンプレート。 MySQLサービスのsystemdユニットファイルテンプレート。 ProxySQL構成テンプレート。
    ファイル名 説明
    config.ini.mc MySQLクラスター構成ファイル。
    haproxy.cfg
    haproxy_rw_split.cfg
    garbd.cnf
    keepalived-1.2.7.conf
    keepalived.conf
    keepalived.init
    MaxScale_template.cnf
    mongodb-2.6.conf.org MongoDB2.x構成テンプレート。
    mongodb.conf.org MongoDB3.x構成テンプレート。
    mongodb.conf.percona MongoDB用のPerconaサーバー用のMongoDB3.x構成テンプレート。
    mongos.conf.org
    my.cnf.galera
    my57.cnf.galera MySQL5.7上のGaleraClusterのMySQL構成テンプレート。
    my.cnf.grouprepl
    my.cnf.gtid_replication
    my.cnf.mysqlcluster
    my.cnf.pxc55 Percona XtraDBClusterv5.5のMySQL構成テンプレート。
    my.cnf.repl57 MySQLReplicationv5.7のMySQL構成テンプレート。
    my.cnf.replication
    mysqlchk.galera
    mysqlchk.mysql
    mysqlchk_xinetd
    mysqld.service.override
    proxysql_template.cnf

    上記のリストは、インストールされているClusterControlリリースによって提供される機能セットによって異なります。古いバージョンでは、それらのいくつかが見つからない場合があります。これらのテンプレートファイルは直接変更できますが、次のセクションで説明するように推奨しません。

    Configuration Manager

    クラスタタイプに応じて、ClusterControlは必要なベーステンプレートファイルをCMONデータベースにインポートし、展開が成功すると、[管理]->[構成]->[テンプレート]からアクセスできます。たとえば、MariaDBGaleraクラスターの次の構成テンプレートについて考えてみます。

    ClusterControlは、デプロイメントが成功した後、Galera構成テンプレートの基本テンプレートコンテンツを/usr/share/cmon/templates/my.cnf.galeraからCMONデータベース(cluster_configuration_templatesテーブル内)にロードします。その後、ClusterControlUIで独自の構成ファイルを直接カスタマイズできます。 [保存]ボタンを押すたびに、新しいバージョンの構成テンプレートが、ベーステンプレートファイルを上書きすることなく、CMONデータベース内に保存されます。

    クラスターがデプロイされて実行されると、UIのテンプレートが優先されます。ベーステンプレートファイルは、ClusterControl-> Deploy-> DeployDatabaseClusterを介した初期クラスターデプロイメント中にのみ使用されます。展開段階では、ClusterControlは/ var / tmp /にある一時ディレクトリを使用して、コンテンツを準備します。例:

    /var/tmp/cmon-003862-6a7775ca76c62486.tmp

    動的変数

    ClusterControlによって動的に構成可能な構成変数がいくつかあります。これらの変数は、アットマーク「@」で囲まれた大文字で表されます(例:@ [email protected])。サポートされている変数の詳細については、このページを参照してください。動的変数は、クラスターの展開中に指定された入力に基づいて自動的に構成されます。または、ClusterControlは、ホスト名、IPアドレス、使用可能なRAM、CPUコアの数などに基づいて自動検出を実行します。これにより、クラスターの展開段階で最小限のオプションを指定するだけで済む展開が簡素化されます

    動的変数が値(または未定義)に置き換えられた場合、ClusterControlはそれをスキップし、代わりに構成された値を使用します。これは、通常、特定のデータベースワークロードに合わせて調整された独自の構成オプションのセットを持っている上級ユーザーにとって便利です。

    展開前の構成テンプレートの例

    データベースノードのmax_connectionsの数に基づいてClusterControlの動的変数に依存する代わりに、/ usr / share / cmon / templates/my57.cnf.galera内の次の行を次のように変更できます。

    [email protected]@sqldat.com

    宛先:

    max_connections=50

    テキストファイルを保存し、[データベースクラスターの展開]ダイアログで、ClusterControlが正しいベーステンプレートファイルを使用していることを確認します。

    [デプロイ]ボタンをクリックして、データベースクラスターのデプロイを開始します。

    展開後の構成テンプレートの例

    データベースクラスターの展開が完了したら、スケールアップを決定する前に、実行中のサーバーで微調整を行った可能性があります。スケールアップするとき、ClusterControlはCMONデータベース内の構成テンプレート(ClusterControl->構成->テンプレートの下に入力されたもの)を使用して、新しいノードをデプロイします。したがって、データベースサーバーで行った変更をテンプレートファイルに適用することを忘れないでください。

    新しいノードを追加する前に、構成テンプレートを確認して、新しいノードが期待どおりに機能することを確認することをお勧めします。次に、ClusterControl-> Add Nodeに移動し、正しいMySQLテンプレートファイルが選択されていることを確認します。

    次に、[ノードの追加]ボタンをクリックして、展開を開始します。

    それでおしまい。 ClusterControlは、デプロイメントに関してさまざまな自動化ジョブを実行しますが、それでも、ユーザーがそれに応じてデプロイメントをカスタマイズする自由を提供します。ハッピークラスタリング!


    1. CentOS8へのMemcachedのインストール

    2. AWS上のMongoDB:MongoDBサーバーに適切なEC2インスタンスタイプを選択する方法は?

    3. MongoDB3.xでのデフォルトとしてのMongoDB-CR認証の構成

    4. mongodb:マルチキーインデックス構造?