# Instalación con Ansible

## Introducción

Este manual describe los procedimientos de instalación de GBDS.

## Preparativos para la instalación

Esta sección abarca los pasos esenciales necesarios para la instalación de GBDS.

{% hint style="warning" %}
Todos los pasos deben ejecutarse con privilegios de root en todos los nodos, salvo indicación en contrario.
{% endhint %}

Para instalar GBDS por completo, necesitará:

* Permiso de root en el servidor
* Enlace del paquete de herramientas GBDS
* Enlace del paquete Ambari Ansible
* Enlace del paquete OpenCV
* Archivos .rpm y .sql de GBDS
* Archivos .war y .sql de los software de Griaule Biometric Suite (opcional)

{% hint style="info" %}
Si no tiene los enlaces del repositorio o los archivos, póngase en contacto con el equipo de soporte de Griaule.
{% endhint %}

A continuación, debe seguir los pasos presentados abajo. Estos pasos se describirán completamente en sus respectivas secciones.

1. Inicie sesión en el servidor como root
2. [Instale GBDS Tools](#instalando-o-gbds-tools)
3. [Configure los archivos de configuración de GBDS Tools](#configurando-o-gbds-tools)
4. [Ejecute la configuración automática del entorno de GBDS Tools](#executando-a-configuracao-automatica-do-ambiente)
5. [Instale el RDB](#instalando-o-rdb)
6. [Instale Ambari mediante Ansible](#instalando-o-ambari)
7. [Instale GBDS](#instalando-o-gbds)
8. [Instale las aplicaciones GBS (opcional)](#instalando-as-aplicacoes-gbs)

{% hint style="success" %}
Antes de comenzar, asegúrese de que el `hostname` de la máquina esté correcto. Para verificarlo, ejecute el comando:

```shell
hostname
```

Si no está correcto, ejecute el comando:

```shell
hostnamectl set-hostname <hostname-deseado>
                         ^^^^^^^^^^^^^^^^^^^
```

{% endhint %}

Si el hostname se modifica, reinicie la máquina antes de continuar.

## GBDS Tools

GBDS Tools es una compilación de scripts bash con características específicas y usabilidad dinámica. El objetivo principal de la herramienta es facilitar, mejorar y acelerar la creación, configuración y gestión de aplicaciones del entorno.

Todos los scripts usan un único archivo de configuración llamado `properties.ini` y un único archivo de lista llamado `cluster.list`, que debe contener toda la información del grupo de servidores.

{% hint style="success" %}
Antes de comenzar, asegúrese de que el `wget` está instalado:

```shell
wget --version
```

Si no lo está, ejecute el comando:

```shell
yum install wget -y
```

{% endhint %}

### Instalando GBDS Tools

Tiene dos métodos para elegir al instalar GBDS Tools, uno si ya tiene el repositorio Griaule configurado en su servidor y otro si no lo tiene. Se explican a continuación.

{% hint style="info" %}
Elija solo una alternativa. Tras finalizar una, no hay necesidad de realizar la otra.
{% endhint %}

#### Repositorio ya configurado

Si ya configuró el repositorio Griaule en su servidor, puede completar todas las instalaciones con un solo comando.

```shell
yum install gbds-tools
```

{% hint style="danger" %}
Si el repositorio Griaule no está configurado, ejecutar el comando anterior resultará en el siguiente error:

```default
No package gbds-tools available
Error: Nothing to do
```

En este caso, continúe con [Repositorio no configurado](#repositorio-nao-configurado).
{% endhint %}

#### Repositorio no configurado

Si no tiene el repositorio configurado, debe asegurarse del correcto funcionamiento de la herramienta. Para ello, **DEBE** colocar la herramienta en el directorio `/opt/griaule`.

Comience creando el directorio:

```shell
mkdir -p /opt/griaule
```

Entre en el directorio creado:

```shell
cd /opt/griaule
```

A continuación, descargue el paquete de herramientas GBDS:

```shell
wget <enlace del paquete de herramientas GBDS>
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```

{% hint style="info" %}
Si no tiene el enlace, póngase en contacto con el equipo de soporte de Griaule.
{% endhint %}

{% hint style="success" %}
En los comandos siguientes, asegúrese de reemplazar `<versión>` por la versión del paquete que se descargó.
{% endhint %}

Entonces, instálelo:

```shell
rpm -ivh gbds-tools-<versión>.el7.noarch.rpm
                    ^^^^^^^^
```

Y cree un enlace simbólico:

```shell
ln -s /opt/griaule/gbds-tools-<versión>/ /opt/griaule/tools
                              ^^^^^^^^
```

Después de una instalación exitosa, continúe con la [sección de configuración](#configurando-o-gbds-tools).

### Configurando GBDS Tools

Los archivos de configuración utilizados por GBDS Tools se encuentran en el directorio: `/opt/griaule/tools/shared`. En este directorio, hay tres archivos que deben editarse:

* `properties.ini` - archivo de configuración principal
* `cluster.list` - archivo principal de lista de nombres de host
* `ip.list`- archivo secundario de nombres de host

Los archivos están preconfigurados con valores predeterminados en la mayoría de los parámetros. Observe si algo necesita cambiarse para satisfacer las necesidades de su entorno.

{% hint style="warning" %}
Cambiar los **nombres de host** en los archivos para que coincidan con los del entorno es imprescindible.
{% endhint %}

{% hint style="success" %}
En el archivo `properties.ini`, busque las configuraciones `SPECIFIC TO` y realice los cambios necesarios para que coincidan con su entorno.

En la sección `SPECIFIC TO AUTO_ENVSETUP`, asegúrese de que el **nombre de usuario** y **contraseña** estén configurados correctamente en `usernm`, `userpw` y `rootpw`.

En la sección `SPECIFIC TO INSTALL_MYSQL`, anote la **contraseña del RDB**, configurada en `dbuspw`, ya que [se usará posteriormente](#configurando-a-senha-do-rdb).
{% endhint %}

{% hint style="success" %}
En el archivo `cluster.list`, asegúrese de cambiar los **nombres de host** y de adaptar el **número de hosts** en cada componente para que coincida con el entorno.

Por defecto, el archivo está configurado para un clúster de **tres** nodos. Si el entorno tiene, por ejemplo, solo **un nodo**, elimine las menciones a los nodos 2 y 3 y sustituya todos los nombres por el hostname de su servidor.
{% endhint %}

{% hint style="success" %}
En el archivo `ip.list`, asegúrese de cambiar los **nombres de host** y las **direcciones IP** para que coincidan con el entorno, siguiendo el formato `<nombre de host>|<dirección IP>` en cada línea.
{% endhint %}

### Ejecutando la configuración automática del entorno

La configuración automática del entorno, denominada `auto_envsetup.sh`, es la automatización para configurar el entorno. Debe ejecutar este script al construir un servidor nuevo desde cero.

Para ejecutar el script, ejecute el siguiente comando:

```shell
/opt/griaule/tools/auto_envsetup/auto_envsetup.sh --all
```

A continuación, se recomienda actualizar todos los paquetes, si es posible:

```shell
yum update -y
```

## Instalando el RDB

Para usar GBDS, necesitará una base de datos relacional instalada y configurada. Puede elegir entre [MySQL Server](#mysql-server) o [NDB Cluster](#ndb-cluster).

{% hint style="warning" %}
Solo necesita ejecutar **una** instalación del RDB.
{% endhint %}

### MySQL Server

{% hint style="warning" %}
Se recomienda instalar MySQL en el nodo maestro.
{% endhint %}

Para instalar MySQL Server, ejecute:

```shell
/opt/griaule/tools/install_mysql/install_mysql.sh --single
```

Entonces, continúe con [Configurando la contraseña del RDB](#configurando-a-senha-do-rdb).

### NDB Cluster

{% hint style="warning" %}
La instalación de NDB **DEBE** ser en el nodo **MAESTRO**.
{% endhint %}

**O**, si elige instalar NDB Cluster, ejecute:

```shell
/opt/griaule/tools/install_mysql/install_mysql.sh --cluster
```

Entonces, continúe con [Configurando la contraseña del RDB](#configurando-a-senha-do-rdb).

### Configurando la contraseña del RDB

Después de la instalación, intente iniciar sesión en MySQL ejecutando el comando:

```shell
mysql -u root -p
```

E ingresando la contraseña configurada en el archivo `properties.ini` en `dbuspw`, como se mencionó en el [paso anterior](#configurando-o-gbds-tools).

Si puede iniciar sesión, la instalación y la configuración de la contraseña se realizaron correctamente y puede continuar con [Configurando MySQL](#configurando-o-mysql).

***

Si no puede iniciar sesión y ve el siguiente error:

```html
Error: Access denied for user '<username>'@'<host>' (using password: YES)
```

Será necesario modificar la contraseña manualmente. Para hacerlo, use el siguiente comando para obtener la contraseña temporal creada durante la instalación:

```shell
grep "temporary password" /var/log/mysqld.log
```

Copie la contraseña temporal mostrada.

Entonces, cambie la contraseña usando el siguiente comando:

{% hint style="info" %}
Asegúrese de reemplazar `<senha_desejada>` por la contraseña deseada. Mantenga las comillas.
{% endhint %}

```shell
mysqladmin -u root -p password "<senha_desejada>"
                                ^^^^^^^^^^^^^^^^
```

Cuando se le solicite, ingrese la contraseña temporal.

Entonces, intente iniciar sesión en MySQL nuevamente usando la nueva contraseña.

Si puede iniciar sesión, la instalación y la configuración de la contraseña se realizaron correctamente y puede continuar con [Configurando MySQL](#configurando-o-mysql).

### Configurando MySQL

Finalmente, configure la base de datos para su entorno.

El archivo de configuración se encuentra en: `/etc/my.cnf`.

{% hint style="warning" %}
Las configuraciones predeterminadas de la instalación del RDB pueden no ser las configuraciones deseadas. Revíselas en el archivo de configuración `my.cnf` y adáptelas para satisfacer las necesidades del entorno.
{% endhint %}

Después de realizar los cambios necesarios, aplíquelos reiniciando el servicio:

```shell
systemctl restart mysqld
```

## Instalando Ambari

Para instalar Ambari mediante Ansible, es necesario acceder al repositorio Griaule.

{% hint style="warning" %}
Si su GBDS RDB no está en el nodo **MAESTRO**, se recomienda iniciar otra instancia RDB para Ambari.
{% endhint %}

{% hint style="info" %}
La instalación requiere una conexión a internet y puede tardar 45 minutos en completarse sin errores. Antes de instalar, verifique que su conexión sea estable.
{% endhint %}

Para iniciar la instalación de Ambari, entre en el directorio de Ansible:

```shell
cd /etc/ansible
```

Entonces, descargue el paquete:

```shell
wget <enlace del paquete Ambari Ansible>
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```

{% hint style="info" %}
Si no tiene el enlace, póngase en contacto con el equipo de soporte de Griaule.
{% endhint %}

A continuación, extraiga los archivos en el directorio principal de Ansible, `/etc/ansible`, con el siguiente comando:

{% hint style="success" %}
En el comando siguiente, asegúrese de reemplazar `<versión>` por la versión del paquete que se descargó.
{% endhint %}

```shell
tar -xvf ansible_hdp-<versión>.tar
                     ^^^^^^^^
```

Entre en el directorio extraído:

```shell
cd /etc/ansible/ansible-hadoop
```

{% hint style="success" %}
Como el proceso tarda algún tiempo en completarse, se recomienda ejecutar el script de instalación usando `screen` para evitar interrupciones.

Para ello, instale *screen*:

```shell
yum install screen -y
```

Inicie una nueva sesión en *screen*:

```shell
screen -S ambari-install
```

Entonces, continúe con la ejecución del script de instalación como se describe a continuación.

—

Si se pierde la conexión con el servidor, el script no se interrumpirá y podrá reanudar la sesión reconectándose al servidor y ejecutando:

```shell
screen -r ambari-install
```

{% endhint %}

Entonces, ejecute el script de instalación:

```shell
./full-hadoop.sh
```

Responda a las preguntas de instalación y continúe hasta terminar.

{% hint style="warning" %}
Una vez iniciado, **NO interrumpa** ninguno de los scripts. Si ocurre algún problema, póngase en contacto con el equipo de soporte de Griaule.
{% endhint %}

## Instalando GBDS

Para instalar GBDS, necesitará:

* .rpm de GBDS Cluster
* .rpm de GBDS Distribution
* .sql del script de volcado del RDB de GBDS
* Enlace del paquete OpenCV

Comience moviendo los dos archivos `.rpm` al directorio `/opt/griaule/tools/deploy_application/files`.

El archivo `.sql` del script de volcado del RDB debe guardarse en otro directorio.

{% hint style="warning" %}
Después de ejecutar el siguiente script, todo el contenido del directorio `/opt/griaule/tools/deploy_application/files` será eliminado.
{% endhint %}

Entonces, ejecute el siguiente comando para instalar GBDS:

```shell
/opt/griaule/tools/deploy_application/deploy_application.sh --gbds
```

{% hint style="info" %}
Después de intentar ejecutar el script anterior, si recibe el error:

```
[ERROR] No OPENCV RPM found to be deployed. Make sure to stage the desired RPM
```

Entre en el directorio `files`:

```shell
cd /opt/griaule/tools/deploy_application/files
```

Y descargue el paquete OpenCV:

```shell
wget <enlace del paquete OpenCV>
     ^^^^^^^^^^^^^^^^^^^^^
```

Entonces, intente ejecutar el script `deploy_application.sh` nuevamente.
{% endhint %}

A continuación, ejecute el script de volcado del RDB en el servidor SQL.

```shell
mysql -u root -p < /PATH/DO/ARQUIVO/clear-rdb-<versão>.sql
                   ^^^^^^^^^^^^^^^^^          ^^^^^^^^
```

{% hint style="success" %}
La contraseña del RDB fue configurada [aquí](#configurando-a-senha-do-rdb).
{% endhint %}

Después de terminar la instalación de GBDS, configúrelo ejecutando:

```shell
/opt/griaule/tools/auto_appconfig/auto_appconfig.sh --gbds
```

Para revisar o cambiar manualmente las configuraciones, edite el archivo de configuración ubicado en: `/etc/griaule/conf/gbds/application.conf`. Para más información sobre las configuraciones, consulte el [Manual de Configuración de GBDS](/gbs/es/configuracion-de-gbds/gbds4conf.md).

{% hint style="warning" %}
Asegúrese de que el **hostname** en el archivo de configuración (`application.conf`) corresponda al **hostname** del servidor.
{% endhint %}

Entonces, inicie la API de GBDS:

```shell
service gbsapid start
```

Pruebe si la API está en ejecución:

```shell
curl http://<host-ip>:8085/gbds/v2/operations/ping
            ^^^^^^^^^
```

La respuesta esperada es:

```json
{
	"data": "pong!"
}
```

Finalmente, inicie GBDS:

```shell
gbdsstart
```

Y siga el *log* de ejecución:

```shell
gbdslogt
```

## Instalando las aplicaciones GBS

Para instalar las Aplicaciones GBS, necesitará:

* Archivo *.war* para cada aplicación
* Script de volcado *.sql* para cada aplicación

Primero, instale y configure Tomcat para las aplicaciones web. Esto debe hacerse solo en el servidor que alojará las aplicaciones web. Use el siguiente comando:

```shell
/opt/griaule/tools/install_services/install_services.sh
```

A continuación, mueva los archivos `.war` al directorio `/opt/griaule/tools/deploy_application/files` y ejecute el comando:

```shell
/opt/griaule/tools/deploy_application/deploy_application.sh --services
```

Después de eso, configure las aplicaciones con el siguiente comando:

```shell
/opt/griaule/tools/auto_appconfig/auto_appconfig.sh --services
```

{% hint style="info" %}
Para explorar las configuraciones individuales de cada aplicación, consulte los manuales de configuración correspondientes listados [aquí](/gbs/es/componentes-web/gbsappssetup.md).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.griaule.com/gbs/es/instalacion-de-gbds/gbds4ansibleinstall.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
