Utiliser le tunneling SSH pour accéder à l’interface utilisateur web d’Apache Ambari, JobHistory, NameNode, Apache Oozie et d’autres interfaces utilisateur
Les clusters HDInsight donnent accès à l’interface utilisateur web d’Apache Ambari via Internet. Certaines fonctionnalités nécessitent un tunnel SSH. Par exemple, l’interface utilisateur web Apache Oozie n’est pas accessible via Internet sans tunnel SSH.
Raisons pour lesquelles utiliser un tunnel SSH
Plusieurs des menus d’Ambari fonctionnent uniquement via un tunnel SSH. Ces menus s’appuient sur des sites web et des services qui s’exécutent sur d’autres types de nœuds, tels que les nœuds Worker.
Les interfaces utilisateur web suivantes nécessitent un tunnel SSH :
- JobHistory
- NameNode
- Thread Stacks
- Interface utilisateur Web Oozie
- Interface HBase Master et interface de journaux d’activité
Les services installés avec des actions de script qui exposent un service web nécessitent un tunnel SSH. Hue installé avec une action de script nécessite un tunnel SSH pour accéder à l’interface utilisateur web.
Important
Si vous bénéficiez d’un accès direct à HDInsight via un réseau virtuel, il est inutile d’utiliser des tunnels SSH. Pour avoir un exemple d’accès direct à HDInsight via un réseau virtuel, consultez le document Connecter HDInsight à votre réseau local.
Définition d’un tunnel SSH
Le tunneling Secure Shell (SSH) connecte un port de votre ordinateur local à un nœud principal sur HDInsight. Le trafic envoyé au port local est acheminé vers le nœud principal via une connexion SSH. La requête est résolue comme si elle avait été créée sur le nœud principal. La réponse est alors acheminée via le tunnel sur votre station de travail.
Prérequis
Un client SSH. Pour plus d’informations, consultez Se connecter à HDInsight (Apache Hadoop) à l’aide de SSH.
Un navigateur web qui peut être configuré pour utiliser un proxy SOCKS5.
Avertissement
La prise en charge du proxy SOCKS intégrée dans les paramètres Internet de Windows n’inclut pas SOCKS5 et ne fonctionne pas dans le cadre des étapes décrites dans ce document. Les navigateurs suivants s’appuient sur les paramètres de proxy Windows et ne fonctionnent pas dans le cadre des étapes décrites dans ce document :
- Microsoft Edge
- Microsoft Internet Explorer
Google Chrome repose également sur les paramètres de proxy Windows. Toutefois, vous pouvez installer des extensions qui prennent en charge SOCKS5. Nous vous recommandons FoxyProxy Standard.
Création d’un tunnel à l'aide de la commande SSH
Utilisez la commande suivante pour créer un tunnel SSH à l'aide de la commande ssh
. Remplacez sshuser
par un utilisateur SSH de votre cluster HDInsight et CLUSTERNAME
par le nom de votre cluster HDInsight.
ssh -C2qTnNf -D 9876 sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Cette commande va permettre de créer une connexion qui achemine le trafic vers le port local 9876 du cluster via SSH. Les options sont :
Option | Description |
---|---|
D 9876 | Port local qui route le trafic via le tunnel. |
C | Compresser toutes les données car le trafic web est principalement du texte. |
2 | Forcer SSH à essayer le protocole version 2 uniquement. |
q | Mode silencieux. |
T | Désactiver l’allocation pseudo-tty, puisque vous transférez simplement un port. |
n | Empêcher la lecture STDIN, puisque vous transférez simplement un port. |
N | Ne pas exécuter de commande à distance, puisque vous transférez simplement un port. |
f | Exécuter en arrière-plan. |
Une fois la commande terminée, le trafic envoyé au port 9876 sur l’ordinateur local est acheminé au nœud principal du cluster.
Création d’un tunnel à l'aide de PuTTY
PuTTY est un client SSH graphique pour Windows. Si vous n’êtes pas familiarisé avec PuTTY, voir la documentation de PuTTY . Pour créer un tunnel SSH à l’aide de PuTTY, procédez comme suit :
Créer ou charger une session
Ouvrez PuTTY et vérifiez que Session est sélectionné dans le menu de gauche. Si vous avez déjà enregistré une session, sélectionnez le nom de la session dans la liste Sessions enregistrées, puis sélectionnez Charger.
Si vous ne disposez pas d’une session enregistrée, entrez vos informations de connexion :
Propriété Valeur Nom d’hôte (ou adresse IP) Adresse SSH pour le cluster HDInsight. Par exemple : moncluster-ssh.azurehdinsight.net. Port 22 Type de la connexion SSH Cliquez sur Enregistrer
Dans la rubrique Catégorie située à gauche dans la boîte de dialogue, développez Connexion et SSH, puis sélectionnez Tunnels.
Indiquez les informations suivantes dans le formulaire des Options de contrôle de transfert du port SSH .
Propriété Valeur Port source Port sur le client que vous souhaitez transférer. Par exemple : 9876. Destination Adresse SSH pour le cluster HDInsight. Par exemple : moncluster-ssh.azurehdinsight.net. Dynamique Active le routage dynamique du proxy SOCKS. Sélectionnez Ajouter pour ajouter les paramètres, puis Ouvrir pour ouvrir une connexion SSH.
Lorsque vous y êtes invité, connectez-vous au serveur.
Utilisation du tunnel à partir de votre navigateur
Important
Les étapes décrites dans cette section utilisent le navigateur Mozilla FireFox, car il fournit les mêmes paramètres de proxy sur toutes les plateformes. D’autres navigateurs modernes, tels que Google Chrome, peuvent nécessiter une extension du type FoxyProxy pour fonctionner avec le tunnel.
Configurez le navigateur pour qu’il utilise localhost et le port que vous avez utilisé lors de la création du tunnel en tant que proxy SOCKS v5. Voici comment se présentent les paramètres Firefox : si vous avez utilisé un port autre que 9876, modifiez le port par celui que vous avez utilisé :
Remarque
La sélection de DNS Distant résout les requêtes DNS à l’aide du cluster HDInsight. Ce paramètre résout les éléments DNS en utilisant le nœud principal du cluster.
Vérifiez que le tunnel fonctionne en vous rendant sur un site tel que https://www.whatismyip.com/. L’adresse IP renvoyée doit être celle utilisée par le centre de données Microsoft Azure.
Vérification avec l'interface utilisateur Web Ambari
Une fois le cluster établi, suivez ces étapes pour vérifier que vous pouvez accéder à des interfaces utilisateur Web de service à partir du Web Ambari :
Dans votre navigateur, accédez à
http://headnodehost:8080
. L’adresseheadnodehost
est envoyée via le tunnel au cluster et renvoie le nœud principal sur lequel Ambari s’exécute. Lorsque vous y êtes invité, saisissez le nom de l’utilisateur admin (admin) et le mot de passe correspondant à votre cluster. Vous pouvez y être invité une seconde fois par l'interface utilisateur Web Ambari. Dans ce cas, saisissez de nouveau ces informations.Notes
Lorsque vous utilisez l’adresse
http://headnodehost:8080
pour vous connecter au cluster, vous vous connectez via le tunnel. La communication est sécurisée grâce au tunnel SSH plutôt que via HTTPS. Pour vous connecter via Internet à l’aide de HTTPS, utilisezhttps://clustername.azurehdinsight.net
, oùclustername
est le nom du cluster.Dans l'interface utilisateur Web Ambari, sélectionnez HDFS dans la liste située sur la gauche de la page.
Lorsque les informations de service HDFS s’affichent, sélectionnez Liens rapides. Une liste des nœuds principaux du cluster s’affiche. Sélectionnez l’un des nœuds principaux, puis Interface utilisateur NameNode.
Remarque
Lorsque vous sélectionnez Liens rapides, un indicateur d’attente peut apparaître. Cela peut se produire si votre connexion internet est lente. Patientez une minute ou deux pour recevoir les données du serveur, puis réessayez.
Certaines entrées du menu Liens rapides peuvent être tronquées par le côté droit de l’écran. Dans ce cas, développez le menu à l’aide de la souris et utilisez la touche fléchée droite pour faire défiler l’écran vers la droite afin d’afficher le reste du menu.
Une page similaire à celle ci-dessous s’affiche :
Remarque
Notez l’URL de cette page ; elle doit être similaire à
http://hn*.randomcharacters.cx.internal.cloudapp.net:8088/cluster
. Cette URI utilise le nom de domaine complet (FQDN) interne du nœud et est uniquement accessible en cas d’utilisation d’un tunnel SSH.
Étapes suivantes
À présent que vous avez appris à créer et utiliser un tunnel SSH, voir le document suivant pour découvrir d’autres façons d’utiliser Ambari :