Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR - Amazon EMR

Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo principal del clúster de Amazon EMR

Si utiliza un túnel de SSH con enrutamiento de puertos dinámico, debe utilizar un complemento de administración de proxy de SOCKS para controlar los ajustes del proxy en el navegador. El uso de una herramienta de administración de proxy de SOCKS le permite filtrar automáticamente las URL en función de los patrones de texto y limitar la configuración del proxy a dominios que coinciden con la forma del nombre de DNS pública del nodo principal. El complemento del navegador gestiona automáticamente la activación y desactivación del proxy al cambiar entre la visualización de sitios web alojados en el nodo principal y en Internet. Para administrar sus ajustes de proxy, configure el navegador para utilizar un complemento como FoxyProxy o SwitchyOmega.

Para obtener más información acerca de la creación de un túnel de SSH, consulte Opción 2, parte 1: configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico. Para obtener más información acerca de las interfaces web disponibles, consulte Ver las interfaces web alojadas en clústeres de Amazon EMR.

Incluya los siguientes ajustes cuando configure su complemento de proxy:

  • Use localhost como dirección de host.

  • Use el mismo número de puerto local que seleccionó para establecer el túnel SSH con el nodo principal en Opción 2, parte 1: configurar un túnel SSH al nodo principal utilizando el enrutamiento de puertos dinámico. Por ejemplo, el puerto 8157. Este puerto también debe coincidir con el número de puerto que utiliza en PuTTY u en otro emulador de terminal que utilice para conectarse.

  • Especifique el protocolo SOCKS v5. SOCKS v5 le permite configurar de forma opcional la autorización de usuario.

  • URL Patterns (Patrones de URL)

    Los siguientes patrones de URL deben autorizarse y especificarse con un tipo de patrón comodín:

    • Los patrones *ec2*.*compute*.amazonaws.com* y *10*.amazonaws.com* coinciden con el nombre de DNS público de los clústeres de las regiones de EE. UU.

    • Los patrones *ec2*.compute* y *10*.compute* coinciden con el nombre de DNS público de los clústeres de todas las demás regiones.

    • El patrón 10.* proporciona acceso a los archivos de registro de JobTracker en Hadoop. Modifique este filtro si entra en conflicto con su plan de acceso de red.

    • Los patrones *.ec2.internal* y *.compute.internal* hacen coincidir los nombres de DNS privados (internos) de los clústeres de la región us-east-1 y de todas las demás regiones, respectivamente.

Ejemplo: configurar FoxyProxy para Firefox

En el siguiente ejemplo se muestra una configuración de FoxyProxy Standard (versión 7.5.1) para Mozilla Firefox.

FoxyProxy proporciona un conjunto de herramientas de administración de proxy. Le permite utilizar un servidor proxy para las URL que coincidan con los patrones correspondientes a los dominios utilizados por las instancias de Amazon EC2 de su clúster de Amazon EMR.

