En esta publicación, aprenderemos cómo clonar un índice existente en un clúster Elasticsearch. Esto puede permitirle realizar modificaciones a un índice sin alterar el índice original. También le permite cambiar el nombre, indexar y transferir rápidamente los datos antiguos en un solo comando.
Vamos a sumergirnos.
Solicitar sintaxis
El siguiente fragmento muestra la sintaxis para la API del índice de clonos:
CORREO //_clon/
PONER //_clon/
La solicitud clama el índice en un nuevo índice donde cada uno de los fragmentos primarios originales se copia en un nuevo primario compartido en el nuevo índice.
Tenga en cuenta que ElasticSearch no clonará las plantillas de índice y los metadatos del índice al índice de clonos. Dichos metadatos incluyen alias, seguidores de CCR, etc.
Cómo funciona la clonación del índice
Elasticsearch realiza las siguientes acciones al clonar un índice:
Condiciones para la clonación del índice
Las siguientes condiciones son necesarias para clonar un índice:
Ilustración de ejemplo
Veamos un ejemplo sobre cómo usar la API de Elasticsearch Clone para clonar un índice existente.
Supongamos que tenemos un índice llamado "Netflix". Podemos crear un índice de clon con la solicitud como se muestra:
Podemos comenzar configurando el índice en solo lectura. Elasticsearch no clonará un índice en el modo de escritura:
curl -xput "http: // localhost: 9200/netflix/_block/read_only" -h "kbn -xsrf: informes"
Esto debería volver de la siguiente manera:
"Reconocido": Verdadero,
"Shards_acknowledged": verdadero,
"índices": [
"Nombre": "Netflix",
"Bloqueado": Verdadero
]
Finalmente, podemos clonar el índice como se muestra a continuación:
curl -xpost "http: // localhost: 9200/netflix/_clone/netflix_copy" -h "kbn -xsrf: informes"
Ejecutar la solicitud anterior debe crear un clon del índice y devolver una salida como:
"Reconocido": Verdadero,
"Shards_acknowledged": verdadero,
"índice": "netflix_copy"
Si desea especificar la configuración del índice y los alias, puede ejecutar el siguiente comando como se muestra:
curl -xpost "http: // localhost: 9200/netflix/_clone/netflix_cp" -h "kbn -xsrf: informes de contenido" -h ": aplicación/json" -d '
"ajustes":
"índice.número_of_shards ": 1,
"Number_of_replicas": 3
,
"Alias":
"netflix_alias":
'
Tenga en cuenta que el número de fragmentos del índice de clon debe ser similar al número de fragmentos del índice de origen.
Producción:
"Reconocido": Verdadero,
"Shards_acknowledged": verdadero,
"índice": "netflix_cp"
Nota: Elasticsearch devuelve un estado reconocido: verdadero estado inmediatamente. La solicitud no espera a que el proceso de clonación complete.
Conclusión
En esta publicación, discutimos los fundamentos de trabajar con la API de clonación Elasticsearch. Esto le permite crear una copia de un índice existente en su clúster.
Gracias por leer!