Bagikan melalui


Informasi tentang penggunaan HDInsight di Linux

Kluster Azure HDInsight menyediakan Apache Hadoop pada lingkungan Linux yang akrab, dijalankan di cloud Azure. Untuk sebagian besar hal, itu harus bekerja persis seperti penginstalan Hadoop-on-Linux lainnya. Dokumen ini menyebutkan perbedaan spesifik yang harus Anda ketahui.

Prasyarat

Banyak langkah dalam dokumen ini menggunakan utilitas berikut, yang mungkin perlu dipasang pada sistem Anda.

Pengguna

Kecuali jika bergabung dengan domain, HDInsight harus dianggap sebagai sistem pengguna tunggal. Satu akun pengguna tunggal SSH dibuat dengan kluster, dengan izin tingkat administrator. Akun SSH tambahan dapat dibuat, tetapi mereka juga memiliki akses administrator ke kluster.

HDInsight yang bergabung dengan domain mendukung beberapa pengguna dan pengaturan izin dan peran yang lebih terperinci. Untuk informasi selengkapnya, lihat Mengelola kluster HDInsight yang bergabung dengan Domain.

Nama domain

Nama domain yang sepenuhnya memenuhi syarat (FQDN) yang digunakan saat terhubung ke kluster dari internet adalah CLUSTERNAME.azurehdinsight.net atau CLUSTERNAME-ssh.azurehdinsight.net (hanya untuk SSH).

Secara internal, setiap simpul dalam kluster memiliki nama yang ditetapkan selama konfigurasi kluster. Untuk menemukan nama kluster, lihat halaman Host di Ambari Web UI. Anda juga dapat menggunakan yang berikut untuk mengembalikan daftar host dari Ambari REST API:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts" | jq '.items[].Hosts.host_name'

Ganti CLUSTERNAME dengan nama kluster Anda. Saat diminta, masukkan kata sandi untuk akun admin. Perintah ini mengembalikan dokumen JSON yang berisi daftar host dalam kluster. jq digunakan untuk mengekstrak nilai host_name elemen untuk setiap host.

Jika Anda perlu menemukan nama simpul untuk layanan tertentu, Anda dapat me-kueri Ambari untuk komponen tersebut. Misalnya, untuk menemukan host untuk simpul nama HDFS, gunakan perintah berikut:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/HDFS/components/NAMENODE" | jq '.host_components[].HostRoles.host_name'

Perintah ini mengembalikan dokumen JSON yang menjelaskan layanan, lalu jq hanya mengeluarkan nilaihost_name untuk host.

Akses jarak jauh ke layanan

  • Ambari (web) - https://CLUSTERNAME.azurehdinsight.net

    Autentikasi dengan menggunakan pengguna dan kata sandi administrator kluster, lalu masuk ke Ambari.

    Autentikasi adalah teks biasa - selalu gunakan HTTPS untuk membantu memastikan bahwa koneksi aman.

    Penting

    Beberapa UIs web tersedia melalui simpul akses Ambari menggunakan nama domain internal. Nama domain internal tidak dapat diakses secara publik melalui internet. Anda mungkin menerima kesalahan "server tidak ditemukan" ketika mencoba mengakses beberapa fitur melalui Internet.

    Untuk menggunakan fungsionalitas penuh Ambari web UI, gunakan terowongan SSH untuk memproksi lalu lintas web ke simpul kepala kluster. Lihat Menggunakan Penerowongan SSH untuk mengakses Apache Ambari web UI, ResourceManager, JobHistory, NameNode, Oozie, dan UIs web lainnya

  • Ambari (REST) - https://CLUSTERNAME.azurehdinsight.net/ambari

    Catatan

    Autentikasi dengan menggunakan pengguna administrator kluster dan kata sandi.

    Autentikasi adalah teks biasa - selalu gunakan HTTPS untuk membantu memastikan bahwa koneksi aman.

  • WebHCat (Templeton) - https://CLUSTERNAME.azurehdinsight.net/templeton

    Catatan

    Autentikasi dengan menggunakan pengguna administrator kluster dan kata sandi.

    Autentikasi adalah teks biasa - selalu gunakan HTTPS untuk membantu memastikan bahwa koneksi aman.

  • SSH - CLUSTERNAME-ssh.azurehdinsight.net pada port 22 atau 23. Port 22 digunakan untuk menyambungkan ke headnode utama, sedangkan 23 digunakan untuk menyambungkan ke sekunder. Untuk informasi lebih lanjut tentang simpul kepala, lihat Ketersediaan dan keandalan kluster Apache Hadoop di HDInsight.

    Catatan

    Anda hanya dapat mengakses simpul kepala kluster melalui SSH dari komputer klien. Setelah terhubung, Anda kemudian dapat mengakses simpul pekerja dengan menggunakan SSH dari headnode.

