Używanie tunelowania SSH do uzyskiwania dostępu do internetowego interfejsu użytkownika systemu Apache Ambari, JobHistory, NameNode, Apache Oozie i innych interfejsów użytkownika
Klastry usługi HDInsight zapewniają dostęp do internetowego interfejsu użytkownika platformy Apache Ambari za pośrednictwem Internetu. Niektóre funkcje wymagają tunelu SSH. Na przykład internetowy interfejs użytkownika usługi Apache Oozie nie może być dostępny za pośrednictwem Internetu bez tunelu SSH.
Dlaczego warto używać tunelu SSH
Kilka menu w systemie Ambari działa tylko za pośrednictwem tunelu SSH. Te menu korzystają z witryn internetowych i usług działających w innych typach węzłów, takich jak węzły robocze.
Następujące interfejsy użytkownika sieci Web wymagają tunelu SSH:
- JobHistory
- Węzeł nazw
- Stosy wątków
- Interfejs użytkownika sieci Web Oozie
- Interfejs użytkownika wzorca bazy danych HBase i dzienników
Usługi zainstalowane z akcjami skryptu, które uwidaczniają usługę internetową, będą wymagały tunelu SSH. Funkcja Hue zainstalowana z akcją skryptu wymaga tunelu SSH w celu uzyskania dostępu do internetowego interfejsu użytkownika.
Ważne
Jeśli masz bezpośredni dostęp do usługi HDInsight za pośrednictwem sieci wirtualnej, nie musisz używać tuneli SSH. Aby zapoznać się z przykładem bezpośredniego uzyskiwania dostępu do usługi HDInsight za pośrednictwem sieci wirtualnej, zobacz dokument Połączenie HDInsight w sieci lokalnej.
Co to jest tunel SSH
Tunelowanie protokołu Secure Shell (SSH) łączy port na maszynie lokalnej z węzłem głównym w usłudze HDInsight. Ruch wysyłany do portu lokalnego jest kierowany przez połączenie SSH z węzłem głównym. Żądanie jest rozpoznawane tak, jakby pochodziło z węzła głównego. Odpowiedź jest następnie kierowana z powrotem przez tunel do stacji roboczej.
Wymagania wstępne
Klient SSH. Aby uzyskać więcej informacji, zobacz Łączenie się z usługą HDInsight (Apache Hadoop) przy użyciu protokołu SSH.
Przeglądarka internetowa, którą można skonfigurować do używania serwera proxy SOCKS5.
Ostrzeżenie
Obsługa serwera proxy SOCKS wbudowanego w ustawienia internetowe systemu Windows nie obsługuje programu SOCKS5 i nie działa z krokami w tym dokumencie. Następujące przeglądarki korzystają z ustawień serwera proxy systemu Windows i obecnie nie działają z krokami w tym dokumencie:
- Microsoft Edge
- Microsoft Internet Explorer
Przeglądarka Google Chrome korzysta również z ustawień serwera proxy systemu Windows. Można jednak zainstalować rozszerzenia, które obsługują skarpetki SOCKS5. Zalecamy foxyProxy Standard.
Tworzenie tunelu przy użyciu polecenia SSH
Użyj następującego polecenia, aby utworzyć tunel SSH przy użyciu ssh
polecenia . Zastąp sshuser
element użytkownikiem SSH klastra usługi HDInsight i zastąp CLUSTERNAME
ciąg nazwą klastra usługi HDInsight:
ssh -C2qTnNf -D 9876 sshuser@CLUSTERNAME-ssh.azurehdinsight.net
To polecenie tworzy połączenie, które kieruje ruch do lokalnego portu 9876 do klastra za pośrednictwem protokołu SSH. Dostępne opcje:
Opcja | Opis |
---|---|
D 9876 | Port lokalny, który kieruje ruch przez tunel. |
C | Kompresuj wszystkie dane, ponieważ ruch internetowy jest głównie tekstem. |
2 | Wymuś protokół SSH, aby wypróbować tylko protokół w wersji 2. |
q | Tryb cichy. |
T | Wyłącz alokację pseudo-tty, ponieważ po prostu przekazujesz port. |
n | Zapobiegaj odczytywaniu danych STDIN, ponieważ po prostu przekazujesz port. |
N | Nie wykonuj polecenia zdalnego, ponieważ po prostu przekazujesz port. |
f | Uruchom w tle. |
Po zakończeniu polecenia ruch wysyłany do portu 9876 na komputerze lokalnym jest kierowany do węzła głównego klastra.
Tworzenie tunelu przy użyciu programu PuTTY
PuTTY to graficzny klient SSH dla systemu Windows. Jeśli nie znasz programu PuTTY, zapoznaj się z dokumentacją programu PuTTY. Wykonaj następujące kroki, aby utworzyć tunel SSH przy użyciu programu PuTTY:
Tworzenie lub ładowanie sesji
Otwórz plik PuTTY i upewnij się, że w menu po lewej stronie wybrano pozycję Sesja . Jeśli sesja została już zapisana, wybierz nazwę sesji z listy Zapisane sesje i wybierz pozycję Załaduj.
Jeśli nie masz jeszcze zapisanej sesji, wprowadź informacje o połączeniu:
Właściwości Wartość Nazwa hosta (lub adres IP) Adres SSH klastra usługi HDInsight. Na przykład mójklaster-ssh.azurehdinsight.net. Port 22 Typ połączenia SSH Wybierz pozycję Zapisz
W sekcji Kategoria po lewej stronie okna dialogowego rozwiń węzeł Połączenie ion, rozwiń węzeł SSH, a następnie wybierz pozycję Tunele.
Podaj następujące informacje dotyczące formularza Opcje kontrolujące przekazywanie portów SSH:
Właściwości Wartość Port źródłowy Port na kliencie, który chcesz przekazać dalej. Na przykład 9876. Element docelowy Adres SSH klastra usługi HDInsight. Na przykład mójklaster-ssh.azurehdinsight.net. Dynamiczny Włącza dynamiczny routing serwera proxy SOCKS. Wybierz pozycję Dodaj , aby dodać ustawienia, a następnie wybierz pozycję Otwórz , aby otworzyć połączenie SSH.
Po wyświetleniu monitu zaloguj się do serwera.
Korzystanie z tunelu z przeglądarki
Ważne
Kroki opisane w tej sekcji korzystają z przeglądarki Mozilla FireFox, ponieważ udostępnia ona te same ustawienia serwera proxy na wszystkich platformach. Inne nowoczesne przeglądarki, takie jak Google Chrome, mogą wymagać rozszerzenia, takiego jak FoxyProxy, do pracy z tunelem.
Skonfiguruj przeglądarkę tak, aby korzystała z hosta lokalnego i portu użytego podczas tworzenia tunelu jako serwera proxy SOCKS w wersji 5 . Oto jak wyglądają ustawienia przeglądarki Firefox. Jeśli użyto innego portu niż 9876, zmień port na używany:
Uwaga
Wybranie zdalnego systemu DNS rozpoznaje żądania systemu nazw domen (DNS) przy użyciu klastra usługi HDInsight. To ustawienie rozpoznaje system DNS przy użyciu węzła głównego klastra.
Sprawdź, czy tunel działa, odwiedzając lokację, taką jak https://www.whatismyip.com/. Zwrócony adres IP powinien być używany przez centrum danych platformy Microsoft Azure.
Weryfikowanie przy użyciu internetowego interfejsu użytkownika systemu Ambari
Po ustanowieniu klastra wykonaj następujące kroki, aby sprawdzić, czy możesz uzyskać dostęp do internetowych interfejsów użytkownika usługi z sieci Web systemu Ambari:
W przeglądarce przejdź do adresu
http://headnodehost:8080
. Adresheadnodehost
jest wysyłany przez tunel do klastra i rozpoznawany jako węzeł główny, na którym działa system Ambari. Po wyświetleniu monitu wprowadź nazwę użytkownika administratora (administratora) i hasło dla klastra. Może zostać wyświetlony monit po raz drugi przez internetowy interfejs użytkownika systemu Ambari. Jeśli tak, wprowadź ponownie informacje.Uwaga
Jeśli używasz
http://headnodehost:8080
adresu do nawiązywania połączenia z klastrem, łączysz się za pośrednictwem tunelu. Komunikacja jest zabezpieczona przy użyciu tunelu SSH zamiast PROTOKOŁU HTTPS. Aby nawiązać połączenie za pośrednictwem Internetu przy użyciu protokołu HTTPS, użyj poleceniahttps://clustername.azurehdinsight.net
, gdzieclustername
jest nazwą klastra.W internetowym interfejsie użytkownika systemu ambari wybierz pozycję HDFS z listy po lewej stronie.
Po wyświetleniu informacji o usłudze HDFS wybierz pozycję Szybkie linki. Zostanie wyświetlona lista węzłów głównych klastra. Wybierz jeden z węzłów głównych, a następnie wybierz pozycję NameNode UI.
Uwaga
Po wybraniu pozycji Szybkie linki może zostać wyświetlony wskaźnik oczekiwania. Ten warunek może wystąpić, jeśli masz wolne połączenie internetowe. Poczekaj minutę lub dwie na odebranie danych z serwera, a następnie spróbuj ponownie utworzyć listę.
Niektóre wpisy w menu Szybkie linki mogą być odcięte po prawej stronie ekranu. Jeśli tak, rozwiń menu przy użyciu myszy i użyj klawisza strzałki w prawo, aby przewinąć ekran po prawej stronie, aby wyświetlić pozostałą część menu.
Zostanie wyświetlona strona podobna do poniższej:
Uwaga
Zwróć uwagę na adres URL tej strony; powinna być podobna do
http://hn*.randomcharacters.cx.internal.cloudapp.net:8088/cluster
. Ten identyfikator URI używa wewnętrznej w pełni kwalifikowanej nazwy domeny (FQDN) węzła i jest dostępny tylko w przypadku korzystania z tunelu SSH.
Następne kroki
Teraz, gdy wiesz już, jak utworzyć tunel SSH i korzystać z niego, zapoznaj się z następującym dokumentem, aby zapoznać się z innymi sposobami korzystania z narzędzia Ambari: