Saltar al contenido

Agentes privados de Jitterbit en Linux

Introducción

Esta página te muestra cómo instalar y ejecutar un agente privado en Linux. La sección de Solución de problemas proporciona una lista de problemas comunes y sus soluciones.

Instalar

Para instalar un agente privado, sigue estos pasos:

  1. Satisface los requisitos previos.

  2. Descarga un paquete de instalación del agente privado.

  3. Ejecuta el instalador del agente privado.

  4. Configura y comienza el agente privado.

Requisitos previos

Debes tener lo siguiente:

  • Un host que cumpla con los requisitos del sistema.

  • El nombre de tu organización en Harmony, y el nombre de usuario y la contraseña de tu cuenta de Harmony.

  • El nombre y la ID de un grupo de agentes privados.

  • Una cuenta con privilegios de root.

Los siguientes son opcionales:

  • Agregar un agente en la Consola de Administración. Si no tienes agentes privados no registrados en el grupo de agentes, se crea uno automáticamente con un nombre que incluye el nombre del host y la dirección IP.

  • Un servidor de base de datos PostgreSQL se instala automáticamente. Para usar el tuyo, debes configurarlo antes de instalar el agente privado, y conocer su nombre o dirección IP, su número de puerto y los detalles de la cuenta del administrador de la base de datos.

Los siguientes son recomendados:

Descargar

Para descargar el software del agente privado, ve a la página de Descargas del Portal de Harmony.

Consejo

Si ya has agregado un agente en la página Agentes de la Consola de Administración, haz clic en el ícono Descargar Agente Jitterbit del agente.

Descarga uno de los siguientes paquetes de agente privado para Linux:

  • Linux Debian (x64): El archivo de paquete .deb, para instalar en Ubuntu Linux como root.

  • Linux RPM: El archivo de paquete .rpm, para instalar en Red Hat Linux como root.

  • Linux Redhat No Root (x64): El archivo .tar, para instalar en Red Hat Linux como un usuario no root.

Installer

Ejecuta los siguientes comandos para el tipo de instalador descargado:

Como root
dpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.deb
update-alternatives --install /usr/bin/python python /usr/bin/python2 1
Como root
yum install <PATH>/jitterbit-agent-<VERSION>.x86_64.rpm
  1. Inicia sesión como un usuario no root con privilegios de sudo.

  2. Instala los paquetes requeridos:

    sudo dnf install -y unzip
    

    Nota

    Esto puede que ya esté instalado en tu sistema, dependiendo de cómo se configuró.

  3. Crea el usuario jitterbit:

    Como usuario no root
    sudo useradd --user-group jitterbit --base-dir /opt --groups wheel
    sudo passwd jitterbit
    
  4. Sal de la shell del usuario no root.

  5. Inicia sesión como jitterbit.

  6. Crea un archivo de servicio systemd para el usuario:

    Como jitterbit
    mkdir -p $HOME/.config/systemd/user
    cat > $HOME/.config/systemd/user/jitterbit.service <<EOF
    [Unit]
    Description=Jitterbit private agent
    Documentation=https://docs.jitterbit.com/agent/linux/
    After=default.target
    
    [Service]
    Type=forking
    Environment=JITTERBIT_HOME=/opt/jitterbit
    Environment=PG_HOME=\${JITTERBIT_HOME}/pgsql
    Environment=PG_DATA=\${JITTERBIT_HOME}/DataInterchange/pgsql/data
    Environment=LD_LIBRARY_PATH=\${JITTERBIT_HOME}/lib:\${JITTERBIT_HOME}/psql/lib
    Environment=PATH=\${JITTERBIT_HOME}/bin:\${JITTERBIT_HOME}/pgsql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ExecStart=/opt/jitterbit/bin/jitterbit start
    ExecStop=/opt/jitterbit/bin/jitterbit stop
    TimeoutSec=600
    
    [Install]
    WantedBy=default.target
    EOF
    
  7. Recarga el demonio systemd, habilita el servicio y permite que los servicios de systemd se ejecuten cuando el usuario no esté conectado:

    Como jitterbit
    systemctl --user daemon-reload
    systemctl --user enable jitterbit.service
    loginctl enable-linger
    
  8. Configura el entorno de la shell:

    Como jitterbit
    mkdir -p $HOME/.bashrc.d
    cat >> $HOME/.bashrc.d/jitterbit <<EOF
    export JITTERBIT_HOME=/opt/jitterbit
    export ODBCINI=\${JITTERBIT_HOME}/odbcinst.ini
    export ODBCSYSINI=\${JITTERBIT_HOME}
    export PG_HOME=\${JITTERBIT_HOME}/pgsql
    export PG_DATA=\${JITTERBIT_HOME}/DataInterchange/pgsql/data
    export LD_LIBRARY_PATH=\${JITTERBIT_HOME}/lib:\${JITTERBIT_HOME}/psql/lib
    export PATH=\${JITTERBIT_HOME}/bin:\${JITTERBIT_HOME}/pgsql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    EOF
    . ./.bashrc
    
  9. (Opcional) Verifica el entorno:

    Como jitterbit
    env | grep jitterbit
    

    La salida debería verse así:

    PWD=/opt/jitterbit
    LOGNAME=jitterbit
    HOME=/opt/jitterbit
    PG_HOME=/opt/jitterbit/pgsql
    PG_DATA=/opt/jitterbit/DataInterchange/pgsql/data
    JITTERBIT_HOME=/opt/jitterbit
    ODBCINI=/opt/jitterbit/odbcinst.ini
    USER=jitterbit
    LD_LIBRARY_PATH=/opt/jitterbit/lib:/opt/jitterbit/psql/lib
    ODBCSYSINI=/opt/jitterbit
    PATH=/opt/jitterbit/bin:/opt/jitterbit/pgsql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    MAIL=/var/spool/mail/jitterbit
    

    Importante

    Los valores resaltados son importantes, especialmente JITTERBIT_HOME, que siempre debe ser /opt/jitterbit.

  10. Descomprime el archivo tar descargado:

    Como jitterbit
    tar -C /opt -xf <PATH>/jitterbit-agent-<VERSION>.x86_64.tar
    
    • <PATH>: La ruta al archivo .tar descargado, en un directorio con permisos de lectura para el usuario jitterbit.
  11. Ejecuta el instalador:

    Como jitterbit
    $HOME/scripts/install.sh
    

