Neste post, aprenderemos a clonar um índice existente em um cluster de elasticsearch. Isso pode permitir que você execute modificações em um índice sem alterar o índice original. Ele também permite renomear, indexar e transferir rapidamente os dados antigos em um único comando.
Vamos mergulhar.
Solicitar sintaxe
O snippet a seguir mostra a sintaxe da API do índice de clone:
PUBLICAR //_clone/
COLOCAR //_clone/
A solicitação clones o índice em um novo índice em que cada um dos fragmentos primários originais é copiado para um novo primário compartilhado no novo índice.
Lembre -se de que o Elasticsearch não clonará os modelos de índice e os metadados do índice para o índice de clone. Tais metadados incluem aliases, seguidores da CCR, etc.
Como funciona a clonagem do índice
Elasticsearch executa as seguintes ações ao clonar um índice:
Condições para clonagem de índice
As seguintes condições são necessárias para clonar um índice:
Exemplo de ilustração
Vejamos um exemplo de como usar a API do Elasticsearch Clone para clonar um índice existente.
Suponha que tenhamos um índice chamado "Netflix". Podemos criar um índice de clone com a solicitação, como mostrado:
Podemos começar definindo o índice como somente leitura. Elasticsearch não clonará um índice no modo de gravação:
Curl -xput "http: // localhost: 9200/netflix/_block/read_only" -h "kbn -xsrf: relatórios"
Isso deve retornar da seguinte maneira:
"Reconhecido": verdadeiro,
"shards_acknowleded": verdadeiro,
"índices": [
"Nome": "Netflix",
"Bloqueado": verdadeiro
]
Finalmente, podemos clonar o índice como mostrado no seguinte:
Curl -xpost "http: // localhost: 9200/netflix/_clone/netflix_copy" -h "kbn -xsrf: relatórios"
A execução da solicitação anterior deve criar um clone do índice e retornar uma saída como:
"Reconhecido": verdadeiro,
"shards_acknowleded": verdadeiro,
"Índice": "netflix_copy"
Se você deseja especificar as configurações e aliases do índice, poderá executar o seguinte comando como mostrado:
Curl -xpost "http: // localhost: 9200/netflix/_clone/netflix_cp" -h "kbn -xsrf: relatórios" -h "type: aplicativo/json" -d '
"configurações":
"índice.número_of_shards ": 1,
"number_of_replicas": 3
,
"apelido":
"netflix_alias":
'
Lembre -se de que o número de fragmentos do índice do clone deve ser semelhante ao número de fragmentos do índice de origem.
Saída:
"Reconhecido": verdadeiro,
"shards_acknowleded": verdadeiro,
"Índice": "netflix_cp"
Nota: Elasticsearch Retorna um reconhecido: status verdadeiro imediatamente. A solicitação não espera que o processo de clonagem seja concluído.
Conclusão
Nesta postagem, discutimos os fundamentos de trabalhar com a API de clonagem Elasticsearch. Isso permite que você crie uma cópia de um índice existente em seu cluster.
Obrigado pela leitura!