Todos os produtos
Search
Central de documentação

E-MapReduce:Acelere o OSS com cache transparente do JindoCache

Última atualização: Jul 20, 2026

O JindoCache acelera o acesso ao Object Storage Service (OSS) ao armazenar arquivos em cache no cluster de forma transparente.

Pré-requisitos

  • Crie um cluster E-MapReduce (EMR) e selecione o service JindoCache. Para mais informações, consulte Create a cluster.

  • Ative o Object Storage Service (OSS). Para mais informações, consulte Activate OSS.

Limitações

Os arquivos são armazenados como objetos no OSS.

Procedimento

O JindoCache usa CacheSets para gerenciar políticas de cache. Defina diferentes políticas de cache para caminhos distintos; um cluster pode ter um ou mais CacheSets.

  1. Selecione uma política de cache.

    1. Faça login no cluster. Para mais informações, consulte Log on to a cluster.

    2. Crie um arquivo cacheset.xml.

      Neste exemplo, o arquivo cacheset.xml está no diretório /path.

      <?xml version="1.0" encoding="UTF-8"?>
      <cachesets>
          <cacheset>
              <name>name1</name>
              <path>oss://emr-test/dir1</path>
              <cacheStrategy>DISTRIBUTED</cacheStrategy>
              <metaPolicy>
                  <type>ALWAYS</type>
              </metaPolicy>
              <readPolicy>CACHE_ASIDE</readPolicy>
              <writePolicy>WRITE_AROUND</writePolicy>
          </cacheset>
          <cacheset>
              <name>name2</name>
              <path>oss://emr-test/dir2</path>
              <cacheStrategy>DHT</cacheStrategy>
              <metaPolicy>
                  <type>ONCE</type>
              </metaPolicy>
              <readPolicy>CACHE_ASIDE</readPolicy>
              <writePolicy>WRITE_AROUND</writePolicy>
          </cacheset>
      </cachesets>

      Parâmetro

      Descrição

      Exemplo

      name

      Nome do CacheSet. O nome deve ser único. Especificar um nome duplicado sobrescreve o CacheSet existente.

      name1

      path

      Caminho pai ao qual a política de cache se aplica. Todos os subcaminhos herdam a política deste CacheSet.

      oss://emr-test/dir1

      cacheStrategy

      Estratégia de cache. Valores válidos: DISTRIBUTED e DHT (Distributed Hash Table). A estratégia DHT é uma política de aceleração somente leitura, adequada para arquivos pequenos.

      Escolha a estratégia conforme suas necessidades.

      DISTRIBUTED

      metaPolicy

      Política de cache de metadados. Valores válidos: ALWAYS e ONCE.

      • ALWAYS: Os metadados não ficam em cache. Todas as operações de metadados acessam diretamente o armazenamento remoto.

      • ONCE: Os metadados ficam em cache. A leitura dos metadados do armazenamento remoto ocorre apenas na primeira vez. Leituras subsequentes usam o cache local.

      Defina a política de acordo com seus requisitos.

      Nota

      Se cacheStrategy estiver definido como DHT, metaPolicy deve ser definido como ONCE.

      ALWAYS

      readPolicy

      Política de leitura de arquivos. Apenas CACHE_ASIDE tem suporte. Esta política prioriza a leitura de dados do cache.

      CACHE_ASIDE

      writePolicy

      Política de escrita de arquivos. As seguintes políticas têm suporte:

      • WRITE_AROUND: Os dados são gravados diretamente no armazenamento remoto.

      • CACHE_ONLY: Os dados são gravados em uma área de staging.

        Nota

        A política CACHE_ONLY deve ser usada em conjunto com a política ONCE.

      • WRITE_THROUGH: Os dados são gravados no cache.

      WRITE_AROUND

    3. Execute o comando a seguir para atualizar a configuração do CacheSet no sistema JindoCache.

      jindocache -refreshCacheSet -path /path/cacheset.xml

      Um comando bem-sucedido retorna a mensagem Successfully refresh cacheset !!!. Para mais informações sobre os comandos do JindoCache, consulte JindoCache CLI usage instructions.

    4. Use o comando listCacheSet para visualizar as informações de CacheSet no sistema.

      jindocache -listCacheSet
  2. Configure o JindoSDK.

    Configure a classe de implementação do JindoCache OSS no Hadoop-Common. No console EMR, acesse a página de configuração do service Hadoop-Common, clique em na aba core-site.xml e defina o parâmetro a seguir. Para mais informações, consulte Manage configuration items.

    Parâmetro

    Descrição

    fs.xengine

    O valor deve ser jindocache.

    Se este parâmetro for deixado vazio, o cliente não usará o cache e se comunicará diretamente com o backend.

    Nota

    Esta é uma configuração do lado do cliente. Não é necessário reiniciar o service JindoCache.

    Após concluir a configuração, os jobs que acessam o OSS usam o cache automaticamente. Como o JindoCache opera de forma transparente, nenhuma modificação nos jobs é necessária. Quando um job lê dados do OSS, esses dados ficam em cache no JindoCache. Leituras subsequentes dos mesmos dados atingem o cache, o que melhora o desempenho de leitura.

Perguntas frequentes

Configurar credenciais do OSS

O JindoCache oferece suporte a acesso ao OSS sem senha. Para acesso entre contas, configure credenciais, incluindo AccessKeyID, AccessKeySecret e endpoint.

  1. Acesse a aba common do service JindoCache.

    1. Faça login no console E-MapReduce.

    2. Na barra de navegação superior, selecione a região e o grupo de recursos.

    3. Na página Clusters, localize o cluster desejado e clique em Services na coluna Actions.

    4. Na seção do service JindoCache, clique em Configure.

    5. Clique em na aba common.

  2. Adicione e aplique os itens de configuração.

    1. Clique em Add Configuration Item.

    2. Na caixa de diálogo Add Configuration Item, adicione os seguintes itens de configuração.

      Para mais informações sobre como adicionar e aplicar itens de configuração, consulte Manage configuration items.

      Nota

      Substitua XXX pelo nome do bucket do OSS.

      Parâmetro

      Descrição

      jindocache.oss.bucket.XXX.accessKeyId

      O AccessKeyID para o bucket do OSS.

      jindocache.oss.bucket.XXX.accessKeySecret

      O AccessKeySecret para o bucket do OSS.

      jindocache.oss.bucket.XXX.endpoint

      O endpoint do bucket do OSS.