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 Solución de problemas proporciona una lista de problemas comunes y sus soluciones.

Instalar

Para instalar un agente privado, sigue estos pasos:

  1. Cumple con los requisitos previos.

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

  3. Ejecuta el instalador del agente privado.

  4. Configura e inicia el agente privado.

Requisitos previos

Debes tener lo siguiente:

  • Un host que cumpla con los requisitos del sistema.

  • El nombre de tu organización Harmony, así como el nombre de usuario y contraseña de tu cuenta Harmony.

  • El nombre e ID de un grupo de agentes privados.

  • Una cuenta con privilegios de root.

Lo siguiente es opcional:

  • Agregar un agente en la Consola de administración. Si no tienes agentes privados sin registrar en el grupo de agentes, se crea automáticamente uno 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 propio, 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.

Lo siguiente se recomienda:

Descargar

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

Consejo

Si ya has agregado un agente en la página Agentes de la Consola de administración, haz clic en el icono Descargar Jitterbit Agent del agente.

Descarga uno de los siguientes paquetes Linux de agente privado:

  • 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 Sin privilegios de root (x64): El archivo .tar, para instalar en Red Hat Linux como usuario sin privilegios de root.

Instalador

Ejecuta los siguientes comandos según el tipo de instalador descargado. A partir de la versión 12.8 del agente, el instalador muestra los requisitos del sistema del agente durante el proceso de instalación.

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 usuario sin privilegios de root con privilegios de sudo.

  2. Instala los paquetes requeridos:

    sudo dnf install -y unzip
    

    Nota

    Es posible que ya esté instalado en tu sistema, dependiendo de cómo se haya configurado.

  3. Crea el usuario jitterbit:

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

  5. Inicia sesión como jitterbit.

  6. Crea un archivo de servicio systemd de 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 daemon systemd, habilita el servicio y permite que los servicios systemd se ejecuten cuando el usuario no ha iniciado sesión:

    Como jitterbit
    systemctl --user daemon-reload
    systemctl --user enable jitterbit.service
    loginctl enable-linger
    
  8. Configura 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) Verifica el entorno:

    Como jitterbit
    env | grep jitterbit
    

    El resultado debe 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.
  1. Ejecuta el instalador:

    Como jitterbit
    $HOME/scripts/install.sh
    

Importante

Ahora debes configurar el agente privado.

Si la instalación genera un error OPENSSL_3.4.0, se trata de un problema conocido en RHEL 9.7 y versiones posteriores. Consulta RHEL 9.7 y posteriores: la instalación del agente privado sin root muestra un error de OpenSSL en los problemas conocidos del agente privado para obtener una solución.

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 mensaje, ingresa y:

    Warning: this tool requires root privileges.
    Hint: Use sudo or log on as the root user.
    Do you want to continue as the current user? [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 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

Los lanzamientos de agentes privados utilizan versionamiento semántico, expresado en la forma X.Y, donde X es el número de versión principal e Y es el número de versión secundaria. Hay dos tipos de actualizaciones:

  • Principal: Cuando actualizas de 10.x → 11.x, o de 11.x → 12.x, se considera una actualización de versión principal. 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 se bloquea y no puede procesar operaciones. Si los proyectos en el entorno son grandes, esto puede tomar algún tiempo.

  • Secundaria: Cuando actualizas de 10.x → 10.y, de 11.x → 11.y, o de 12.x → 12.y, es una actualización de versión secundaria. 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 necesarias de conectores

    Las actualizaciones de agentes privados 11.48 y anteriores a 11.49 y posteriores incluyen una actualización necesaria a conectores.

    Se te solicita que aceptes esto durante el proceso de actualización. Las actualizaciones realizadas con silent_install configurado e instalaciones de Red Hat sin root aceptan automáticamente este requisito previo.

Actualizaciones de 11.x a 12.x

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

Actualizaciones de complementos para agentes privados 12.x

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

Nombre del complemento Versiones incompatibles Versión requerida
Complemento 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 Customizations > Plugins page.
  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 e implementa la operación.

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

Los conectores personalizados creados por terceros usando el Connector SDK pueden requerir cambios para ser compatibles con agentes privados 12.x. Debes verificar la compatibilidad de los conectores personalizados antes de actualizar los agentes privados a 12.x.

Instrucciones de actualización

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

  1. Descarga un paquete instalador.

  2. Si el agente aún está procesando operaciones, pausa de drenaje.

    O, si estás seguro de que nada se está ejecutando en el agente, detención de drenaje.

  3. Monitorea el archivo de registro del agente. Continúa cuando todas las operaciones hayan completado el procesamiento.

  4. Realiza 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. Ejecuta el siguiente comando según el tipo de instalador descargado:

    As root
    dpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.deb
    
    As root
    yum upgrade <PATH>/jitterbit-agent-<VERSION>.x86_64.rpm
    
    As 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.

    Actualización de un agente SCRAM-SHA-256 solicita información sobre el cifrado de PostgreSQL

    Las instalaciones nuevas de agentes privados 12.6 y 12.7 utilizaban cifrado de contraseña SCRAM-SHA-256 para la instancia de PostgreSQL incluida de forma predeterminada en Linux. Cuando actualizas un agente Linux que utiliza SCRAM-SHA-256, el instalador te solicita restablecer el cifrado a MD5 (recomendado) o mantener SCRAM-SHA-256; la actualización continúa de cualquier forma, y el usuario de la base de datos jitterbit y su contraseña permanecen sin cambios. Los agentes que ya utilizan MD5 y las actualizaciones ejecutadas con silent_install establecido no se solicitan y mantienen su cifrado existente. Para usar SCRAM-SHA-256, consulta SCRAM on PostgreSQL.

  6. Compara los siguientes archivos con tus copias de seguridad y restaura cualquier configuración modificada:

    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
  7. Si tienes archivos de respaldo .crt o .key que no estén ya en /opt/jitterbit/apache/conf/, cópialos a esa ubicación.

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

  9. Reinicia el agente:

    Como root
    jitterbit restart
    
    Como root
    jitterbit restart
    
    Como jitterbit
    jitterbit restart
    
  10. (Opcional) Si estás realizando una actualización gradual 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:

    Agent synchronization for environment <123456> and agent group ID <987654> completed at ...
    

    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 establécela en false), 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 respaldo 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 sin privilegios distinto 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 para instalaciones sin privilegios, también puedes reiniciar el agente reiniciando el host.

Nota

Los agentes iniciados con registro automático pueden anularse 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 .tar sin privilegios, debes agregar un script del sistema para iniciar el agente o iniciarlo manualmente.

Nota

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

Para iniciar un agente privado en Linux, ejecuta 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 difiere 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.

  • Detención de drenaje: el agente rechaza nuevas operaciones y permite que las operaciones en ejecución continúen durante un período de tiempo de espera 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. Si las operaciones son operaciones programadas, se recrean automáticamente en otro agente del grupo (en caso de múltiples grupos de agentes), o se configuran para recrearse en el agente cuando se reanuda (en caso de grupos de agentes únicos).

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

    Precaución

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

Pausa de drenaje

Para hacer una pausa de drenaje en 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 pausado en Linux, usa el comando Iniciar.

Detención de drenaje

Durante una detención de drenaje, el agente rechaza nuevas operaciones y permite que las operaciones en ejecución continúen durante un período de tiempo de espera 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 hacer una detención de drenaje en un agente privado en Linux, usa una de estas opciones:

  • Desde el menú del Portal Harmony, selecciona Consola de Administración > Agentes. En la columna Acción del agente a detener, selecciona Acción > Detención de Drenaje, luego haz clic en Aceptar en el 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
    

Detención forzada

Para hacer una detención forzada en un agente privado en Linux, ejecuta este comando:

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

Advertencia

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

Estado

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

  • Desde el menú de Harmony Portal, selecciona Management Console > Agents.

  • Ejecuta este comando:

    As root
    jitterbit status
    
    As root
    jitterbit status
    
    As jitterbit
    jitterbit status
    

Solución de problemas

Estas secciones en la página Solucionar problemas pueden ayudarte cuando resuelves problemas de instalaciones de agentes privados en Linux: