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.
-
Selecione uma política de cache.
Faça login no cluster. Para mais informações, consulte Log on to a cluster.
-
Crie um arquivo
cacheset.xml.Neste exemplo, o arquivo
cacheset.xmlestá 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.
NotaSe
cacheStrategyestiver definido como DHT,metaPolicydeve 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.
NotaA 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
-
-
Execute o comando a seguir para atualizar a configuração do CacheSet no sistema JindoCache.
jindocache -refreshCacheSet -path /path/cacheset.xmlUm comando bem-sucedido retorna a mensagem
Successfully refresh cacheset !!!. Para mais informações sobre os comandos do JindoCache, consulte JindoCache CLI usage instructions. -
Use o comando listCacheSet para visualizar as informações de CacheSet no sistema.
jindocache -listCacheSet
-
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.
NotaEsta é 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.
-
Acesse a aba common do service JindoCache.
Faça login no console E-MapReduce.
Na barra de navegação superior, selecione a região e o grupo de recursos.
Na página Clusters, localize o cluster desejado e clique em Services na coluna Actions.
Na seção do service JindoCache, clique em Configure.
Clique em na aba common.
-
Adicione e aplique os itens de configuração.
Clique em Add Configuration Item.
-
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.
NotaSubstitua
XXXpelo 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.