Todos os produtos
Search
Central de documentação

E-MapReduce:Knox

Última atualização: Jun 27, 2026

Este tópico descreve como configurar o Knox no E-MapReduce para acessar as interfaces web de serviços como HDFS, YARN, Spark e Ganglia pela rede pública.

Pré-requisitos

Crie um cluster do E-MapReduce com o serviço Knox selecionado. Para mais informações, consulte Criar um cluster.

Nota

Se você não selecionou o serviço Knox durante a criação do cluster, adicione-o posteriormente. Para mais detalhes, consulte Adicionar serviços.

Preparações

Configurar acesso ao grupo de segurança

  1. Obtenha o endereço IP público do dispositivo atual.

    Para acessar os componentes do cluster com segurança, permita o acesso apenas a partir do seu endereço IP público atual ao configurar as regras do grupo de segurança. Acesse IP Address para visualizar seu endereço IP público atual.

  2. Adicione uma porta:

    Este tópico usa a porta 8443 como exemplo.

    1. No console do E-MapReduce, na página Basic Information do cluster, acesse a seção Security e clique em Cluster Security Group.

    2. Na página Security Group, na aba Inbound, clique em Add Rule.

    3. Defina Authorization Object como o endereço IP público obtido na etapa anterior e configure Port Range como 8443/8443.

    4. Clique em Save.

Importante
  • Para evitar riscos de segurança, não defina Authorization Object como 0.0.0.0/0.

  • Se nenhum endereço IP público foi atribuído durante a criação do cluster, atribua um à instância ECS do nó mestre no console do ECS.

Configurar um usuário Knox

O acesso ao Knox exige autenticação com nome de usuário e senha. O Knox usa LDAP para autenticação de usuários, fornecida pelo serviço Apache Directory Server no cluster.

  • Método 1 (Recomendado)

    Na página EMR on ECS, clique em Users para adicionar uma conta de usuário Knox. Para mais informações, consulte Gerenciamento de usuários.

  • Método 2:

    1. Conecte-se ao cluster via SSH. Para mais detalhes, consulte Fazer login em um cluster.

    2. Prepare os dados do usuário. O exemplo abaixo usa um usuário chamado Tom.

      Edite o arquivo users.ldif.

      su knox
      vim /opt/apps/KNOX/knox-current/templates/users.ldif

      No arquivo, substitua todas as ocorrências de emr-guest por Tom, substitua todas as ocorrências de EMR GUEST por Tom e defina o valor de userPassword com a senha desejada.

    3. Execute os comandos a seguir para importar os dados do usuário para o LDAP.

      cd /opt/apps/KNOX/knox-current/templates
      sh ldap-sample-users.sh

Acessar interfaces web

Para mais informações sobre como acessar as interfaces web, consulte Acessar as interfaces web de componentes open-source pelo console.

Perguntas frequentes

  • P: O componente Knox para inesperadamente. Ao tentar iniciar o Knox, o processo falha com o erro Failed to start gateway: org.apache.knox.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired.

    s/ecm/sxxx.0.3/bin/.. as GATEWAY_HOME via system property.
    2021-08-03 16:37:35,794 INFO  knox.gateway (GatewayConfigImpl.java:init(346)) - Cookie scoping feature enabled: false
    2021-08-03 16:37:36,091 WARN  knox.gateway (RemoteAliasService.java:init(448)) - There is no registry client defined for remote configuration monitoring.
    2021-08-03 16:37:36,091 INFO  knox.gateway (RemoteAliasService.java:start(485)) - Remote Alias Service enabled
    2021-08-03 16:37:36,102 INFO  knox.gateway (JettySSLService.java:init(96)) - Credential store for the gateway instance found - no need to create one.
    2021-08-03 16:37:36,120 INFO  knox.gateway (JettySSLService.java:init(118)) - Keystore for the gateway instance found - no need to create one.
    2021-08-03 16:37:36,124 INFO  knox.gateway (JettySSLService.java:logAndValidateCertificate(148)) - The Gateway SSL certificate is issued to hostname: localhost.
    2021-08-03 16:37:36,125 INFO  knox.gateway (JettySSLService.java:logAndValidateCertificate(151)) - The Gateway SSL certificate is valid between: 3/9/20 4:12 PM and 3/9/21 4:12 PM.
    2021-08-03 16:37:36,136 FATAL knox.gateway (GatewayServer.java:main(162)) - Failed to start gateway: org.apache.knox.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired. Server will not start.
  • R: Siga estas etapas para resolver o problema:

    1. Faça login no cluster via SSH. Para mais informações, consulte Fazer login em um cluster.

    2. Execute o comando abaixo para renomear o certificado expirado.

      sudo mv /opt/apps/KNOX/knox-current/data/security/keystores/gateway.jks /opt/apps/KNOX/knox-current/data/security/keystores/bak_gateway.jks
      Nota

      Também é possível mover o certificado expirado para outro diretório.

    3. Inicie o serviço Knox.

      1. No console do EMR, na página Services, localize o serviço Knox e escolha more > START.

      2. Na caixa de diálogo exibida, insira um motivo para a execução e clique em OK.

      3. Na caixa de diálogo Confirm, clique em OK.