Importante

Ahora debes configurar el agente privado.

Configurar

Para configurar, registrar y reiniciar un agente privado en Linux, sigue estos pasos:

  1. Ejecuta este comando:

    Como root
    jitterbit-config
    
    Como root
    jitterbit-config
    
    Como jitterbit
    jitterbit-config
    

    En el siguiente aviso, ingresa y:

    Advertencia: esta herramienta requiere privilegios de root.
    Sugerencia: usa sudo o inicia sesión como el usuario root.
    ¿Deseas continuar como el usuario actual? [y/n]:
    
  2. (Opcional) Para permitir que el agente se comunique a través de un servidor proxy, agrega las opciones requeridas.

  3. Cuando se te solicite, ingresa tu nombre de usuario y contraseña de la cuenta de Harmony, y selecciona las opciones correspondientes a tu organización, grupo de agentes y agente.

  4. Ejecuta este comando:

    Como root
    jitterbit restart
    
    Como root
    jitterbit restart
    
    Como jitterbit
    jitterbit restart
    

Actualizar

Las versiones del agente privado utilizan versionado semántico, expresado en la forma X.Y, donde X es el número de versión mayor y Y es el número de versión menor. Hay dos tipos de actualizaciones:

  • Mayor: Cuando actualizas de 10.x → 11.x, o de 11.x → 12.x, se considera una actualización de versión mayor. En estos casos, debes detener y reiniciar el agente, y esperar a que se complete una sincronización completa de los entornos. Durante una sincronización completa, el entorno está bloqueado y no puede procesar operaciones. Si los proyectos en el entorno son grandes, esto puede tardar un tiempo.

  • Menor: Cuando actualizas de 10.x → 10.y, 11.x → 11.y, o 12.x → 12.y, es una actualización de versión menor. En estos casos, solo necesitas detener y reiniciar el agente.

    Las actualizaciones de .deb y .rpm de 11.48 y anteriores a 11.49+ incluyen actualizaciones de conector necesarias

    Las actualizaciones de agentes privados de 11.48 y anteriores a 11.49 y posteriores incluyen una actualización necesaria para los conectores basados en Connector SDK.

    Se te pedirá que aceptes esto durante el proceso de actualización. Las actualizaciones realizadas con silent_install configurado y las instalaciones no root de Redhat aceptan automáticamente este requisito.

Actualizaciones de 11.x a 12.x

Se requieren actualizaciones de plugins para usar los plugins Multipart Pipeline o AWS S3 Create en agentes 12.x. Los conectores personalizados de Connector SDK también pueden necesitar actualizaciones.

Actualizaciones de plugins para agentes privados de 12.x

Si utilizas cualquiera de los siguientes plugins, debes reemplazar cualquier uso existente de los plugins incompatibles con las nuevas versiones requeridas para 12.x, o las operaciones que utilizan esos plugins comenzarán a fallar cuando actualices el agente:

