Saltar al contenido

Agentes privados de Jitterbit en Linux

Introducción

Esta página 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.

Instalación

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 contraseña de tu cuenta de Harmony.

  • El nombre y 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:

Descarga

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

Ejecute 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. Inicie sesión como un usuario no root con privilegios de sudo.

  2. Instale los paquetes requeridos:

    sudo dnf install -y unzip
    

    Nota

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

  3. Cree el usuario jitterbit:

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

  5. Inicie sesión como jitterbit.

  6. Cree 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. Recargue el daemon systemd, habilite el servicio y permita 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. Configure el entorno del 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) Verifique 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 pida, 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 el SDK de Conectores-basado en conectores.

    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 del SDK de Conectores 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 de Jitterbit Multipart Pipeline (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 Personalizaciones > Página de 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 que haya cambiado:

    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, edite jitterbit-agent-config.properties nuevamente, elimine la propiedad agent.starting.standby (o configúrela en false), y luego reinicie el agente.

Desinstalar

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

  1. Detenga el agente.

  2. (Opcional) 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
  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, ejecute 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

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

Nota

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

Start

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

Stop

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

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

  • Drain stop: el agente rechaza nuevas operaciones y permite que las operaciones en ejecución continúen durante un período de tiempo configurable, controlado por agent.drain.stop.database.poll.no.of.retries y agent.drain.stop.database.poll.interval.in.millisec (por defecto, 100 sondeos a intervalos de 10,000 ms). Las operaciones basadas en API tienen un tiempo de espera de hasta agent.drainstop.api.wait (por defecto, 180 segundos). Después del tiempo de espera, cualquier operación que no se haya completado se cancela y su estado se sincroniza con la nube antes de que el agente se apague. Si las operaciones son operaciones programadas, se recrean automáticamente en otro agente del grupo (en el caso de múltiples grupos de agentes), o se configuran para ser recreadas en el agente cuando se reanude (en el caso de grupos de un solo agente).

  • Hard stop: 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 múltiples grupos de 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 abruptamente un agente privado puede resultar en pérdida de datos.

Drenar pausa

Para drenar la pausa de un agente privado en Linux, ejecute 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, use el comando Iniciar.

Drenar detener

Durante un drenaje de detención, el agente rechaza nuevas operaciones y permite que las operaciones en curso continúen durante un período de tiempo configurable, controlado por agent.drain.stop.database.poll.no.of.retries y agent.drain.stop.database.poll.interval.in.millisec (por defecto, 100 sondeos a intervalos de 10,000 ms). Las operaciones basadas en API tienen hasta agent.drainstop.api.wait (por defecto, 180 segundos). Después del tiempo de espera, cualquier operación que no se haya completado se cancela y su estado se sincroniza con la nube antes de que el agente se apague.

Para drenar detener un agente privado en Linux, use cualquiera de estas opciones:

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

  • Ejecute 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 Gestió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: