建立 Hadoop 叢集
您可以使用 Dataproc 建立一或多個 Compute Engine 執行個體,這些執行個體可連線至 Bigtable 執行個體並執行 Hadoop 工作。本頁說明如何使用 Dataproc 自動執行下列工作:
- 安裝 Hadoop 和 Java 的 HBase 用戶端
- 設定 Hadoop 和 Bigtable
- 為 Bigtable 設定正確的授權範圍
建立 Dataproc 叢集之後,即可使用叢集執行 Hadoop 工作,以便從 Bigtable 讀取和寫入資料。
本文件假設您已熟悉如何使用 Hadoop。如要進一步瞭解 Dataproc,請參閱 Dataproc 說明文件。
事前準備
在您開始之前,您需要先完成下方的工作:
- 建立 Bigtable 執行個體。請務必記下專案 ID 和 Bigtable 執行個體 ID。
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API, Dataproc, and Cloud Storage JSON APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - 確認您的使用者帳戶具有包含
storage.objects.get
權限的角色。在 Google Cloud 控制台中開啟「IAM」頁面。
- 安裝 Google Cloud CLI。詳情請參閱 gcloud CLI 設定操作說明。
-
安裝 Apache Maven,以執行 Hadoop 範本工作。
在 Debian GNU/Linux 或 Ubuntu 系統上執行以下指令:
sudo apt-get install maven
在 RedHat Enterprise Linux 或 CentOS 系統上執行以下指令:
sudo yum install maven
在 macOS 系統上安裝 Homebrew,並執行以下指令:
brew install maven
- 複製 GitHub 存放區 GoogleCloudPlatform/cloud-bigtable-examples,其中包含使用 Bigtable 的 Hadoop 工作範例:
git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git
建立 Cloud Storage 值區
Dataproc 使用 Cloud Storage 值區來儲存暫存檔案。為了防止在命名檔案時因檔名重複而發生衝突,請為 Dataproc 建立一個新的值區。
Cloud Storage 值區名稱不可重複,每個值區的名稱都必須是唯一的。 請選擇可能還沒被使用過的值區名稱,例如將 Google Cloud 專案名稱加入值區名稱。
選擇名稱之後,請使用下方的指令來建立新的值區。請將括號中的值換成適當的值:
gcloud storage buckets create gs://[BUCKET_NAME] --project=[PROJECT_ID]
建立 Dataproc 叢集
執行下列指令,建立具有四個工作站節點的 Dataproc 叢集。請將括號中的值換成適當的值:
gcloud dataproc clusters create [DATAPROC_CLUSTER_NAME] --bucket [BUCKET_NAME] \
--region [region] --num-workers 4 --master-machine-type n1-standard-4 \
--worker-machine-type n1-standard-4
請參閱 gcloud dataproc clusters create
說明文件,瞭解您可以進行哪些額外設定。如果收到包含 Insufficient 'CPUS' quota
文字的錯誤訊息,請嘗試將 --num-workers
標記設為較低的值。
測試 Dataproc 叢集
建立 Dataproc 叢集之後,您可以執行範例 Hadoop 工作來測試叢集,這能計算文字檔案中特定字詞出現的次數。範例工作會使用 Bigtable 來儲存作業結果。您在建立自己的 Hadoop 工作時,可以使用此範例工作做為參考。
執行範例 Hadoop 工作
- 在您複製 GitHub 存放區的目錄中,變更為
java/dataproc-wordcount
目錄。 執行下列指令以建立專案。請將括號中的值換成適當的值:
mvn clean package -Dbigtable.projectID=[PROJECT_ID] \ -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]
執行下列指令以開始 Hadoop 工作。請將括號中的值換成適當的值:
./cluster.sh start [DATAPROC_CLUSTER_NAME]
工作完成後,系統會顯示輸出資料表的名稱,也就是字詞 WordCount
,後面接著連字號和不重複的數字:
Output table is: WordCount-1234567890
驗證 Hadoop 工作的結果
執行 Hadoop 工作後,您可以使用
cbt
CLI
驗證工作是否成功執行:
-
在 Cloud shell 中開啟終端機視窗。
- 安裝
cbt
CLI :gcloud components update
gcloud components install cbt
- 掃描輸出資料表以查看 Hadoop 工作的結果,請先將
[TABLE_NAME]
替換為您的資料表名稱:cbt -instance [BIGTABLE_INSTANCE_ID] read [TABLE_NAME]
現在您已經驗證了叢集設定正確,您可以使用它來執行您自己的 Hadoop 工作。
刪除 Dataproc 叢集
使用完 Dataproc 叢集後,請執行下列指令來關閉並刪除叢集。請將 [DATAPROC_CLUSTER_NAME]
換成您的 Dataproc 叢集名稱:
gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]
後續步驟
- 進一步瞭解 Dataproc。
- 開始使用 Java 適用的 HBase 用戶端。