Nombre del plugin Versiones incompatibles Versión requerida
Plugin Multipart Pipeline de Jitterbit (obsoleto) 1.0.9.0
1.0.8.0
1.0.10.0
Jitterbit AWS S3 Create (obsoleto) 1.0.1.0
1.0.0.0
1.0.2.0

Las versiones de plugin requeridas son compatibles hacia atrás con agentes 11.x, por lo que puedes actualizar los plugins antes de la actualización del agente. Para actualizar un plugin, sigue estos pasos:

  1. Asocia la nueva versión del plugin al grupo de agentes privados en la Consola de Administración página de Personalizaciones > Plugins.
  2. Desasigna el plugin incompatible de la actividad en tus proyectos de Studio o Design Studio.
  3. Asigna la nueva versión compatible.
  4. Prueba y despliega la operación.

Verificación de conectores personalizados para agentes privados 12.x

Los conectores personalizados construidos por un tercero utilizando el SDK de Conectores pueden necesitar cambios para ser compatibles con los agentes privados 12.x. Se debe verificar la compatibilidad del conector personalizado antes de actualizar los agentes privados a 12.x.

Instrucciones de actualización

Para actualizar un agente privado en Linux, siga estos pasos:

  1. Descargue un paquete de instalación.

  2. Si el agente aún está procesando operaciones, drain pause (pausar drenaje) el agente.

    O, si está seguro de que no hay nada en ejecución en el agente, drain stop (detener drenaje) el agente.

  3. Monitoree el archivo de registro del agente. Continúe cuando todas las operaciones hayan terminado de procesarse.

  4. Haga copias de seguridad de los siguientes archivos:

    Ubicación Archivo
    /opt/jitterbit/ jitterbit.conf
    /opt/jitterbit/ JdbcDrivers.conf
    /opt/jitterbit/Resources/ jitterbit-agent-config.properties
    /opt/jitterbit/apache/conf/ httpd.conf
    /opt/jitterbit/apache/conf/ *.crt
    /opt/jitterbit/apache/conf/ *.key
    /opt/jitterbit/apache/conf/extra/ *.conf
    /opt/jitterbit/jre/lib/security/ cacerts
  5. Ejecute el siguiente comando para el tipo de instalador descargado:

    Como root
    dpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.deb
    
    Como root
    yum upgrade <PATH>/jitterbit-agent-<VERSION>.x86_64.rpm
    
Como jitterbit
tar -C /opt -xf /<RUTA>/jitterbit-agent-<VERSIÓN>.x86_64.tar
  • <RUTA>: La ruta al archivo .tar descargado, en un directorio con permisos de lectura para el usuario jitterbit.

  • Compara los siguientes archivos con tus copias de seguridad y restaura cualquier configuración cambiada:

    Ubicación Archivo
    /opt/jitterbit/ jitterbit.conf
    /opt/jitterbit/ JdbcDrivers.conf
    /opt/jitterbit/Resources/ jitterbit-agent-config.properties
    /opt/jitterbit/apache/conf/ httpd.conf
    /opt/jitterbit/apache/conf/extra/ *.conf
    /opt/jitterbit/jre/lib/security/ cacerts
  • Si tienes archivos de respaldo .crt o .key que no están ya en /opt/jitterbit/apache/conf/, cópialos a esa ubicación.

  • (Opcional) Durante el período de sincronización del entorno, los agentes no aceptarán operaciones de proyectos de integración para su procesamiento. Puedes minimizar el impacto de este tiempo de inactividad con un enfoque de actualización continua.

  • Reinicia el agente:

    Como root
    jitterbit restart
    
    Como root
    jitterbit restart
    
    Como jitterbit
    jitterbit restart
    
  • (Opcional) Si estás realizando una actualización continua con el valor de propiedad agent.starting.standby=true, y antes de actualizar otro agente en el mismo grupo, monitorea el archivo de registro del agente para el siguiente mensaje:

    La sincronización del agente para el entorno <123456> y el ID del grupo de agentes <987654> se completó en ...
    

Este mensaje indica que el agente ha completado la sincronización del entorno. Cuando aparezca, edita jitterbit-agent-config.properties nuevamente, elimina la propiedad agent.starting.standby (o configúralo en false), y luego reinicia el agente.

Desinstalar

