建立 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.
- 確認您的使用者帳戶具有包含
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 用戶端。