Rencanakan jaringan virtual untuk Azure HDInsight

Artikel ini menyediakan informasi latar belakang tentang menggunakan Azure Virtual Networks (VNets) dengan Azure HDInsight. Ini juga membahas desain dan keputusan implementasi yang harus dibuat sebelum Anda dapat menerapkan jaringan virtual untuk kluster HDInsight Anda. Setelah fase perencanaan selesai, Anda dapat melanjutkan ke Buat jaringan virtual untuk kluster Azure HDInsight. Untuk informasi selengkapnya tentang alamat IP manajemen HDInsight yang diperlukan untuk mengonfigurasi kelompok keamanan jaringan (NSGs) dan rute yang ditentukan pengguna dengan benar, lihat alamat IP manajemen HDInsight.

Menggunakan Azure Virtual Network memungkinkan skenario berikut:

  • Menyambungkan ke HDInsight langsung dari jaringan lokal.
  • Menghubungkan HDInsight ke penyimpanan data di Azure Virtual Network.
  • Mengakses secara langsung layanan Apache Hadoop yang tidak tersedia untuk umum melalui internet. Misalnya, API Apache Kafka atau APACHE HBase Java API.

Penting

Membuat kluster HDInsight di VNET akan menciptakan beberapa sumber daya jaringan, seperti NIC dan penyeimbang muatan. Jangan menghapus atau mengubah sumber daya jaringan ini, karena diperlukan agar kluster Anda berfungsi dengan benar dengan VNET.

Perencanaan

Berikut ini adalah pertanyaan yang harus Anda jawab ketika berencana menginstal HDInsight dalam jaringan virtual:

  • Apakah Anda perlu menginstal HDInsight ke jaringan virtual yang ada? Atau apakah Anda membuat jaringan baru?

    Jika Anda menggunakan jaringan virtual yang ada, Anda mungkin perlu memodifikasi konfigurasi jaringan sebelum dapat menginstal HDInsight. Untuk informasi selengkapnya, lihat tambahkan HDInsight ke bagian jaringan virtual yang ada.

  • Apakah Anda ingin menyambungkan jaringan virtual yang memuat HDInsight ke jaringan virtual atau jaringan lokal lainnya?

    Untuk bekerja dengan mudah dengan sumber daya di seluruh jaringan, Anda mungkin perlu membuat DNS kustom dan mengonfigurasi penerusan DNS. Untuk informasi selengkapnya, lihat bagian yang menghubungkan beberapa jaringan.

  • Apakah Anda ingin membatasi/mengalihkan lalu lintas masuk atau keluar ke HDInsight?

    HDInsight harus memiliki komunikasi yang tidak terbatas dengan alamat IP tertentu di pusat data Azure. Ada juga beberapa port yang harus diizinkan melalui firewall untuk komunikasi klien. Untuk informasi selengkapnya, lihat Kontrol lalu lintas jaringan.

Tambahkan HDInsight ke jaringan virtual yang ada

Gunakan langkah-langkah di bagian ini untuk menemukan cara menambahkan HDInsight baru ke Jaringan Virtual Azure yang sudah ada.

Catatan

  • Anda tidak dapat menambahkan kluster HDInsight yang ada ke dalam jaringan virtual.
  • VNET dan kluster yang dibuat harus dalam langganan yang sama.
  1. Apakah Anda menggunakan model penyebaran Klasik atau Resource Manager untuk jaringan virtual?

    HDInsight 3.4 dan yang lebih besar memerlukan jaringan virtual Resource Manager. Versi HDInsight sebelumnya memerlukan jaringan virtual klasik.

    Jika jaringan Anda yang ada adalah jaringan virtual klasik, maka Anda harus membuat jaringan virtual Resource Manager dan kemudian menghubungkan keduanya. Menghubungkan VNets klasik ke VNet baru.

    Setelah bergabung, HDInsight yang diinstal di jaringan Resource Manager dapat berinteraksi dengan sumber daya di jaringan klasik.

  2. Apakah Anda menggunakan kelompok keamanan jaringan, rute yang ditentukan pengguna, atau Virtual Network Appliances untuk membatasi lalu lintas ke atau keluar dari jaringan virtual?

    Sebagai layanan terkelola, HDInsight memerlukan akses tidak terbatas ke beberapa alamat IP di pusat data Azure. Untuk memperbolehkan komunikasi dengan alamat IP ini, perbarui kelompok keamanan jaringan yang ada atau rute yang ditentukan pengguna.

    HDInsight menghosting beberapa layanan, yang menggunakan berbagai port. Jangan halangi lalu lintas ke port ini. Untuk daftar port yang diizinkan melalui firewall appliance virtual, lihat bagian Keamanan.

    Untuk menemukan konfigurasi keamanan yang sudah ada, gunakan perintah Azure PowerShell atau Azure CLI berikut ini:

    • Kelompok Keamanan Jaringan

      Ganti RESOURCEGROUP dengan nama grup sumber daya yang berisi jaringan virtual, lalu masukkan perintah:

      Get-AzNetworkSecurityGroup -ResourceGroupName  "RESOURCEGROUP"
      
      az network nsg list --resource-group RESOURCEGROUP
      

      Untuk informasi selengkapnya, lihat dokumen Memecahkan masalah kelompok keamanan jaringan.

      Penting

      Aturan kelompok keamanan jaringan diterapkan berdasarkan prioritas aturan. Aturan pertama yang cocok dengan pola lalu lintas diterapkan, dan tidak ada orang lain yang diterapkan untuk lalu lintas itu. Aturan pesanan dari yang paling permisif hingga paling tidak permisif. Untuk informasi selengkapnya, lihat memfilter lalu lintas jaringan dengan dokumen kelompok keamanan jaringan.

    • Rute yang ditentukan pengguna

      Ganti RESOURCEGROUP dengan nama grup sumber daya yang berisi jaringan virtual, lalu masukkan perintah:

      Get-AzRouteTable -ResourceGroupName "RESOURCEGROUP"
      
      az network route-table list --resource-group RESOURCEGROUP
      

      Untuk informasi selengkapnya, lihat dokumentasi Pemecahan masalah.

  3. Buat kluster HDInsight dan pilih Azure Virtual Network selama konfigurasi. Gunakan langkah-langkah dalam dokumen berikut untuk memahami proses pembuatan kluster:

    Penting

    Menambahkan HDInsight ke jaringan virtual adalah langkah konfigurasi opsional. Pastikan untuk memilih jaringan virtual ketika mengonfigurasi kluster.

