Udostępnij przez


Tworzenie klastrów Apache HBase w usłudze HDInsight w usłudze Azure Virtual Network

Dowiedz się, jak tworzyć klastry Apache HBase usługi Azure HDInsight w sieci wirtualnej platformy Azure.

Dzięki integracji sieci wirtualnej klastry Apache HBase można wdrożyć w tej samej sieci wirtualnej co aplikacje, aby aplikacje mogły komunikować się bezpośrednio z bazą HBase. Korzyści:

  • Bezpośrednia łączność aplikacji internetowej z węzłami klastra HBase, która umożliwia komunikację za pośrednictwem interfejsów API do zdalnego wywoływania procedur (RPC) w języku Java dla HBase.
  • Zwiększona wydajność dzięki unikaniu przechodzenia ruchu przez wiele bram i modułów równoważenia obciążenia.
  • Możliwość przetwarzania poufnych informacji w sposób bardziej bezpieczny bez ujawniania publicznego punktu końcowego.

Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.

Tworzenie klastra Apache HBase w sieci wirtualnej

W tej sekcji utworzysz klaster Apache HBase oparty na systemie Linux z zależnym kontem usługi Azure Storage w sieci wirtualnej platformy Azure przy użyciu szablonu usługi Azure Resource Manager. Aby zapoznać się z innymi metodami tworzenia klastra i zrozumieć ustawienia, zobacz Tworzenie klastrów usługi HDInsight. Aby uzyskać więcej informacji na temat tworzenia klastrów Apache Hadoop w usłudze HDInsight przy użyciu szablonu, zobacz Create Apache Hadoop clusters in HDInsight using Azure Resource Manager templates (Tworzenie klastrów Apache Hadoop w usłudze HDInsight przy użyciu szablonów usługi Azure Resource Manager)

Note

Niektóre właściwości są trwale zakodowane w szablonie. Przykład:

  • Lokalizacja: Wschodnie stany USA 2
  • Wersja klastra: 3.6
  • Liczba węzłów procesu roboczego klastra: 2
  • Domyślne konto magazynowe: unikatowy ciąg
  • Nazwa sieci wirtualnej: CLUSTERNAME-vnet
  • Przestrzeń adresowa sieci wirtualnej: 10.0.0.0/16
  • Nazwa podsieci: subnet1
  • Zakres adresów podsieci: 10.0.0.0/24

CLUSTERNAME element jest zastępowany nazwą klastra podaną podczas korzystania z szablonu.

  1. Wybierz poniższy obraz, aby otworzyć szablon w witrynie Azure Portal. Szablon znajduje się w szablonach szybkiego startu platformy Azure.

    Przycisk Wdróż na platformie Azure dla nowego klastra

  2. W oknie dialogowym Wdrażanie niestandardowe wybierz pozycję Edytuj szablon.

  3. W wierszu 165 zmień wartość Standard_A3 na Standard_A4_V2. Następnie wybierz opcję Zapisz.

  4. Wypełnij pozostały szablon następującymi informacjami:

    Property Value
    Subscription Wybierz subskrypcję platformy Azure używaną do tworzenia klastra usługi HDInsight, zależnego konta magazynu i sieci wirtualnej platformy Azure.
    Grupa zasobów Wybierz pozycję Utwórz nową i określ nową nazwę grupy zasobów.
    Location Wybierz lokalizację dla grupy zasobów.
    Nazwa klastra Wprowadź nazwę klastra Hadoop, który ma zostać utworzony.
    Nazwa użytkownika i hasło logowania klastra Domyślna nazwa użytkownika to administrator. Podaj hasło.
    Nazwa użytkownika SSH i hasło Domyślna nazwa użytkownika to sshuser. Podaj hasło.

    Wybierz pozycję Zgadzam się na warunki i postanowienia.

  5. Wybierz pozycję Kup. Utworzenie klastra trwa około 20 minut. Po utworzeniu klastra możesz wybrać klaster w portalu, aby go otworzyć.

Po zakończeniu pracy z tym artykułem możesz usunąć klaster. W usłudze HDInsight dane są przechowywane w usłudze Azure Storage, dzięki czemu można bezpiecznie usunąć klaster, gdy nie jest używany. Opłaty są również naliczane za klaster usługi HDInsight, nawet jeśli nie jest używany. Ponieważ opłaty za klaster są wielokrotnie większe niż opłaty za magazyn, warto usunąć klastry, gdy nie są używane. Aby uzyskać instrukcje dotyczące usuwania klastra, zobacz Zarządzanie klastrami Apache Hadoop w usłudze HDInsight przy użyciu witryny Azure Portal.