Para desinstalar un agente privado en Linux, sigue estos pasos:

  1. Detén el agente.

  2. (Opcional) Haz copias de seguridad de los siguientes archivos:

    Ubicación Archivo
    /opt/jitterbit/ jitterbit.conf
    /opt/jitterbit/ JdbcDrivers.conf
    /opt/jitterbit/Resources/ jitterbit-agent-config.properties
    /opt/jitterbit/apache/conf/ httpd.conf
    /opt/jitterbit/apache/conf/ *.crt
    /opt/jitterbit/apache/conf/ *.key
    /opt/jitterbit/apache/conf/extra/ *.conf
    /opt/jitterbit/jre/lib/security/ cacerts
  3. Para eliminar los archivos de instalación (incluyendo PostgreSQL y su directorio de datos), el archivo de inicio del servicio y la cuenta de usuario jitterbit, ejecuta estos comandos:

    Como root
    apt-get remove --autoremove jitterbit-agent
    userdel --remove --force jitterbit
    
    Como root
    yum remove jitterbit-agent
    userdel --remove --force jitterbit
    
    Como un usuario no root diferente de 'jitterbit'
    sudo userdel --remove --force jitterbit
    

Administrar

Puedes iniciar, detener y mostrar el estado de un agente privado con el comando jitterbit. También puedes usar la Consola de Administración para detener un agente de forma remota, pero solo puedes reiniciarlo nuevamente en una terminal en el host. Excepto en instalaciones no root, también puedes reiniciar el agente reiniciando el host.

Nota

Los agentes iniciados con registro automático pueden desregistrarse automáticamente cuando se detienen.

Iniciar

Los agentes privados instalados desde un archivo de paquete .deb o .rpm se inician automáticamente con el host. Para instalaciones de archivos .tar que no son de root, se debe agregar un script del sistema para iniciar el agente, o iniciarlo manualmente.

Nota

Puede tardar varios minutos en que un agente privado complete la sincronización y esté en estado de ejecución.

Para iniciar un agente privado en Linux, ejecute este comando:

Como root
jitterbit start
Como root
jitterbit start
Como jitterbit
jitterbit start

Detener

Hay tres formas de detener un agente privado, cada una difiriendo en cómo se tratan las operaciones en ejecución:

  • Pausa de drenaje: el agente rechaza nuevas operaciones y permite que las operaciones en ejecución continúen hasta completarse.

  • Detener drenaje: el agente rechaza nuevas operaciones y permite que las operaciones en ejecución continúen hasta completarse hasta un período establecido por el parámetro agent.drainstop.api.wait (por defecto, 180 segundos), momento en el cual se marcan como canceladas. Si las operaciones son operaciones programadas, se recrean automáticamente en otro agente del grupo (en el caso de grupos de múltiples agentes), o se configuran para ser recreadas en el agente cuando se reanude (en el caso de grupos de un solo agente).

  • Detención forzada: el agente rechaza nuevas operaciones, termina las operaciones en ejecución y luego las marca como canceladas. Si las operaciones son operaciones programadas, se recrean automáticamente en otro agente del grupo (en el caso de grupos de múltiples agentes), o se configuran para ser recreadas en el agente cuando se reanude (en el caso de grupos de un solo agente).

    Precaución

    Detener forzosamente un agente privado puede resultar en pérdida de datos.

Pausa de drenaje

Para drenar la pausa de un agente privado en Linux, ejecuta el siguiente comando:

Como root
jitterbit-utils --drain-pause
Como root
jitterbit-utils --drain-pause
Como jitterbit
jitterbit-utils --drain-pause

En la Consola de Administración, el estado se muestra como Deteniendo.

Para reanudar un agente en pausa en Linux, utiliza el comando Iniciar.

Detener drenaje

Para detener el drenaje de un agente privado en Linux, utiliza cualquiera de estas opciones:

  • Desde el menú del Portal Harmony, selecciona Consola de Administración > Agentes. Desde la columna Acción del agente que se va a detener, selecciona Acción > Detener Drenaje, luego haz clic en OK en el cuadro de diálogo de confirmación.

  • Ejecuta el siguiente comando:

    Como root
    jitterbit-utils --drain-stop
    
    Como root
    jitterbit-utils --drain-stop
    
    Como jitterbit
    jitterbit-utils --drain-stop
    

Detener forzosamente

Para detener forzosamente un agente privado en Linux, ejecuta este comando:

Como root
jitterbit stop
Como root
jitterbit stop
Como jitterbit
jitterbit stop

Advertencia

Detener forzosamente un agente privado puede resultar en pérdida de datos.

Estado

Para ver el estado del agente, utiliza cualquiera de estas opciones:

  • Desde el menú del Portal Harmony, selecciona Consola de Administración > Agentes.

  • Ejecuta este comando:

    Como root
    jitterbit status
    
    Como root
    jitterbit status
    
    Como jitterbit
    jitterbit status
    

Solucionar problemas

Estas secciones en la página de Solución de problemas pueden ayudar al solucionar instalaciones de agentes privados en Linux: