編集者注、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の管理機能を利用する方法について説明します。こちらをご覧ください。