Aby rozpocząć pracę z nowym klastrem HBase, możesz użyć procedur opisanych w temacie Wprowadzenie do korzystania z bazy danych Apache HBase z usługą Apache Hadoop w usłudze HDInsight.

Nawiąż połączenie z klastrem Apache HBase za pomocą API Java RPC Apache HBase.

Tworzenie maszyny wirtualnej

Utwórz maszynę wirtualną IaaS (infrastruktura jako usługa) w tej samej sieci wirtualnej Azure i tej samej podsieci. Aby uzyskać instrukcje dotyczące tworzenia nowej maszyny wirtualnej IaaS, zobacz Tworzenie maszyny wirtualnej z systemem Windows Server. Wykonując kroki opisane w tym dokumencie, należy użyć następujących wartości konfiguracji sieci:

  • Sieć wirtualna: CLUSTERNAME-vnet
  • Podsieć: subnet1

Important

Zastąp CLUSTERNAME nazwą użytą podczas tworzenia klastra HDInsight w poprzednich krokach.

Korzystając z tych wartości, maszyna wirtualna jest umieszczana w tej samej sieci wirtualnej i podsieci co klaster usługi HDInsight. Ta konfiguracja umożliwia bezpośrednie komunikowanie się ze sobą. Istnieje sposób tworzenia klastra usługi HDInsight z pustym węzłem krawędzi. Węzeł krawędzi może służyć do zarządzania klastrem. Aby uzyskać więcej informacji, zobacz Używanie pustych węzłów brzegowych w usłudze HDInsight.

Uzyskiwanie w pełni kwalifikowanej nazwy domeny

Jeśli używasz aplikacji Java do zdalnego nawiązywania połączenia z bazą danych HBase, musisz użyć w pełni kwalifikowanej nazwy domeny (FQDN). Aby określić, należy uzyskać sufiks DNS specyficzny dla połączenia klastra HBase. W tym celu można użyć jednej z następujących metod:

  • Użyj przeglądarki internetowej, aby wykonać wywołanie systemu Apache Ambari :

    Przejdź do https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts?minimal_response=true. Zwraca on plik JSON z sufiksami DNS.

  • Użyj witryny internetowej systemu Ambari:

    1. Przejdź do https://CLUSTERNAME.azurehdinsight.net.
    2. Wybierz pozycję Hosty z górnego menu.
  • Użyj narzędzia Curl, aby wykonywać wywołania REST:

    curl -u <username>:<password> -k https://CLUSTERNAME.azurehdinsight.net/ambari/api/v1/clusters/CLUSTERNAME.azurehdinsight.net/services/hbase/components/hbrest
    

W zwróconych danych JavaScript Object Notation (JSON) znajdź wpis "host_name". Zawiera on nazwę FQDN węzłów w klastrze. Przykład:

"host_name" : "hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net"

Część nazwy domeny rozpoczynająca się od nazwy klastra to sufiks DNS. Na przykład hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Weryfikowanie komunikacji wewnątrz sieci wirtualnej

Aby sprawdzić, czy maszyna wirtualna może komunikować się z klastrem HBase, użyj polecenia ping headnode0.<dns suffix> z maszyny wirtualnej. Na przykład ping hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Aby użyć tych informacji w aplikacji Java, możesz wykonać kroki opisane w temacie Używanie narzędzia Apache Maven do kompilowania aplikacji Java używających bazy danych Apache HBase z usługą HDInsight (Hadoop) w celu utworzenia aplikacji. Aby aplikacja łączyła się ze zdalnym serwerem HBase, zmodyfikuj plik hbase-site.xml w tym przykładzie, aby użyć nazwy FQDN dla usługi Zookeeper. Przykład:

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>zookeeper0.<dns suffix>,zookeeper1.<dns suffix>,zookeeper2.<dns suffix></value>
</property>

Note

Aby uzyskać więcej informacji o rozpoznawaniu nazw w sieciach wirtualnych platformy Azure, w tym o sposobie używania własnego serwera DNS, zobacz Rozpoznawanie nazw (DNS).

Dalsze kroki

W tym artykule przedstawiono sposób tworzenia klastra Apache HBase. Aby dowiedzieć się więcej, zobacz: