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

運用データベース管理

    編集者注、2020年8月:CDPデータセンターはCDPプライベートクラウドベースと呼ばれるようになりました。詳細については、こちらをご覧ください。

    はじめに

    このブログ投稿は、CDPにあるClouderaの運用データベース(OpDB)に関するシリーズの一部です。各投稿では、新機能について詳しく説明しています。シリーズの最初から、CDPの運用データベースを使用して開始します。

    このブログ投稿では、Cloudera Data Platformの運用データベース(OpDB)管理ツールと機能の概要を説明しています。現在、CDP Public Cloud – Data Hubの完全に安全なセミマネージドオファリングと、CDPデータセンターの完全にカスタマイズ可能なオファリング(CDHおよびHDPで利用可能なものと同様)の2つのフォームファクタで利用できます。 Data Hubの詳細については、ClouderaDataHubを参照してください。

    図1:OpDBデータハブクラスター。

    この記事のリンクを使用して、これらの機能を使用するための詳細情報と手順を入手できます。

    データベースの作成と制御

    Apache HBaseネームスペースは、従来のリレーショナルデータベースシステムのデータベースに似たテーブルの論理グループです。名前空間は、ApacheHBaseシェルを介して作成または管理できます。 Apache HBaseシェルの使用の詳細については、ApacheHBaseシェルの概要を参照してください。

    CDPの図にあるReplicationManagerとRangerを使用すると、名前空間を作成してHBaseシェルでのみ管理できます。ただし、権限はRangerを介して行われ、レプリケーションはReplicationManagerを介して行われます。

    リレーショナルデータベースの場合と同様に、名前空間には、テーブルとアクセス許可のコレクション、レプリケーション設定、およびリソースの分離が含まれます。これらの構成は、ネームスペースレベルで設定できます。 CDPでは、名前空間を作成し、HBaseシェルを使用して管理できます。 Apache Rangerを使用して、きめ細かい認証ポリシーと監査を行うことができます。 CDPでセキュリティを設定する方法の詳細については、「レンジャーを使用したセキュリティ」を参照してください。

    Replication Managerは、HBaseレプリケーションポリシーの作成に役立ちます。 Replication Managerを使用して、CDH/HDPまたはApacheHBaseからCDPデータセンターへのレプリケーションを設定できます。

    図2:レプリケーションポリシーのユーザーインターフェイスの作成

    グラフィカルなDDLおよびDCL機能

    以下のプラグインを含む、このために提供されるいくつかのツールがあります:

    • Cloudera Machine Learning(CML):CMLは、HBaseクライアントとPhoenixを使用してデータをクエリするのに役立ち、インタラクティブなデータ探索、視覚化、共有、コラボレーションに役立ちます。 OpDBを使用して、セッション/ジョブ/モデルの予測結果を保存し、後で複数の異なるユーザーがクエリを実行できるようにすることができます。

    図3:ClouderaMachineLearningのユーザーインターフェイス

    • 色相:色相は、データウェアハウスとの対話を可能にするWebベースのインタラクティブクエリエディターです。 HueのHBaseBrowserアプリケーションを使用して、HBaseテーブルを作成および参照できます。

    図4:Hueインターフェースは、HBaseの検索、挿入、更新、削除、DDLをサポートします

    Hueでのクエリ処理には、ImpalaまたはHiveを使用したSQLインターフェイスを使用できます。

    図5:Impalaを使用したSQLインターフェイス

    Hueを使用してHBaseでサンプルテーブルを作成するためのチュートリアルは次のとおりです:https://gethue.com/hadoop-tutorial-how-to-create-example-tables-in-hbase/

    • Eclipse:EclipseのHBaseコードのフォーマットは、EclipseでHBaseコードを編集するときに役立ちます。詳細については、ApacheHBaseのビルドと開発を参照してください。

    ZeppelinやHueなどのツールとそのプラグインは、箱から出してすぐに提供されます。ただし、ToadなどのサードパーティのSQLユーティリティを使用することもできます。

    運用データベースリリースアップグレード用のツール

    Cloudera Managerを使用して、Cloudera Data Platform-Data Center(CDP-DC)の運用データベースをアップグレードするプロセスを自動化できます。アップグレードは、リリースまたはメンテナンスパッチを通じて提供されます。 Cloudera Managerは、リリースやパッチをインストールし、構成と再起動プロセスを管理します。

    Amazon AWSなどのパブリッククラウドでCDPを使用している場合は、新しいデータハブクラスターを作成して、さまざまなコンポーネントの新しいバージョンにアップグレードする必要があります。新しいオペレーショナルデータベースデータハブクラスターの作成の詳細については、「CDPでのオペレーショナルデータベース入門」を参照してください。

    Clouderaのオファリングはクラスターベースのオファリングです。アップグレードとパッチはすべて複数のノード(サーバー)にまたがっており、インストール、構成、再起動はすべて自動化されており、該当する場合はローリング再起動も含まれます。

    複数のサーバーにまたがるパッチ管理ツール

    CDPデータセンターでは、Cloudera Managerがリリースをインストールし、構成を管理します。 Cloudera Managerは、影響を受ける各コンポーネントの再起動プロセスも実行します。

    ゼロダウンタイムパッチアプリケーション

    CDPデータセンターでは、ClouderaManagerを使用してダウンタイムがゼロのパッチを適用できます。

    複数のサーバーにわたる変更管理

    複数のインスタンスにわたるデータベーススキーマの変更管理を実行できます。たとえば、テスト/開発、ステージング、または本番環境でこれを行うことができます。

    HBaseシェルを使用して必要な変更をスクリプト化し、それを他のインスタンスに伝播できます。

    HBaseシェルの使用の詳細については、ApacheHBaseシェルを参照してください。

    ワークロードのパーティショニング

    ワークロードのセットの性質とそれらのデータのニーズに応じて、いくつかのツールを使用してOpDB内でワークロード/アプリケーションのパーティション分割を行うことができます。

    アプリケーションがすべて個別のテーブルにアクセスする場合は、リージョンサーバーグループを使用して、ハードウェアパーティショニングアプローチを作成する定義済みのテーブルまたはネームスペースのセット専用のノードのセットを使用できます。リージョンサーバーグループの詳細については、「RegionServerグループ化の使用」を参照してください。

    同じテーブルのセットを使用するアプリケーションの場合、RPCスロットリング、ユーザークォータ、およびスペースクォータを使用して、ノイズの多いネイバーの問題を管理できます。技術的な詳細については、HBase見積もり管理を参照してください。

    これらの2つのオプションのセットを組み合わせて、より洗練されたパーティションスキームを作成することもできます。 Cloudera Managerを使用して、特定のサービスがクラスターの異なるノード間で適切にパーティション化されていることを確認します。たとえば、SOLR検索などに使用するノードを決定できます。

    ハードウェアパーティショニング

    Cloudera ManagerとYARNはどちらも、Linux cgroupとアクティブなメモリ管理を活用して、ハードウェアリソースの静的および動的なパーティション分割を行います。

    まず、すべてのホストで実行されているすべてのプロセスを、ClouderaManagerによって設定されたcgroupsでハードパーティション化できます。次に、ウィザードを使用すると、ユーザーはパーセンテージを設定し、cgroupベースのCPUとI / Oの分離を自動的に変換してサービスの静的パーティションのレイアウトを定義し、サービス自体を構成してメモリ制限を設定できます。

    最後に、ネイティブリソースマネージャーは、アプリケーションの分離にcgroupsとアクティブメモリ管理(設定、監視、強制終了)を使用して、各個別の作業単位をコンテナーに配置するワークロードのコンテナーモデルを提供します。

    ソフトウェアハイパーバイザー

    次のソフトウェアハイパーバイザーがサポートされています

    • VMwareはオンプレミス環境でサポートされています
    • MicrosoftのAzureの仮想環境(Azureスタック)
    • アマゾンウェブサービス、Google Compute Platformの仮想化、およびMicrosoftAzureはクラウドでサポートされています。

    コンテナとオーケストレーションのサポート

    Clouderaは、Apache HBase、Apache ZooKeeper、ClouderaManagerがインストールされたDockerイメージを提供します。 Dockerコンテナーを管理するようにYARNを構成し、同じコンテナー上のYARNにApache HBaseジョブを送信するか、別のコンテナーからYARNにジョブを送信することができます。

    詳細については、YARNでのDockerコンテナの管理を参照してください。

    パッチまたはリリースアップグレードのロールバック

    Cloudera Managerは、一部のロールバックプロセスの自動化を提供します。アップグレードには、データ形式の変更が含まれる場合があります。フォーマットの変更を元に戻すツールはサポートされていません。ロールバックで古いデータを使用できるように、バックアップからのデータの復元をトリガーする必要があります。

    クロスOSプラットフォームの移行

    Clouderaの標準のバックアップ/復元/データ回復ツールは、異なるオペレーティングシステム間のOpDBの移行をサポートするために利用できます。

    HBaseバックアップおよびディザスタリカバリ戦略により、データの損失からデータを保護するためにデータが確実にバックアップされます。 HBaseスナップショットを使用すると、RegionServerに大きな影響を与えることなくテーブルのスナップショットを作成できます。また、スナップショット、クローン、および復元操作にはデータのコピーが含まれないためです。

    HBaseのバックアップとディザスタの詳細については、HBaseのバックアップとディザスタリカバリの戦略を参照してください。

    データベース管理者(DBA)ツール

    データベースの管理をサポートするために、次のような多くのツールが含まれています。

    • Cloudera Manager
    • HBaseシェル
    • 色相
    • HBCK2
    • hbtop
    • レンジャー
    • アトラス
    • FreeIPA
    • navencrypt
    • HDFSツール
    • YARN

    これらのツールは、メトリックと監視、クラスターの再起動、取り込みの追加、ライフサイクル管理、アップグレード、セキュリティ、Kerberosセットアップ、およびその他の機能を提供します。

    図6:ClouderaManagerHBaseインターフェース

    図7:Cloudera Managerの指標と監視:

    図8:ClouderaManagerでのクラスターの再起動

    これらのツールに加えて、次のサードパーティおよびオープンソースの管理ツールを使用することもできます。

    • ライダー
    • HADMIN

    サードパーティの管理ツール用に文書化されたインターフェイスを開く

    また、他のツールを使用してOpDBを管理できるようにするオープンAPIも提供しています。たとえば、JMXインターフェースを使用して、Grafanaなどのサードパーティの監視ツールと統合できます。

    結論

    このブログ投稿では、CDPでOpDBが提供するさまざまな管理ツールと機能をどのように利用できるかについて説明しました。次の記事では、OpDBの管理機能を利用する方法について説明します。こちらをご覧ください。


    1. redis.serviceの開始に失敗しました:ユニットredis-server.serviceがマスクされています

    2. Redis値の更新

    3. RedisがLaravel5.1でブロードキャストイベントを取得しない

    4. MongoDBの$inクエリに渡されるパラメーターの最大数はいくつですか?