Untuk informasi selengkapnya, lihat Port yang digunakan oleh layanan Apache Hadoop pada dokumen HDInsight.

Lokasi File

File terkait Hadoop dapat ditemukan pada simpul kluster di /usr/hdp. Direktori ini berisi subdirektori berikut:

  • 2.6.5.3009-43: Nama direktori adalah versi platform Hadoop yang digunakan oleh HDInsight. Nomor pada kluster Anda mungkin berbeda dari yang tercantum di sini.
  • saat ini: Direktori ini berisi tautan ke subdirektoru di bawah direktori 2.6.5.3009-43. Direktori ini ada sehingga Anda tidak perlu mengingat nomor versinya.

Contoh data dan file JAR dapat ditemukan di Sistem File Terdistribusi Hadoop di /example dan /HdiSamples.

HDFS, Azure Storage, dan Data Lake Storage

Di sebagian besar distribusi Hadoop, data disimpan dalam HDFS. HDFS didukung oleh penyimpanan lokal pada mesin di kluster. Menggunakan penyimpanan lokal dapat dikenakan biaya untuk solusi berbasis cloud di mana Anda ditagih per jam atau menit untuk sumber daya komputasi.

Saat menggunakan HDInsight, file data disimpan dengan cara yang dapat beradaptasi dan tangguh di cloud menggunakan Azure Blob Storage dan opsional Azure Data Lake Storage Gen1/Gen2. Layanan ini memberikan keuntungan berikut:

  • Penyimpanan jangka panjang yang murah.
  • Aksesibilitas dari layanan eksternal seperti situs web, utilitas pengunggahan/pengunduhan file, berbagai SDK bahasa, dan browser web.
  • Kapasitas file besar dan penyimpanan besar yang dapat disesuaikan.

Anda dapat menyimpan data di Penyimpanan Azure Blob, Azure Data Lake Storage Gen1, atau Azure Data Lake Storage Gen2.

Saat menggunakan Azure Blob Storage atau Data Lake Storage Gen1/Gen2, Anda tidak perlu melakukan sesuatu yang istimewa dari HDInsight untuk mengakses data. Misalnya, perintah berikut ini mencantumkan file di folder /example/data apakah file disimpan di Azure Storage atau Data Lake Storage:

hdfs dfs -ls /example/data

Di HDInsight, sumber daya penyimpanan data (Azure Blob Storage dan Azure Data Lake Storage) dipisahkan dari sumber daya komputasi. Anda dapat membuat kluster HDInsight untuk melakukan komputasi sesuai kebutuhan Anda, dan kemudian menghapus kluster ketika pekerjaan selesai. Sementara itu, menjaga file data Anda tetap aman di penyimpanan cloud selama yang Anda butuhkan.

URI dan skema

Beberapa perintah mungkin mengharuskan Anda menentukan skema sebagai bagian dari URI saat mengakses file. Saat menggunakan penyimpanan non-default (penyimpanan ditambahkan sebagai penyimpanan "tambahan" ke kluster), Anda harus selalu menggunakan skema sebagai bagian dari URI.

Saat menggunakan Azure Storage, gunakan salah satu skema URI berikut:

  • wasb:///: Akses penyimpanan default menggunakan komunikasi tidak terenkripsi.

  • wasbs:///: Akses penyimpanan default menggunakan komunikasi terenkripsi. Skema wasb hanya didukung dari HDInsight versi 3.6 dan seterusnya.

  • wasb://<container-name>@<account-name>.blob.core.windows.net/: Digunakan saat berkomunikasi dengan akun penyimpanan non-default. Misalnya, saat Anda memiliki akun penyimpanan tambahan atau saat mengakses data yang disimpan di akun penyimpanan yang dapat diakses publik.

