Membuat cluster Hadoop

Anda dapat menggunakan Managed Service untuk Apache Spark untuk membuat satu atau beberapa instance Compute Engine yang dapat terhubung ke instance Bigtable dan menjalankan tugas Hadoop. Halaman ini menjelaskan cara menggunakan Managed Service untuk 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 untuk 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 untuk Apache Spark, lihat dokumentasi Managed Service untuk Apache Spark.

Sebelum memulai

Sebelum memulai, Anda harus menyelesaikan tugas berikut:

  • Membuat instance Bigtable. Pastikan untuk mencatat ID project dan ID instance Bigtable.
  • Mengaktifkan Cloud Bigtable API, Cloud Bigtable Admin API, Managed Service untuk Apache Spark, dan Cloud Storage JSON API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    Mengaktifkan API

  • Pastikan akun pengguna Anda memiliki peran yang mencakup izin storage.objects.get.

    Buka halaman IAM di Google Cloud konsol.

    Buka halaman IAM

  • 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 untuk Apache Spark menggunakan bucket Cloud Storage untuk menyimpan file sementara. Untuk mencegah konflik penamaan file, buat bucket baru untuk Managed Service untuk 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]

Membuat cluster Managed Service untuk Apache Spark

Jalankan perintah berikut untuk membuat cluster Managed Service untuk 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 menyertakan teks Insufficient 'CPUS' quota, coba tetapkan flag --num-workers ke nilai yang lebih rendah.

Menguji cluster Managed Service untuk Apache Spark

Setelah menyiapkan cluster Managed Service untuk 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 tugas contoh ini sebagai referensi saat menyiapkan tugas Hadoop Anda sendiri.

Menjalankan tugas Hadoop contoh

  1. Di direktori tempat Anda meng-clone repositori GitHub, ubah ke direktori java/dataproc-wordcount.
  2. Jalankan perintah berikut untuk mem-build project, dengan mengganti nilai dalam tanda kurung dengan nilai yang sesuai:

    mvn clean package -Dbigtable.projectID=[PROJECT_ID] \
        -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]
    
  3. Jalankan perintah berikut untuk memulai tugas Hadoop, dengan mengganti nilai dalam tanda kurung dengan nilai yang sesuai:

    ./cluster.sh start [DATAPROC_CLUSTER_NAME]
    

Setelah selesai, tugas akan menampilkan nama tabel output, yaitu kata WordCount diikuti tanda hubung dan angka unik:

Output table is: WordCount-1234567890

Memverifikasi hasil tugas Hadoop

Secara opsional, setelah menjalankan tugas Hadoop, Anda dapat menggunakan cbt CLI untuk memverifikasi bahwa tugas berhasil dijalankan:

  1. Buka jendela terminal di Cloud Shell.

    Buka di Cloud Shell

  2. Instal cbt CLI :
        gcloud components update
        gcloud components install cbt
  3. 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 untuk Apache Spark

Setelah selesai menggunakan cluster Managed Service untuk Apache Spark, jalankan perintah berikut untuk mematikan dan menghapus cluster, dengan mengganti [DATAPROC_CLUSTER_NAME] dengan nama cluster Managed Service untuk Apache Spark Anda:

gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]

Langkah berikutnya