Todos os produtos
Search
Central de documentação

E-MapReduce:Acelere o acesso ao OSS-HDFS com JindoCache

Última atualização: Sep 17, 2026

Este tópico descreve como utilizar o JindoCache para acelerar jobs que acessam o OSS-HDFS. O JindoCache aproveita os recursos de armazenamento do seu cluster para oferecer cache transparente de arquivos do OSS-HDFS, melhorando a performance de acesso aos dados.

Pré-requisitos

  • Crie um cluster e selecione o service JindoCache. Para mais informações, consulte Crie um cluster.

  • Ative o OSS-HDFS e conceda as permissões necessárias. Para mais informações, consulte Ative o OSS-HDFS.

Procedimento

  1. Defina uma política de cache.

    O JindoCache utiliza CacheSets para gerenciar políticas de cache. Defina um ou mais CacheSets para aplicar políticas diferentes a caminhos distintos.

    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á localizado 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. Deve ser único. Um nome duplicado sobrescreve o CacheSet existente.

      name1

      path

      Caminho pai da política. A política definida neste CacheSet se aplica a todos os seus subcaminhos.

      oss://emr-test/dir1

      cacheStrategy

      Política de cache. Os valores válidos são DISTRIBUTED e DHT (Distributed Hash Table). A estratégia DHT é ideal para acelerar o acesso de somente leitura a arquivos pequenos.

      DISTRIBUTED

      metaPolicy

      Política de cache de metadados. Os valores válidos são ALWAYS e ONCE.

      • ALWAYS: Não armazena metadados em cache. Todas as operações de metadados leem diretamente da source remota.

      • ONCE: Armazena metadados em cache. Após a leitura inicial da source remota, as solicitações subsequentes de metadados são atendidas pelo cache local.

      Nota

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

      ALWAYS

      readPolicy

      Política de leitura. Atualmente, apenas CACHE_ASIDE é suportado, o que significa que os dados são lidos primeiro do cache.

      CACHE_ASIDE

      writePolicy

      Política de escrita. Os valores suportados incluem:

      • WRITE_AROUND: Escreve dados diretamente no armazenamento remoto, ignorando o cache.

      • CACHE_ONLY: Escreve dados apenas no cache.

        Nota

        Ao usar a política CACHE_ONLY, também é necessário definir metaPolicy como ONCE.

      • WRITE_THROUGH: Escreve dados tanto no cache quanto no armazenamento remoto.

      WRITE_AROUND

    3. Execute o comando a seguir para atualizar os CacheSets no sistema JindoCache.

      jindocache -refreshCacheSet -path /path/cacheset.xml

      Se o comando for bem-sucedido, a saída incluirá a mensagem Successfully refresh cacheset !!!. Para mais informações sobre comandos do JindoCache, consulte JindoCache CLI User Guide.

    4. Utilize o comando listCacheSet para visualizar informações sobre os CacheSets no sistema.

      jindocache -listCacheSet
  2. Configure o JindoSDK.

    Configure a classe de implementação do JindoCache para OSS-HDFS no Hadoop-Common. No console EMR, acesse a página de configuração do service Hadoop-Common, selecione a aba core-site.xml e modifique o item de configuração. Para etapas detalhadas, consulte Gerencie itens de configuração.

    Parâmetro

    Descrição

    fs.xengine

    O valor deve ser jindocache.

    Se este parâmetro ficar vazio, o cliente não usa o cache e se comunica diretamente com o backend.

    Nota

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

    Após concluir essas configurações, os jobs que acessam o OSS-HDFS podem usar o recurso de cache. O JindoCache fornece cache transparente, portanto, não é preciso modificar seus jobs. Quando um job lê dados do OSS-HDFS, os dados são automaticamente armazenados em cache no sistema JindoCache. Solicitações subsequentes para os mesmos dados são atendidas pelo cache, melhorando a performance de leitura.

FAQ

Configurar um AccessKey para OSS-HDFS

O JindoCache suporta acesso ao OSS-HDFS sem credenciais. No entanto, se você precisar acessar o OSS-HDFS entre contas diferentes, configure as credenciais, incluindo AccessKey ID, AccessKey secret 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 uma região e um grupo de recursos conforme necessário.

    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 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 etapas detalhadas, consulte Gerencie itens de configuração.

      Nota

      Substitua YYY pelo nome do seu bucket OSS-HDFS.

      Parâmetro

      Descrição

      jindocache.oss.bucket.YYY.accessKeyId

      O AccessKey ID para acesso ao OSS-HDFS.

      jindocache.oss.bucket.YYY.accessKeySecret

      O AccessKey secret para acesso ao OSS-HDFS.

      jindocache.oss.bucket.YYY.endpoint

      O endpoint para OSS-HDFS. Exemplo: cn-hangzhou.oss-dls.aliyuncs.com.

      jindocache.oss.bucket.YYY.data.lake.storage.enable

      O valor deve ser true.