このトピックでは、EMR コンソールを使用して EMR on ACK クラスターを作成する方法について説明します。EMR on ACK は、Container Service for Kubernetes (ACK) クラスター上でビッグデータワークロード (Spark、Presto、Flink、Shuffle Service) を実行し、コンピューティングとストレージを分離して Kubernetes をリソーススケジューリングに利用できます。
前提条件
クラスターを作成する前に、次の手順を完了してください。すでに完了している手順がある場合は、スキップしてください。
AliyunOSSFullAccess および AliyunDLFFullAccess ポリシーを RAM ロールにアタッチします。詳細については、「RAM ロールへのポリシーのアタッチ」をご参照ください。
ACK クラスターを作成します。詳細については、「ACK 専用クラスターの作成」または「ACK マネージドクラスターの作成」をご参照ください。
ノードプールを作成します。詳細については、「ノードプールの作成」をご参照ください。
Object Storage Service (OSS) をアクティブ化します。詳細については、「OSS のアクティブ化」をご参照ください。
クラスタータイプの選択
EMR on ACK は 4 種類のクラスタータイプをサポートしています。クラスタータイプは作成後に変更できないため、続行する前にワークロードに合ったタイプを選択してください。
| クラスタータイプ | 最適な用途 | 主な特徴 |
|---|---|---|
| Shuffle Service | ローカルディスクを持たない ACK ノード上の Spark クラスター | Celeborn を使用したリモートシャッフルサービスを提供します。ビッグデータインスタンスファミリーまたはローカル SSD を持つインスタンスファミリーのノードが必要です。動的リソース割り当てをサポートします。 |
| Presto | 大規模データセットでのインタラクティブクエリ | さまざまなデータソースをサポートするインメモリ分散 SQL エンジンで、ペタバイト規模のデータの複雑な分析やクロスソースクエリに適しています。 |
| Spark | ETL、バッチ処理、データモデリング | 汎用分散ビッグデータ処理エンジンです。Spark クラスターを Shuffle Service クラスターに関連付けるには、両方のクラスターで同じ EMR バージョン (例: EMR-5.x-ack) を使用する必要があります。 |
| Flink | 有界または無界データストリームでのステートフル処理 | EMR on ACK および Flink Kubernetes Operator 1.0.1 に基づいて開発されています。デフォルトで Flink Enterprise Edition カーネルを使用するため、追加の構成は不要です。 |
Shuffle Service の要件:
専用ノードプールまたは関連付けられた ACK クラスター内のノードは、ビッグデータインスタンスファミリーまたはローカル SSD を持つインスタンスファミリーに属している必要があります。そうでない場合、リモートシャッフルサービスのデプロイに失敗します。
Shuffle Service クラスターには、
rss-pvc-cleanという組み込みのクリーンアップタスクが含まれており、未使用の PersistentVolumeClaim (PVC) リソースを自動的に削除して、古いデータによるストレージ使用量を防ぎます。
クラスターの作成
EMR コンソールにログインします。左側のナビゲーションウィンドウで、[EMR On ACK] をクリックします。
[EMR on ACK] ページで、[クラスターの作成] をクリックします。
[E-MapReduce On ACK] ページで、次の表に示すパラメーターを設定します。
重要リージョンはクラスター作成後に変更できません。
パラメーター 説明 リージョン クラスターが作成されるリージョン。 クラスタータイプ クラスターのタイプ。詳細については、「クラスタータイプの選択」をご参照ください。 プロダクトバージョン EMR のバージョン。デフォルトでは最新バージョンが選択されます。特定のバージョンが必要な場合を除き、デフォルトのままにしてください。 コンポーネントバージョン 指定されたタイプのクラスターにデプロイされるコンポーネントのタイプとバージョン。 ACK クラスター 既存の ACK クラスターを選択するか、ACK コンソールでクラスターを作成します。EMR ワークロード用にノードを専用化するには、[専用ノードの構成] をクリックして、ノードプールに Taint とラベルを追加します。利用可能なノードプールがない場合は、ノードプールを作成します。 OSS バケット 既存のバケットを選択するか、OSS コンソールで作成します。 クラスター名 クラスターの名前。1~64 文字で、英字、数字、ハイフン (-) 、およびアンダースコア (_) のみを含めることができます。例: my-emr-cluster。[作成] をクリックします。
クラスターの検証
「[作成]」をクリックすると、クラスターはプロビジョニング状態になります。
左側のナビゲーションウィンドウで、[EMR On ACK] をクリックします。
クラスターリストでクラスターを見つけます。
クラスターのステータスが [実行中] に変更されると、クラスターは使用可能になります。