Udostępnij za pośrednictwem


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 Zdalnego wywołania procedury Java bazy danych HBase (RPC).
  • Zwiększona wydajność dzięki braku 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 platformy Azure, przed rozpoczęciem utwórz bezpłatne 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)

Uwaga

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 magazynu: 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.

    Deploy to Azure button for new cluster

  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:

    Właściwości Wartość
    Subskrypcja 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.
    Lokalizacja 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.
    Ssh User Name and Password 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. Dzięki usłudze HDInsight dane są przechowywane w usłudze Azure Storage, więc można bezpiecznie usunąć klaster, gdy nie jest używany. Opłaty za klaster usługi HDInsight są naliczane nawet wtedy, gdy nie jest używany. Ponieważ opłaty za klaster są wielokrotnie większe niż opłaty za magazyn, ze względów ekonomicznych warto usuwać 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.

Połączenie do klastra Apache HBase przy użyciu interfejsów API RPC języka Java bazy danych Apache HBase

Tworzenie maszyny wirtualnej

Utwórz maszynę wirtualną infrastruktura jako usługa (IaaS) w tej samej sieci wirtualnej platformy 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ć: podsieć subnet1

Ważne

Zastąp CLUSTERNAME ciąg nazwą użytą podczas tworzenia klastra usługi 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. Na przykład:

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

Uwaga

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).

Następne kroki

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