Membuat cluster Hadoop

Anda dapat menggunakan Managed Service untuk Apache Spark guna 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 guna 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 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 Anda mencatat project ID dan ID instance Bigtable.
  • Aktifkan Cloud Bigtable API, Cloud Bigtable Admin API, Managed Service untuk Apache Spark, dan Cloud Storage JSON API, jika ada yang belum diaktifkan.

    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.

    Aktifkan API

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

    Buka halaman IAM di konsol Cloud de Confiance .

    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 Cloud de Confiance by S3NS Anda.

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 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 mencakup teks Insufficient 'CPUS' quota, coba tetapkan tanda --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 contoh tugas Hadoop yang menghitung jumlah kemunculan kata dalam file teks. Contoh tugas menggunakan Bigtable untuk menyimpan hasil operasi. Anda dapat menggunakan contoh tugas 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 membangun project, dan ganti 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 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:

  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