Menyambungkan beberapa jaringan

Tantangan terbesar dengan konfigurasi multi-jaringan adalah resolusi nama antara jaringan.

Azure menyediakan resolusi nama untuk layanan Azure yang diinstal dalam jaringan virtual. Resolusi nama bawaan ini memungkinkan HDInsight untuk terhubung ke sumber daya berikut dengan menggunakan nama domain yang sepenuhnya memenuhi syarat (FQDN):

  • Sumber daya apa pun yang tersedia di internet. Misalnya, microsoft.com, windowsupdate.com.

  • Sumber daya apa pun yang berada di Jaringan Virtual Azure yang sama, dengan menggunakan nama DNS internal sumber daya. Misalnya, saat menggunakan resolusi nama default, berikut ini adalah contoh nama DNS internal yang ditetapkan ke node pekerja HDInsight:

    • <workername1>.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net

    • <workername2>.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net

      Kedua node ini dapat berkomunikasi langsung satu sama lain, dan node lain di HDInsight, dengan menggunakan nama DNS internal.

Resolusi nama default tidak memungkinkan HDInsight untuk menyelesaikan nama sumber daya dalam jaringan yang bergabung ke jaringan virtual. Misalnya, umum untuk bergabung dengan jaringan lokal Anda ke jaringan virtual. Hanya dengan resolusi nama default, HDInsight tidak dapat mengakses sumber daya di jaringan lokal berdasarkan nama. Sebaliknya juga benar, sumber daya di jaringan lokal Anda tidak dapat mengakses sumber daya di jaringan virtual berdasarkan nama.

Peringatan

Anda harus membuat server DNS kustom dan mengonfigurasi jaringan virtual untuk menggunakannya sebelum membuat kluster HDInsight.

Untuk memfungsikan resolusi nama antara jaringan maya dan sumber daya dalam jaringan yang bergabung, Anda harus melakukan tindakan berikut:

  1. Buat server DNS kustom di Azure Virtual Network tempat Anda berencana menginstal HDInsight.

  2. Mengonfigurasi jaringan virtual untuk menggunakan server DNS kustom.

  3. Temukan akhiran DNS azure yang ditetapkan untuk jaringan virtual Anda. Nilai ini mirip dengan 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net. Untuk informasi tentang menemukan akhiran DNS, lihat bagian Contoh: DNS Kustom.

  4. Mengonfigurasi penerusan antar server DNS. Konfigurasi tergantung pada jenis jaringan jarak jauh.

    • Jika jaringan jarak jauh adalah jaringan lokal, konfigurasikan DNS sebagai berikut:

      • DNS kustom (dalam jaringan virtual):

        • Meneruskan permintaan untuk akhiran DNS jaringan virtual ke resolver rekursif Azure (168.63.129.16). Azure menangani permintaan sumber daya di jaringan virtual

        • Teruskan semua permintaan lainnya ke server DNS lokal. DNS lokal menangani semua permintaan resolusi nama lainnya, bahkan permintaan sumber daya internet seperti Microsoft.com.

      • DNS lokal: Meneruskan permintaan untuk akhiran DNS jaringan virtual ke server DNS kustom. Server DNS kustom kemudian meneruskan ke pemecah masalah rekursif Azure.

        Konfigurasi ini merutekan permintaan untuk nama domain yang sepenuhnya memenuhi syarat yang berisi akhiran DNS jaringan virtual ke server DNS kustom. Semua permintaan lain (bahkan untuk alamat internet publik) ditangani oleh server DNS lokal.

    • Jika jaringan jarak jauh adalah Jaringan Virtual Azure lainnya, konfigurasikan DNS sebagai berikut:

      • DNS Kustom (di setiap jaringan virtual):

        • Permintaan untuk akhiran DNS jaringan virtual diteruskan ke server DNS kustom. DNS di setiap jaringan virtual bertanggung jawab untuk menyelesaikan sumber daya dalam jaringannya.

        • Teruskan semua permintaan lainnya ke pemecah masalah rekursif Azure. Resolver rekursif bertanggung jawab untuk menyelesaikan sumber daya lokal dan internet.

        Server DNS untuk setiap jaringan meneruskan permintaan ke yang lain, berdasarkan akhiran DNS. Permintaan lain diselesaikan menggunakan resolver rekursif Azure.

      Untuk contoh setiap konfigurasi, lihat bagian Contoh: DNS Kustom.

Untuk informasi selengkapnya, lihat dokumen Resolusi Nama untuk VM dan Instans Peran.

Terhubung langsung ke layanan Apache Hadoop

Misalnya, Anda dapat terhubung ke kluster di https://CLUSTERNAME.azurehdinsight.net. Alamat ini menggunakan IP publik, yang mungkin tidak dapat dijangkau jika Anda telah menggunakan NSG untuk membatasi lalu lintas yang masuk dari internet. Selain itu, ketika Anda menyebarkan kluster di VNet Anda dapat mengaksesnya menggunakan titik akhir https://CLUSTERNAME-int.azurehdinsight.net pribadi. Titik akhir ini menyelesaikan ke IP pribadi di dalam VNet untuk akses kluster.

Untuk terhubung ke Apache Ambari dan halaman web lainnya melalui jaringan virtual, gunakan langkah-langkah berikut:

  1. Untuk menemukan nama domain internal yang sepenuhnya memenuhi syarat (FQDN) dari node kluster HDInsight, gunakan salah satu metode berikut:

    Ganti RESOURCEGROUP dengan nama grup sumber daya yang berisi jaringan virtual, lalu masukkan perintah:

    $clusterNICs = Get-AzNetworkInterface -ResourceGroupName "RESOURCEGROUP" | where-object {$_.Name -like "*node*"}
    
    $nodes = @()
    foreach($nic in $clusterNICs) {
        $node = new-object System.Object
        $node | add-member -MemberType NoteProperty -name "Type" -value $nic.Name.Split('-')[1]
        $node | add-member -MemberType NoteProperty -name "InternalIP" -value $nic.IpConfigurations.PrivateIpAddress
        $node | add-member -MemberType NoteProperty -name "InternalFQDN" -value $nic.DnsSettings.InternalFqdn
        $nodes += $node
    }
    $nodes | sort-object Type
    
    az network nic list --resource-group RESOURCEGROUP --output table --query "[?contains(name, 'node')].{NICname:name,InternalIP:ipConfigurations[0].privateIpAddress,InternalFQDN:dnsSettings.internalFqdn}"
    

    Dalam daftar node yang dikembalikan, temukan FQDN untuk node kepala dan gunakan FQDN untuk terhubung ke Ambari dan layanan web lainnya. Misalnya, gunakan http://<headnode-fqdn>:8080 untuk mengakses Ambari.

    Penting

    Beberapa layanan yang dihosting pada node kepala hanya aktif pada satu node pada satu waktu. Jika Anda mencoba mengakses layanan pada satu node kepala dan mengembalikan kesalahan 404, beralihlah ke node kepala lainnya.

  2. Untuk menentukan node dan port tempat layanan tersedia, lihat Port yang digunakan oleh layanan Hadoop pada dokumen HDInsight.

Penyeimbangan Beban

Saat Anda membuat kluster HDInsight, penyeimbang muatan juga dibuat. Jenis penyeimbang muatan ini berada pada tingkat SKU dasar,yang memiliki kendala tertentu. Salah satu kendala ini adalah bahwa jika Anda memiliki dua jaringan virtual di berbagai wilayah, Anda tidak dapat terhubung ke penyeimbang beban dasar. Lihat FAQ jaringan virtual: batasan pada peering vnet global,untuk informasi lebih lanjut.

Batasan lain adalah bahwa load balancer HDInsight tidak boleh dihapus atau dimodifikasi. Setiap perubahan pada aturan load balancer akan ditimpa selama peristiwa pemeliharaan tertentu seperti perpanjangan sertifikat. Jika load balancer dimodifikasi dan memengaruhi fungsionalitas kluster, Anda mungkin perlu membuat ulang kluster.

Langkah berikutnya