Apache Ignite: Guía de comandos básicos

Última actualización: 08/03/2022 – Oscar Fernandez

En esta guía vamos a explicar los comandos básicos de Apache Ignite y la forma de desplegar un clúster local para proyectos Big Data o su uso como caché de datos.

Comandos Apache Ignite

En Apache Ignite, los nodos se autodescubren y trabajan juntos. Con el siguiente ejemplo vamos a aprender cómo ejecutar un mini-clúster local de Apache Ignite.

Descargamos los binarios de la última versión de Apache Ignite de la web.

Para poder ejecutar Apache Ignite, debemos tener Java instalado, y la variable de entorno JAVA_HOME establecida correctamente.

java -version

Extraemos el fichero descargado (.zip). Para ello podemos usar el comando:

unzip apache-ignite-x.x.x-bin.zip
benchmarks  bin  config  docs  examples  libs  LICENSE  MIGRATION_GUIDE.txt  NOTICE  platforms  README.txt  RELEASE_NOTES.txt

El siguiente paso consiste en arrancar un nodo local de Ignite. Para ello usamos el script ignite.sh y le pasamos como parámetro la configuración de ejemplo que se proporciona. Podemos ver en la última línea que se indica el número de servidores que componen el clúster, en nuestro caso servers=1

./bin/ignite.sh examples/config/example-ignite.xml
[12:08:40]    __________  ________________ 
[12:08:40]   /  _/ ___/ |/ /  _/_  __/ __/ 
[12:08:40]  _/ // (7 7    // /  / / / _/   
[12:08:40] /___/\___/_/|_/___/ /_/ /___/  
[12:08:40] 
[12:08:40] ver. 2.7.6#20190911-sha1:21f7ca41
[12:08:40] 2019 Copyright(C) Apache Software Foundation
[12:08:40] 
[12:08:40] Ignite documentation: http://ignite.apache.org
[12:08:40] 
[12:08:40] Quiet mode.
[...]
[12:08:43] Ignite node started OK (id=8c96d1df)
[12:08:46] Topology snapshot [ver=1, locNode=8c96d1df, servers=1, clients=0, state=ACTIVE, CPUs=8, offheap=3.1GB, heap=3.4GB]

Si abrimos una nueva terminal y lanzamos otra instancia con el mismo comando observamos que se incrementa este número, lo que indica que estos nodos se han autodescubierto y ahora trabajan juntos:

[12:16:18] Topology snapshot [ver=2, locNode=d936483a, servers=2, clients=0, state=ACTIVE, CPUs=8, offheap=6.1GB, heap=6.8GB]

Ignite también dispone de una herramienta de línea de comandos de administración (Visor Command Line Interface). Esta herramienta nos puede proporcionar información de los nodos del clúster, sus estadísticas, métricas de caché y detalles de la topología

./ignitevisorcmd.sh
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0
___    _________________________ ________
__ |  / /____  _/__  ___/__  __ \___  __ \
__ | / /  __  /  _____ \ _  / / /__  /_/ /
__ |/ /  __/ /   ____/ / / /_/ / _  _, _/
_____/   /___/   /____/  \____/  /_/ |_|

ADMIN CONSOLE
2019 Copyright(C) Apache Software Foundation

+-------------------------------------+
| Status               | Disconnected |
| Ignite instance name | <n/a>        |
| Config path          | <n/a>        |
| Uptime               | <n/a>        |
+-------------------------------------+

Type 'help' for more information.
Type 'open' to join the grid.
Type 'quit' to quit form Visor console.

visor> open
Local configuration files:
+==========================================================================================+
| #  |                                 Configuration File                                  |
+==========================================================================================+
| 0  | config/default-config.xml                                                           |
| 1  | benchmarks/config/ignite-base-config.xml                                            |
| 2  | benchmarks/config/ignite-localhost-config.xml                                       |
| 3  | benchmarks/config/ignite-multicast-config.xml                                       |
| 4  | benchmarks/config/ignite-remote-config.xml                                          |
| 5  | benchmarks/sources/config/ignite-base-config.xml                                    |
| 6  | benchmarks/sources/config/ignite-localhost-config.xml                               |
| 7  | benchmarks/sources/config/ignite-multicast-config.xml                               |
| 8  | benchmarks/sources/config/ignite-remote-config.xml                                  |
| 9  | (?) config/router/default-router.xml                                                |
| 10 | examples/config/encryption/example-encrypted-store.xml                              |
| 11 | examples/config/example-cache.xml                                                   |
| 12 | examples/config/example-data-regions.xml                                            |
| 13 | examples/config/example-default.xml                                                 |
| 14 | (?) examples/config/example-ignite.xml                                              |
| 15 | examples/config/filesystem/example-igfs.xml                                         |
| 16 | examples/config/persistentstore/example-persistent-store.xml                        |
| 17 | examples/config/redis/example-redis.xml                                             |
| 18 | examples/config/spark/example-shared-rdd.xml                                        |
| 19 | examples/src/main/java/org/apache/ignite/examples/misc/springbean/spring-bean.xml   |
| 20 | platforms/cpp/examples/compute-example/config/compute-example.xml                   |
| 21 | platforms/cpp/examples/continuous-query-example/config/continuous-query-example.xml |
| 22 | platforms/cpp/examples/odbc-example/config/example-odbc.xml                         |
| 23 | platforms/cpp/examples/put-get-example/config/example-cache.xml                     |
| 24 | platforms/cpp/examples/query-example/config/query-example.xml                       |
+------------------------------------------------------------------------------------------+

Choose configuration file number ('c' to cancel) [0]: 14
[...]
[12:26:14] Ignite node started OK (id=39c45d7c)

Some useful commands:
+--------------------------------------------+
| Type 'top'    | to see full topology.      |
| Type 'node'   | to see node statistics.    |
| Type 'cache'  | to see cache statistics.   |
| Type 'tasks'  | to see tasks statistics.   |
| Type 'config' | to see node configuration. |
+--------------------------------------------+

Type 'help' to get help.

+-------------------------------------------------------------------------------------------------------------+
| Status               | Connected                                                                            |
[...]

En este punto tenemos un clúster de dos nodos locales. En artículos futuros exploraremos la manera de cargar y procesar datos, así como hacer uso de la caché.

Formación de Apache Ignite

Aquí tienes dos libros que te recomiendo para continuar aprendiendo Apache Ignite a fondo:


Deja una respuesta