Membuat cluster Hadoop
Anda dapat menggunakan Managed Service for Apache Spark untuk membuat satu atau beberapa instance Compute Engine yang dapat terhubung ke instance Bigtable dan menjalankan job Hadoop. Halaman ini menjelaskan cara menggunakan Managed Service for Apache Spark untuk mengotomatiskan tugas berikut:
- Menginstal Hadoop dan klien HBase untuk Java
- Mengonfigurasi Hadoop dan Bigtable
- Menetapkan cakupan otorisasi yang benar untuk Bigtable
Setelah membuat cluster Managed Service for Apache Spark, Anda dapat menggunakan cluster tersebut untuk menjalankan tugas Hadoop yang membaca dan menulis data ke dan dari Bigtable.
Halaman ini mengasumsikan bahwa Anda sudah memahami Hadoop. Untuk mengetahui informasi tambahan tentang Managed Service for Apache Spark, lihat dokumentasi Managed Service for Apache Spark.
Sebelum memulai
Sebelum memulai, Anda harus menyelesaikan tugas berikut:
- Membuat instance Bigtable Pastikan untuk mencatat project ID dan ID instance Bigtable.
-
Aktifkan Cloud Bigtable API, Cloud Bigtable Admin API, Managed Service for Apache Spark, dan Cloud Storage JSON API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran. - Pastikan akun pengguna Anda memiliki peran yang mencakup izin
storage.objects.get.Buka halaman IAM di konsol Google Cloud .
- Instal Google Cloud CLI. Lihat petunjuk penyiapan gcloud CLI untuk mengetahui detailnya.
-
Instal Apache Maven, yang digunakan untuk menjalankan tugas Hadoop contoh.
Di Debian GNU/Linux atau Ubuntu, jalankan perintah berikut:
sudo apt-get install maven
Di RedHat Enterprise Linux atau CentOS, jalankan perintah berikut:
sudo yum install maven
Di macOS, instal Homebrew, lalu jalankan perintah berikut:
brew install maven
- Clone repositori GitHub
GoogleCloudPlatform/cloud-bigtable-examples,
yang berisi contoh tugas Hadoop yang menggunakan Bigtable:
git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git
Membuat bucket Cloud Storage
Managed Service for Apache Spark menggunakan bucket Cloud Storage untuk menyimpan file sementara. Untuk mencegah konflik penamaan file, buat bucket baru untuk Managed Service for Apache Spark.
Nama bucket Cloud Storage harus unik secara global di semua bucket. Pilih nama bucket yang kemungkinan tersedia, seperti nama yang menggabungkan nama project Anda. Google Cloud
Setelah memilih nama, gunakan perintah berikut untuk membuat bucket baru, dengan mengganti nilai dalam tanda kurung dengan nilai yang sesuai:
gcloud storage buckets create gs://[BUCKET_NAME] --project=[PROJECT_ID]
Buat cluster Managed Service untuk Apache Spark
Jalankan perintah berikut untuk membuat cluster Managed Service for Apache Spark dengan empat node pekerja, dengan mengganti nilai dalam tanda kurung dengan nilai yang sesuai:
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
Lihat dokumentasi gcloud dataproc clusters create
untuk mengetahui setelan tambahan yang dapat Anda konfigurasi. Jika Anda mendapatkan pesan error yang
mencakup teks Insufficient 'CPUS' quota, coba tetapkan tanda --num-workers
ke nilai yang lebih rendah.
Menguji cluster Managed Service for Apache Spark
Setelah menyiapkan cluster Managed Service for Apache Spark, Anda dapat menguji cluster dengan menjalankan tugas Hadoop contoh yang menghitung jumlah kemunculan kata dalam file teks. Tugas contoh menggunakan Bigtable untuk menyimpan hasil operasi. Anda dapat menggunakan contoh tugas ini sebagai referensi saat menyiapkan tugas Hadoop Anda sendiri.
Menjalankan tugas Hadoop contoh
- Di direktori tempat Anda meng-clone repositori GitHub, ubah ke
direktori
java/dataproc-wordcount. Jalankan perintah berikut untuk membangun project, ganti nilai dalam tanda kurung dengan nilai yang sesuai:
mvn clean package -Dbigtable.projectID=[PROJECT_ID] \ -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]Jalankan perintah berikut untuk memulai tugas Hadoop, dengan mengganti nilai dalam tanda kurung dengan nilai yang sesuai:
./cluster.sh start [DATAPROC_CLUSTER_NAME]
Setelah tugas selesai, nama tabel output akan ditampilkan, yaitu
kata WordCount diikuti dengan tanda hubung dan angka unik:
Output table is: WordCount-1234567890
Memverifikasi hasil tugas Hadoop
Secara opsional, setelah menjalankan tugas Hadoop, Anda dapat menggunakan
CLI cbt
untuk
memverifikasi bahwa tugas berhasil dijalankan:
-
Buka jendela terminal di Cloud Shell.
- Instal
cbtCLI :gcloud components updategcloud components install cbt - Pindai tabel output untuk melihat hasil tugas Hadoop, dengan mengganti
[TABLE_NAME]dengan nama tabel output Anda:cbt -instance [BIGTABLE_INSTANCE_ID] read [TABLE_NAME]
Setelah memverifikasi bahwa cluster telah disiapkan dengan benar, Anda dapat menggunakannya untuk menjalankan tugas Hadoop Anda sendiri.
Menghapus cluster Managed Service for Apache Spark
Setelah selesai menggunakan cluster Managed Service for Apache Spark, jalankan perintah berikut
untuk mematikan dan menghapus cluster, dengan mengganti [DATAPROC_CLUSTER_NAME]
dengan nama cluster Managed Service for Apache Spark Anda:
gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]
Langkah berikutnya
- Pelajari lebih lanjut Managed Service for Apache Spark.
- Mulai menggunakan klien HBase untuk Java.