このページでは、Managed Service for Apache Spark クラスタ内の仮想マシン(VM)にハイパーディスクをアタッチする方法について説明します。ディスクは、マスター、プライマリ ワーカー、セカンダリ ワーカーのノードグループごとに個別に構成できます。これらのディスクは 、ブートディスクとクラスタノードにアタッチされているローカル SSD に加えて、クラスタノードにアタッチされます。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Service for Apache Spark API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Managed Service for Apache Spark API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
必要なロール
このページの例を実行するには、特定の IAM ロールが必要です。組織のポリシーによっては、これらのロールがすでに付与されている場合があります。ロールの付与を確認するには、 ロールを付与する必要がありますか?をご覧ください。
ロールの付与については、 プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
ユーザーロール
Managed Service for Apache Spark クラスタの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
- Dataproc 編集者 (
roles/dataproc.editor)プロジェクトに対する - Compute Engine のデフォルトのサービス アカウントに対する サービス アカウント ユーザー(
roles/iam.serviceAccountUser)
サービス アカウント ロール
Compute Engine のデフォルトのサービス アカウントに、Managed Service for Apache Spark クラスタの作成に必要な
権限を付与するには、
プロジェクトに対する
Dataproc ワーカー (roles/dataproc.worker)IAM ロールを Compute Engine のデフォルトのサービス アカウントに付与するよう管理者に依頼します。
ディスクの特性
アタッチされたディスクには次の特性があります。
- ライフサイクル: アタッチされたディスクのライフサイクルは、アタッチ先の VM のライフサイクルと一致します。Managed Service for Apache Spark は、VM の作成時にディスクを作成し、VM の削除時にディスクを削除します。
- 不変性: クラスタの作成後に、サイズ、IOPS、スループットなど、アタッチされたディスクのプロパティを更新することはできません。
- マウントと使用: Managed Service for Apache Spark は、ディスクを
/mnt/Nにマウントします。 ここで、Nは正の整数(/mnt/1、/mnt/2など)です。HDFS と スクラッチ データ(シャッフル出力など)は、 ブート永続ディスクではなく、アタッチされたディスクを使用します。
ディスク構成
Managed Service for Apache Spark クラスタノードにディスクをアタッチするときに、次のディスク構成パラメータを指定できます。
ディスクタイプ - 必須: VM インスタンスにアタッチするディスクのタイプ。 次のハイパーディスク がサポートされています。
hyperdisk-balancedhyperdisk-extremehyperdisk-mlhyperdisk-throughput
hyperdisk balanced high availabilityタイプと永続ディスクは、クラスタノードに アタッチできません。サイズ - 省略可: ディスクのサイズ。この値は整数で、 その後に
GB(ギガバイト)またはTB(テラバイト)が続きます。たとえば、10GBは 10 ギガバイトのディスクをアタッチします。詳細については、 Hyperdisk のサイズ上限をご覧ください。IOP \- 省略可: アタッチされたディスクにプロビジョニングする IOPSを示します。このパラメータは、1 秒あたりのディスク I/O オペレーションの上限を設定します。詳細については、デフォルトのパフォーマンス レベルをご覧ください。
スループット \- 省略可: アタッチされたディスクにプロビジョニングする スループットを示します。このパラメータは、1 秒あたりの
MiBのスループットの上限を設定します。詳細については、デフォルトのパフォーマンス レベルをご覧ください。
クラスタにディスクをアタッチする
gcloud CLI
クラスタの作成時にディスクをアタッチするには、
gcloud dataproc clusters createコマンドで--master-attached-disks、--worker-attached-disks、または--secondary-worker-attached-disksフラグを使用します。各フラグは、セミコロンで区切られたディスク構成のリストを受け取ります。 各ディスク構成は、
type、size、iops、throughputの Key-Value ペアのカンマ区切りリストです( ディスク構成をご覧ください)。
例: 次のコマンドは、クラスタを作成し、各プライマリ ワーカーノードに 2 つのハイパーディスクをアタッチします。
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--worker-attached-disks='type=hyperdisk-balanced,size=100GB,iops=5000,throughput=200;type=hyperdisk-throughput,size=9000GB'
API
ディスクをアタッチするには、
attachedDiskConfigs配列をdiskConfigオブジェクトに含めます。対象はmasterConfig、workerConfig、またはsecondaryWorkerConfigインスタンス グループです。clusters.createAPI リクエストの本文で構成を指定します。
例: 次の JSON スニペットは、2 つのハイパーディスクをアタッチする attachedDiskConfigs 配列を示しています。
[
{
"diskType": "HYPERDISK_BALANCED",
"diskSizeGb": 100,
"provisionedIops": 5000,
"provisionedThroughput": 200
},
{
"diskType": "HYPERDISK_THROUGHPUT",
"diskSizeGb": 9000
}
]