Use um túnel SSH para acessar com segurança as web UIs de componentes de código aberto sem expor a estrutura de rede interna do seu cluster.
Para obter informações sobre todos os métodos disponíveis para acessar as web UIs dos componentes, consulte Visualize the web UIs of open-source components.
Pré-requisitos
Crie um cluster. Para mais informações, consulte Crie a cluster.
Verifique se sua máquina cliente consegue se conectar ao nó mestre do cluster. Para mais informações, consulte Bind an EIP.
Acesso via encaminhamento de porta local
Este método permite visualizar apenas a página de nível superior. Não é possível navegar para ver informações detalhadas dos jobs.
O encaminhamento de porta local mapeia uma porta no nó mestre para uma porta local na sua máquina cliente e permite o acesso direto às web UIs das aplicações em execução no nó mestre.
1. Crie um túnel SSH
Na sua máquina cliente, abra um terminal e use SSH para se conectar ao nó mestre do cluster. Autentique-se com senha ou par de chaves SSH, conforme a configuração do seu cluster.
Autenticação por chave
ssh -i <path_to_private_key_file> -N -L <local_port>:<master_node_name>:<component_port> root@<master_node_public_ip>
Parâmetros:
-i: Especifica o arquivo de chave privada para autenticação.-N: Não executa comandos remotos. Use esta opção apenas para encaminhar portas.-L: Define o encaminhamento de porta local. Encaminha o tráfego da porta local especificada para o host remoto e a porta indicados no nó mestre.<path_to_private_key_file>: Caminho local do arquivo de chave privada. Para mais informações, consulte Gerencie SSH key pairs.<local_port>: Porta não utilizada na sua máquina cliente. Exemplo: 8156.<master_node_name>: Node Name do nó mestre, encontrado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the node name. Exemplo: master-1-1.<component_port>: Porta do componente de código aberto. Para mais informações, consulte Default ports of open-source components. Por exemplo, a porta da UI do YARN é 8088.<master_node_public_ip>: Public IP Address do nó mestre, localizado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the public IP address of a node.
Autenticação por senha
ssh -N -L <local_port>:<master_node_name>:<component_port> root@<master_node_public_ip>
Parâmetros:
-N: Não executa comandos remotos. Use esta opção apenas para encaminhar portas.-L: Define o encaminhamento de porta local. Encaminha o tráfego da porta local especificada para o host remoto e a porta indicados no nó mestre.<local_port>: Porta não utilizada na sua máquina cliente. Exemplo: 8156.<master_node_name>: Node Name do nó mestre, encontrado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the node name. Exemplo: master-1-1.<component_port>: Porta do componente de código aberto. Para mais informações, consulte Default ports of open-source components. Por exemplo, a porta da UI do YARN é 8088.<master_node_public_ip>: Public IP Address do nó mestre, localizado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the public IP address of a node.
Após criar o túnel, mantenha a janela do terminal aberta. A sessão permanece ativa e não retorna ao prompt de comando.
2. Acesse a web UI do componente
Na barra de endereços do navegador, insira http://localhost:<local_port> para acessar a web UI correspondente. Substitua <local_port> pela porta local definida na Etapa 1. Por exemplo, para acessar a UI do YARN, acesse http://localhost:8156.
Para acessar várias web UIs de componentes simultaneamente, repita este processo e crie um túnel separado para cada UI em uma porta local diferente.
Acesso via encaminhamento dinâmico de porta
O encaminhamento dinâmico de porta cria um túnel SSH com um proxy SOCKS e permite que aplicações locais, como navegadores web, acessem as web UIs dos componentes de código aberto no nó mestre.
1. Crie um túnel SSH
Na sua máquina cliente, abra um terminal e use SSH para se conectar ao nó mestre do cluster. Autentique-se com senha ou par de chaves SSH, conforme a configuração do seu cluster.
Autenticação por chave
ssh -i <path_to_private_key_file> -N -D <local_port> root@<master_node_public_ip>
Parâmetros:
-i: Especifica o arquivo de chave privada para autenticação.-N: Não executa comandos remotos. Use esta opção apenas para encaminhar portas.-D: Define o encaminhamento de porta dinâmica. Inicia um servidor proxy SOCKS na porta local especificada.<path_to_private_key_file>: Caminho local do arquivo de chave privada. Para mais informações, consulte Gerencie SSH key pairs.<local_port>: Porta não utilizada na sua máquina cliente. Exemplo: 8157.<master_node_public_ip>: Public IP Address do nó mestre, localizado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the public IP address of a node.
Autenticação por senha
ssh -N -D <local_port> root@<master_node_public_ip>
Parâmetros:
-N: Não executa comandos remotos. Use esta opção apenas para encaminhar portas.-D: Define o encaminhamento de porta dinâmica. Inicia um servidor proxy SOCKS na porta local especificada.<local_port>: Porta não utilizada na sua máquina cliente. Exemplo: 8157.<master_node_public_ip>: Public IP Address do nó mestre, localizado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the public IP address of a node.
Após criar o túnel, mantenha a janela do terminal aberta. A sessão permanece ativa e não retorna ao prompt de comando.
2. Configure o proxy do navegador
Depois de ativar o encaminhamento dinâmico de porta, escolha um dos métodos abaixo para configurar o proxy no seu navegador.
Linha de comando (Chrome)
-
Abra um terminal e acesse o diretório de instalação do Google Chrome na sua máquina cliente.
Sistema operacional
Diretório de instalação padrão
macOS X
/Applications/Google\ Chrome.app/Contents/macOS
Linux
/usr/bin/google-chrome
Windows
Os caminhos padrão para sistemas de 64 bits e 32 bits são:
-
C:\Program Files\Google\Chrome\Application\
-
C:\Program Files (x86)\Google\Chrome\Application\
NotaO diretório de instalação padrão do Chrome varia conforme o sistema operacional.
-
-
Configure o Google Chrome para usar o proxy SOCKS local e inicie o navegador. Certifique-se de que a porta corresponda àquela definida na Etapa 1.
NotaOs exemplos a seguir usam a porta 8157.
macOS X
./Google\ Chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp/Linux
chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp/Windows
chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=c:\\tmppath\\
Extensão do Chrome
Uma extensão de navegador permite gerenciar e alternar configurações de proxy sem afetar a navegação regular.
Instale a extensão SwitchyOmega no Chrome.
Abra a página de configuração da extensão. Clique em New profile, insira um Profile name (por exemplo, SSH tunnel) e selecione PAC Profile como tipo de perfil.
-
No editor de PAC Script, insira o código abaixo.
NotaEste exemplo usa a porta 8157.
function regExpMatch(url, pattern) { try { return new RegExp(pattern).test(url); } catch (ex) { return false; } } function FindProxyForURL(url, host) { if (shExpMatch(url, "*localhost*")) return "SOCKS5 localhost:8157"; if (shExpMatch(url, "*emr-header*")) return "SOCKS5 localhost:8157"; if (shExpMatch(url, "*emr-worker*")) return "SOCKS5 localhost:8157"; if (shExpMatch(url, "*master*")) return "SOCKS5 localhost:8157"; if (shExpMatch(url, "*core*")) return "SOCKS5 localhost:8157"; return 'DIRECT'; } No painel de navegação à esquerda, clique em Apply changes.
-
No canto superior direito do navegador, clique em o ícone do SwitchyOmega e selecione o perfil SSH tunnel recém-criado.
3. Acesse a web UI do componente
Na barra de endereços do navegador, insira http://<master_node_name>:<port> para acessar a web UI correspondente. Por exemplo, para acessar a UI do YARN, acesse http://master-1-1:8088.
Parâmetros:
<master_node_name>: Node Name do nó mestre, encontrado na aba Nodes da página de detalhes do cluster. Para mais informações, consulte Obtain the node name. Exemplo: master-1-1.<port>: Porta do componente de destino. Para obter uma lista das portas dos componentes, consulte Default ports of open-source components. Por exemplo, a porta da UI do YARN é 8088.
Para acessar as web UIs de múltiplos componentes de código aberto, basta alterar o número da porta na URL.
Referências
Para acessar web UIs pelo console, consulte Access open-source component UIs from the console.
Para respostas às perguntas frequentes, consulte FAQ.