Para instalar y configurar FoxyProxy con Mozilla Firefox
  1. En Firefox, vaya a https://addons.mozilla.org/, busque FoxyProxy Standard y siga las instrucciones para agregar FoxyProxy a Firefox.

  2. Mediante un editor de texto, cree un archivo JSON denominado foxyproxy-settings.json con la siguiente configuración de ejemplo.

    { "k20d21508277536715": { "active": true, "address": "localhost", "port": 8157, "username": "", "password": "", "type": 3, "proxyDNS": true, "title": "emr-socks-proxy", "color": "#0055E5", "index": 9007199254740991, "whitePatterns": [ { "title": "*ec2*.*compute*.amazonaws.com*", "active": true, "pattern": "*ec2*.*compute*.amazonaws.com*", "importedPattern": "*ec2*.*compute*.amazonaws.com*", "type": 1, "protocols": 1 }, { "title": "*ec2*.compute*", "active": true, "pattern": "*ec2*.compute*", "importedPattern": "*ec2*.compute*", "type": 1, "protocols": 1 }, { "title": "10.*", "active": true, "pattern": "10.*", "importedPattern": "http://10.*", "type": 1, "protocols": 2 }, { "title": "*10*.amazonaws.com*", "active": true, "pattern": "*10*.amazonaws.com*", "importedPattern": "*10*.amazonaws.com*", "type": 1, "protocols": 1 }, { "title": "*10*.compute*", "active": true, "pattern": "*10*.compute*", "importedPattern": "*10*.compute*", "type": 1, "protocols": 1 }, { "title": "*.compute.internal*", "active": true, "pattern": "*.compute.internal*", "importedPattern": "*.compute.internal*", "type": 1, "protocols": 1 }, { "title": "*.ec2.internal* ", "active": true, "pattern": "*.ec2.internal*", "importedPattern": "*.ec2.internal*", "type": 1, "protocols": 1 } ], "blackPatterns": [] }, "logging": { "size": 100, "active": false }, "mode": "patterns", "browserVersion": "68.12.0", "foxyProxyVersion": "7.5.1", "foxyProxyEdition": "standard" }
  3. Abra la página Administrar sus extensiones de Firefox (vaya a about:addons y seleccione Extensiones).

  4. Seleccione FoxyProxy Standard y, a continuación, seleccione el botón de más opciones (el botón que tiene forma de puntos suspensivos).

  5. Seleccione Opciones en el menú desplegable.

  6. Seleccione Importar ajustes en el menú de la izquierda.

  7. En la página Importar ajustes, seleccione Importar ajustes en Importar ajustes desde FoxyProxy 6.0+, busque la ubicación del archivo foxyproxy-settings.json que ha creado, selecciónelo y seleccione Abrir.

  8. Pulse Aceptar cuando se le pida para sobrescribir los ajustes existentes y guarde la nueva configuración.

Ejemplo: configurar SwitchyOmega para Chrome

En el siguiente ejemplo, se muestra cómo configurar la extensión SwitchyOmega para Google Chrome. SwitchyOmega le permite configurar, administrar y cambiar entre varios proxies.

Para instalar y configurar SwitchyOmega utilizando Google Chrome
  1. Vaya a https://chrome.google.com/webstore/category/extensions, busque Proxy SwitchyOmega y agréguelo a Chrome.

  2. Seleccione Nuevo perfil e introduzca emr-socks-proxy como nombre del perfil.

  3. Seleccione Perfil de PAC y, a continuación, Crear. Los archivos de configuración automática de proxy (PAC) le ayudan a definir una lista de permisos para las solicitudes del navegador que deben reenviarse a un servidor proxy web.

  4. En el campo Script de PAC, sustituya el contenido por el siguiente script, que define qué URL deben reenviarse a través del servidor proxy web. Si especificó un número de puerto diferente al configurar el túnel SSH, sustituya 8157 por su número de puerto.

    function FindProxyForURL(url, host) { if (shExpMatch(url, "*ec2*.*compute*.amazonaws.com*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*ec2*.compute*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "http://10.*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*10*.compute*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*10*.amazonaws.com*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*.compute.internal*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*ec2.internal*")) return 'SOCKS5 localhost:8157'; return 'DIRECT'; }
  5. En Acciones, seleccione Aplicar cambios para guardar la configuración del proxy.

  6. En la barra de herramientas de Chrome, seleccione SwitchyOmega y selecciona el perfil emr-socks-proxy.

Acceder a una interfaz web en el navegador

Para abrir una interfaz web, introduzca el nombre de DNS público de su nodo principal o de núcleo seguido del número de puerto de la interfaz seleccionada en la barra de direcciones del navegador. En el siguiente ejemplo se muestra la URL que debe introducir para conectarse al servidor HistoryServer de Spark.

http://master-public-dns-name:18080/

Para obtener instrucciones sobre cómo recuperar el nombre de DNS público de un nodo, consulte Recuperar el nombre de DNS público del nodo principal. Para obtener una lista completa de las direcciones URL de la interfaz web, consulte Ver las interfaces web alojadas en clústeres de Amazon EMR.