Saat menggunakan Azure Data Lake Storage Gen2, gunakan skema URI berikut:

  • abfs://: Akses penyimpanan default menggunakan komunikasi terenkripsi.

  • abfs://<container-name>@<account-name>.dfs.core.windows.net/: Digunakan saat berkomunikasi dengan akun penyimpanan non-default. Misalnya, saat Anda memiliki akun penyimpanan tambahan atau saat mengakses data yang disimpan di akun penyimpanan yang dapat diakses publik.

Saat menggunakan Azure Data Lake Storage Gen1, gunakan salah satu skema URI berikut:

  • adl:///: Akses Data Lake Storage default untuk kluster.

  • adl://<storage-name>.azuredatalakestore.net/: Digunakan saat berkomunikasi dengan Data Lake Storage non-default. Juga digunakan untuk mengakses data di luar direktori akar kluster HDInsight Anda.

Penting

Saat menggunakan Data Lake Storage sebagai penyimpanan default untuk HDInsight, Anda harus menentukan jalur di dalam penyimpanan untuk digunakan sebagai akar penyimpanan HDInsight. Jalur default adalah /clusters/<cluster-name>/.

Saat menggunakan / atau adl:/// untuk mengakses data, Anda hanya dapat mengakses penyimpanan data di root (misalnya, /clusters/<cluster-name>/ ) dari kluster. Untuk mengakses data di mana saja di penyimpanan, gunakan format adl://<storage-name>.azuredatalakestore.net/.

Penyimpanan apa yang digunakan kluster

Anda dapat menggunakan Ambari untuk mengambil konfigurasi penyimpanan default untuk kluster. Gunakan perintah berikut untuk mengambil informasi konfigurasi HDFS menggunakan curl, dan filter menggunakan jq:

curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["fs.defaultFS"] | select(. != null)'

Catatan

Perintah ini mengembalikan konfigurasi pertama yang diterapkan ke server (service_config_version=1) yang berisi informasi ini. Anda mungkin perlu mencantumkan semua versi konfigurasi untuk menemukan versi terbaru.

Perintah ini mengembalikan nilai yang mirip dengan URI berikut:

  • wasb://<container-name>@<account-name>.blob.core.windows.net jika menggunakan akun Azure Storage.

    Nama akun adalah nama akun Azure Storage. Nama kontainer adalah kontainer blob yang merupakan akar penyimpanan kluster.

  • adl://home jika menggunakan Azure Data Lake Storage. Untuk mendapatkan nama Data Lake Storage, gunakan panggilan REST berikut:

    curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.hostname"] | select(. != null)'
    

    Perintah ini mengembalikan nama host berikut: <data-lake-store-account-name>.azuredatalakestore.net.

    Untuk mendapatkan direktori di dalam penyimpanan yang merupakan root untuk HDInsight, gunakan panggilan REST berikut:

    curl -u admin -G "https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/configurations/service_config_versions?service_name=HDFS&service_config_version=1" | jq '.items[].configurations[].properties["dfs.adls.home.mountpoint"] | select(. != null)'
    

    Perintah ini mengembalikan jalur yang mirip dengan jalur berikut: /clusters/<hdinsight-cluster-name>/.

Anda juga dapat menemukan informasi penyimpanan menggunakan portal Micosoft Azure dengan menggunakan langkah-langkah berikut:

  1. Dari portal Microsoft Azure, pilih kluster Anda.

  2. Dari bagian Properti, pilih Akun Penyimpanan. Informasi penyimpanan untuk kluster ditampilkan.

Bagaimana cara mengakses file dari luar HDInsight

Ada berbagai cara untuk mengakses data dari luar kluster HDInsight. Berikut ini adalah beberapa tautan ke utilitas dan SDK yang dapat digunakan untuk bekerja dengan data Anda:

Jika menggunakan penyimpanan Azure Blob, lihat tautan berikut ini untuk cara mengakses data Anda:

  • Azure CLI: Command-Line antarmuka untuk bekerja dengan Azure. Setelah pemasangan, gunakan perintah az storage untuk bantuan dalam menggunakan penyimpanan, atau untuk perintah khusus az storage blob blob.

  • blobxfer.py: Skrip Python untuk bekerja dengan blob di Azure Storage.

  • Berbagai SDK:

Jika menggunakan Azure Data Lake Storage Gen1, lihat tautan berikut ini untuk cara mengakses data Anda:

Penskalaan kluster Anda

Fitur penskalaan kluster memungkinkan Anda untuk secara dinamis mengubah jumlah simpul data yang digunakan oleh kluster. Anda dapat melakukan operasi penskalaan saat pekerjaan atau proses lain berjalan pada kluster. Lihat Menskalakan klaster HDInsight

Bagaimana cara saya memasangl Hue (atau komponen Hadoop lainnya)?

HDInsight adalah layanan terkelola. Jika Microsoft Azure mendeteksi masalah dengan kluster, Microsoft Azure dapat menghapus simpul yang gagal dan membuat simpul untuk menggantinya. Ketika Anda memasang hal-hal secara manual pada kluster, mereka tidak bertahan ketika operasi ini terjadi. Sebagai gantinya, gunakan Tindakan Skrip HDInsight. Tindakan skrip dapat digunakan untuk membuat perubahan berikut:

  • Memasang dan mengonfigurasi layanan atau situs web.
  • Memasang dan mengonfigurasi komponen yang memerlukan perubahan konfigurasi pada beberapa simpul di kluster.

Tindakan Skrip adalah skrip Bash. Skrip berjalan selama pembuatan kluster, dan digunakan untuk memasang dan mengonfigurasi komponen tambahan. Untuk informasi tentang mengembangkan Tindakan Skrip Anda sendiri, lihat Pengembangan Tindakan Skrip dengan HDInsight.

Jar file

Beberapa teknologi Hadoop menyediakan Jar file mandiri. File-file ini berisi fungsi yang digunakan sebagai bagian dari pekerjaan MapReduce, atau dari dalam Pig atau Apache Hive. Mereka sering tidak memerlukan pengaturan apa pun, dan dapat diunggah ke kluster setelah dibuat dan digunakan secara langsung. Jika Anda ingin memastikan komponen bertahan dari pencitraan ulang kluster, simpan jar file di penyimpanan default kluster.

Misalnya, jika Anda ingin menggunakan versi terbaru Apache DataFu, Anda dapat mengunduh jar yang memuat proyek dan mengunggahnya ke kluster HDInsight. Kemudian ikuti dokumentasi DataFu tentang cara menggunakannya dari Pig atau Apache Hive.

Penting

Beberapa komponen yang merupakan jar file mandiri disediakan dengan HDInsight, tetapi tidak berada di jalur. Jika Anda mencari komponen tertentu, Anda dapat menggunakan berikut ini untuk mencarinya di kluster Anda:

find / -name *componentname*.jar 2>/dev/null

Perintah ini mengembalikan jalur jar file yang cocok.

Untuk menggunakan versi komponen yang berbeda, unggah versi yang Anda butuhkan dan gunakan dalam pekerjaan Anda.

Penting

Komponen yang disediakan dengan kluster HDInsight didukung penuh dan Microsoft Support akan membantu mengisolasi dan menyelesaikan masalah yang terkait dengan komponen ini.

Komponen kustom menerima dukungan yang wajar secara komersial untuk membantu Anda memecahkan masalah lebih lanjut. Hal ini dapat mengakibatkan penyelesaian masalah ATAU meminta Anda untuk melibatkan saluran yang tersedia untuk teknologi sumber terbuka di mana keahlian mendalam untuk teknologi tersebut ditemukan. Misalnya, ada banyak situs komunitas yang dapat digunakan, seperti: Halaman pertanyaan Microsoft Q&A untuk HDInsight, https://stackoverflow.com. Proyek Apache juga memiliki situs proyek pada https://apache.org, contohnya: Hadoop, Spark.

Langkah berikutnya