Zum Inhalt springen

Jitterbit private agents unter Linux

Einführung

Diese Seite zeigt dir, wie du einen private agent unter Linux installierst und ausführst. Der Abschnitt Fehlerbehebung enthält eine Liste häufiger Probleme und deren Lösungen.

Installation

Führe diese Schritte aus, um einen private agent zu installieren:

  1. Erfülle die Voraussetzungen.

  2. Lade ein Installationspaket für einen private agent herunter.

  3. Führe das Installationsprogramm des private agent aus.

  4. Konfiguriere und starte den private agent.

Voraussetzungen

Du benötigst Folgendes:

  • Einen Host, der die Systemanforderungen erfüllt.

  • Deinen Harmony-Organisationsnamen sowie Harmony-Kontoname und -Passwort.

  • Den Namen und die ID einer private agent-Gruppe.

  • Ein Konto mit Root-Rechten.

Folgende Punkte sind optional:

  • Füge einen agent in der Management Console hinzu. Wenn du keine nicht registrierten private agents in der agent-Gruppe hast, wird automatisch einer mit einem Namen erstellt, der den Namen und die IP-Adresse des Hosts enthält.

  • Ein PostgreSQL-Datenbankserver wird automatisch installiert. Um deinen eigenen zu verwenden, musst du ihn vor der Installation des private agent einrichten und seinen Namen oder seine IP-Adresse, seine Portnummer und die Details des Datenbankadministrator-Kontos kennen.

Folgende Punkte werden empfohlen:

Download

Um die private agent-Software herunterzuladen, gehe zur Seite Downloads des Harmony Portal.

Tipp

Wenn du bereits einen agent auf der Seite Agents der Management Console hinzugefügt hast, klicke auf das Symbol Download Jitterbit Agent des agent.

Lade eines der folgenden Linux-Pakete für private agents herunter:

  • Linux Debian (x64): Die .deb-Paketdatei zur Installation unter Ubuntu Linux als Root.

  • Linux RPM: Die .rpm-Paketdatei zur Installation unter Red Hat Linux als Root.

  • Linux Redhat Non-Root (x64): Die .tar-Datei zur Installation unter Red Hat Linux als Nicht-Root-Benutzer.

Installationsprogramm

Führe die folgenden Befehle für den heruntergeladenen Installationsprogrammtyp aus. Ab agent-Version 12.8 zeigt das Installationsprogramm die Systemanforderungen des agent während des Installationsvorgangs an.

Als Root
dpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.deb
update-alternatives --install /usr/bin/python python /usr/bin/python2 1
Als Root
yum install <PATH>/jitterbit-agent-<VERSION>.x86_64.rpm
  1. Melde dich als Nicht-Root-Benutzer mit sudo-Rechten an.

  2. Installiere erforderliche Pakete:

    sudo dnf install -y unzip
    

    Hinweis

    Dies ist möglicherweise bereits auf deinem System installiert, je nachdem, wie es eingerichtet wurde.

  3. Erstelle den jitterbit-Benutzer:

    Als Nicht-Root-Benutzer
    sudo useradd --user-group jitterbit --base-dir /opt --groups wheel
    sudo passwd jitterbit
    
  4. Beende die Nicht-Root-Benutzershell.

  5. Melde dich als jitterbit an.

  6. Erstelle eine systemd-Dienstdatei für Benutzer:

    Als 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. Lade den systemd-Daemon neu, aktiviere den Dienst und lasse systemd-Dienste ausführen, wenn der Benutzer nicht angemeldet ist:

    Als jitterbit
    systemctl --user daemon-reload
    systemctl --user enable jitterbit.service
    loginctl enable-linger
    
  8. Richte die Shell-Umgebung ein:

    Als 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. (Optional) Überprüfe die Umgebung:

    Als jitterbit
    env | grep jitterbit
    

    Die Ausgabe sollte etwa so aussehen:

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

Wichtig

Die hervorgehobenen Werte sind wichtig, besonders JITTERBIT_HOME, das immer /opt/jitterbit sein muss.

  1. Entpacken Sie die heruntergeladene tar-Datei:

    As jitterbit
    tar -C /opt -xf <PATH>/jitterbit-agent-<VERSION>.x86_64.tar
    
    • <PATH>: Der Pfad zur heruntergeladenen .tar-Datei in einem Verzeichnis mit Leseberechtigung für den jitterbit-Benutzer.
  2. Führen Sie das Installationsprogramm aus:

    As jitterbit
    $HOME/scripts/install.sh
    

Wichtig

Sie müssen jetzt den privaten Agent konfigurieren.

Wenn die Installation zu einem OPENSSL_3.4.0-Fehler führt, handelt es sich um ein bekanntes Problem bei RHEL 9.7 und später. Siehe RHEL 9.7 und später – Installation privater Agenten ohne Root-Berechtigung zeigt OpenSSL-Fehler in den bekannten Problemen des privaten Agenten für eine Lösung.

Konfigurieren

Führen Sie diese Schritte aus, um einen privaten Agent unter Linux zu konfigurieren, zu registrieren und neu zu starten:

  1. Führen Sie diesen Befehl aus:

    As root
    jitterbit-config
    
    As root
    jitterbit-config
    
    As jitterbit
    jitterbit-config
    

    Geben Sie bei der folgenden Eingabeaufforderung y ein:

    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. (Optional) Um dem Agent die Kommunikation über einen Proxy-Server zu ermöglichen, fügen Sie die erforderlichen Optionen hinzu.

  3. Geben Sie bei Aufforderung Ihren Harmony-Kontonamen und Ihr Passwort ein, und wählen Sie die Optionen aus, die Ihrer Organisation, Agentgruppe und dem Agent entsprechen.

  4. Führen Sie diesen Befehl aus:

    As root
    jitterbit restart
    
    As root
    jitterbit restart
    
    As jitterbit
    jitterbit restart
    

Upgrade

Private Agent-Versionen verwenden semantische Versionierung in der Form X.Y, wobei X die Hauptversionsnummer und Y die Nebenversionsnummer ist. Es gibt zwei Arten von Upgrades:

  • Hauptversion: Wenn Sie von 10.x auf 11.x oder von 11.x auf 12.x upgraden, handelt es sich um ein Upgrade der Hauptversion. In diesen Fällen müssen Sie den Agent stoppen und neu starten und auf die vollständige Synchronisierung der Umgebungen warten. Während einer vollständigen Synchronisierung ist die Umgebung gesperrt und kann keine Operationen verarbeiten. Wenn die Projekte in der Umgebung groß sind, kann dies einige Zeit dauern.

  • Nebenversion: Wenn Sie von 10.x auf 10.y, von 11.x auf 11.y oder von 12.x auf 12.y upgraden, handelt es sich um ein Upgrade der Nebenversion. In diesen Fällen müssen Sie nur den Agent stoppen und neu starten.

    .deb- und .rpm-Upgrades von 11.48 und früher auf 11.49+ enthalten notwendige Connector-Updates

    Upgrades von privaten Agenten 11.48 und früher auf 11.49 und später enthalten ein notwendiges Update für Connector SDK-basierte Connectors.

    Sie werden aufgefordert, dies während des Upgrade-Prozesses zu akzeptieren. Upgrades mit silent_install gesetzt und Red Hat-Installationen ohne Root-Berechtigung akzeptieren diese Voraussetzung automatisch.

Upgrades von 11.x auf 12.x

Plugin-Updates sind erforderlich, um die Multipart Pipeline oder AWS S3 Create-Plugins auf 12.x-Agenten zu verwenden. Benutzerdefinierte Connector SDK-Connectors müssen möglicherweise auch aktualisiert werden.

Plugin-Updates für 12.x private Agenten

Wenn Sie eines der folgenden Plugins verwenden, müssen Sie alle vorhandenen Verwendungen der inkompatiblen Plugins durch die neuen, erforderlichen Versionen für 12.x ersetzen, oder Operationen mit diesen Plugins schlagen fehl, wenn Sie den Agent upgraden:

Plugin-Name Inkompatible Versionen Erforderliche Version
Jitterbit Multipart Pipeline Plugin (veraltet) 1.0.9.0
1.0.8.0
1.0.10.0
Jitterbit AWS S3 Create (veraltet) 1.0.1.0
1.0.0.0
1.0.2.0

Die erforderlichen Plugin-Versionen sind abwärtskompatibel mit 11.x-Agenten, sodass man die Plugins vor dem Agent-Upgrade aktualisieren kann. Führen Sie folgende Schritte aus, um ein Plugin zu aktualisieren:

  1. Ordnen Sie die neue Plugin-Version der privaten Agent-Gruppe auf der Seite Customizations > Plugins der Management Console zu.
  2. Heben Sie die Zuweisung des inkompatiblen Plugins aus der Aktivität in den Studio- oder Design Studio-Projekten auf.
  3. Weisen Sie die neue, kompatible Version zu.
  4. Testen und stellen Sie den Vorgang bereit.

Überprüfung von benutzerdefinierten Connectoren für 12.x private Agenten

Benutzerdefinierte Connectoren, die von Drittanbietern mit dem Connector SDK erstellt wurden, müssen möglicherweise geändert werden, um mit 12.x privaten Agenten kompatibel zu sein. Überprüfen Sie die Kompatibilität benutzerdefinierter Connectoren, bevor Sie private Agenten auf 12.x aktualisieren.

Upgrade-Anleitung

Führen Sie folgende Schritte aus, um einen privaten Agenten unter Linux zu aktualisieren:

  1. Laden Sie ein Installer-Paket herunter.

  2. Falls der Agent noch Vorgänge verarbeitet, pausieren Sie ihn.

    Oder, falls Sie sicher sind, dass auf dem Agenten nichts ausgeführt wird, stoppen Sie ihn.

  3. Überwachen Sie die Agent-Protokolldatei. Fahren Sie fort, wenn alle Vorgänge die Verarbeitung abgeschlossen haben.

  4. Erstellen Sie Sicherungskopien der folgenden Dateien:

    Speicherort Datei
    /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. Führen Sie den folgenden Befehl für den heruntergeladenen Installer-Typ aus:

    Als root
    dpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.deb
    
    Als root
    yum upgrade <PATH>/jitterbit-agent-<VERSION>.x86_64.rpm
    
    Als jitterbit
    tar -C /opt -xf /<PATH>/jitterbit-agent-<VERSION>.x86_64.tar
    
    • <PATH>: Der Pfad zur heruntergeladenen .tar-Datei in einem Verzeichnis mit Leseberechtigung für den jitterbit-Benutzer.

    Upgrade eines SCRAM-SHA-256-Agenten fordert zur PostgreSQL-Verschlüsselung auf

    Neuinstallationen von privaten Agenten 12.6 und 12.7 verwendeten standardmäßig SCRAM-SHA-256-Passwortverschlüsselung für die gebündelte PostgreSQL-Instanz unter Linux. Beim Upgrade eines Linux-Agenten, der SCRAM-SHA-256 verwendet, fordert der Installer auf, die Verschlüsselung auf MD5 (empfohlen) zurückzusetzen oder SCRAM-SHA-256 beizubehalten. Das Upgrade wird in beiden Fällen fortgesetzt, und der jitterbit-Datenbankbenutzer und sein Passwort bleiben unverändert. Agenten, die bereits MD5 verwenden, und Upgrades mit silent_install werden nicht aufgefordert und behalten ihre vorhandene Verschlüsselung. Um SCRAM-SHA-256 zu verwenden, siehe SCRAM auf PostgreSQL.

  6. Vergleichen Sie die folgenden Dateien mit den Sicherungskopien und stellen Sie alle geänderten Einstellungen wieder her:

    Speicherort Datei
    /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. Falls Sie Sicherungs-.crt- oder .key-Dateien haben, die sich nicht bereits in /opt/jitterbit/apache/conf/ befinden, kopieren Sie diese an diesen Ort.

  8. (Optional) Während der Umgebungssynchronisierung akzeptieren Agenten keine Integrationsprojektoperationen zur Verarbeitung. Sie können die Auswirkungen dieser Ausfallzeit mit einem Rolling-Upgrade-Ansatz minimieren.

  9. Starten Sie den Agent neu:

    As root
    jitterbit restart
    
    As root
    jitterbit restart
    
    As jitterbit
    jitterbit restart
    
  10. (Optional) Falls Sie ein Rolling-Upgrade mit dem Eigenschaftswert agent.starting.standby=true durchführen und vor dem Upgrade eines anderen Agenten in derselben Gruppe, überwachen Sie die Agent-Protokolldatei auf die folgende Meldung:

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

    Diese Meldung zeigt an, dass der Agent die Umgebungssynchronisierung abgeschlossen hat. Wenn sie angezeigt wird, bearbeiten Sie jitterbit-agent-config.properties erneut, löschen Sie die Eigenschaft agent.starting.standby (oder setzen Sie sie auf false), und starten Sie den Agent neu.

Deinstallation

Führen Sie diese Schritte aus, um einen privaten Agent unter Linux zu deinstallieren:

  1. Beenden Sie den Agent.

  2. (Optional) Erstellen Sie Sicherungskopien der folgenden Dateien:

    Ort Datei
    /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. Führen Sie diese Befehle aus, um die Installationsdateien (einschließlich PostgreSQL und des Datenverzeichnisses), die Datei zum Starten des Dienstes und das Benutzerkonto jitterbit zu entfernen:

    As root
    apt-get remove --autoremove jitterbit-agent
    userdel --remove --force jitterbit
    
    As root
    yum remove jitterbit-agent
    userdel --remove --force jitterbit
    
    As a non-root user other than 'jitterbit'
    sudo userdel --remove --force jitterbit
    

Verwaltung

Sie können einen privaten Agent mit dem Befehl jitterbit starten, beenden und den Status anzeigen. Sie können auch die Management Console verwenden, um einen Agent remote zu beenden, können ihn aber nur in einem Terminal auf dem Host neu starten. Mit Ausnahme von Installationen ohne Root-Berechtigung können Sie den Agent auch durch Neustart des Hosts neu starten.

Hinweis

Agenten, die mit automatischer Registrierung gestartet werden, können sich beim Beenden automatisch abmelden.

Starten

Private Agenten, die aus einer .deb- oder .rpm-Paketdatei installiert wurden, starten automatisch mit dem Host. Bei Installationen ohne Root-Berechtigung aus einer .tar-Datei müssen Sie ein Systemskript hinzufügen, um den Agent zu starten, oder ihn manuell starten.

Hinweis

Es kann mehrere Minuten dauern, bis ein privater Agent die Synchronisierung abgeschlossen hat und den laufenden Status aufweist.

Führen Sie diesen Befehl aus, um einen privaten Agent unter Linux zu starten:

As root
jitterbit start
As root
jitterbit start
As jitterbit
jitterbit start

Stoppen

Es gibt drei Möglichkeiten, einen privaten Agent zu stoppen, die sich darin unterscheiden, wie laufende Operationen behandelt werden:

  • Drain pause: Der Agent lehnt neue Operationen ab und lässt laufende Operationen bis zur Fertigstellung weiterlaufen.

  • Drain stop: Der Agent lehnt neue Operationen ab und lässt laufende Operationen für einen konfigurierbaren Timeout-Zeitraum weiterlaufen, der durch agent.drain.stop.database.poll.no.of.retries und agent.drain.stop.database.poll.interval.in.millisec gesteuert wird (standardmäßig 100 Abfragen in 10.000-ms-Intervallen). API-basierte Operationen erhalten bis zu agent.drainstop.api.wait (standardmäßig 180 Sekunden). Nach dem Timeout werden alle nicht abgeschlossenen Operationen abgebrochen und ihr Status wird mit der Cloud synchronisiert, bevor der Agent heruntergefahren wird. Wenn es sich um geplante Operationen handelt, werden diese automatisch auf einem anderen Agent in der Gruppe neu erstellt (im Fall mehrerer Agent-Gruppen) oder zur Neuerstellung auf dem Agent festgelegt, wenn dieser wieder aufgenommen wird (im Fall einzelner Agent-Gruppen).

  • Hard stop: Der Agent lehnt neue Operationen ab, beendet laufende Operationen und markiert sie als abgebrochen. Wenn es sich um geplante Operationen handelt, werden diese automatisch auf einem anderen Agent in der Gruppe neu erstellt (im Fall mehrerer Agent-Gruppen) oder zur Neuerstellung auf dem Agent festgelegt, wenn dieser wieder aufgenommen wird (im Fall einzelner Agent-Gruppen).

    Vorsicht

    Das erzwungene Stoppen eines privaten Agents kann zu Datenverlust führen.

Drain pause

Um einen privaten Agent unter Linux in den Drain-Pause-Modus zu versetzen, führen Sie den folgenden Befehl aus:

As root
jitterbit-utils --drain-pause
As root
jitterbit-utils --drain-pause
As jitterbit
jitterbit-utils --drain-pause

In der Management Console wird der Status als Stopping angezeigt.

Um einen angehaltenen Agent unter Linux fortzusetzen, verwenden Sie den Start-Befehl.

Drain stop

Während eines Drain Stop lehnt der Agent neue Operationen ab und lässt laufende Operationen für einen konfigurierbaren Timeout-Zeitraum weiterlaufen, der durch agent.drain.stop.database.poll.no.of.retries und agent.drain.stop.database.poll.interval.in.millisec gesteuert wird (standardmäßig 100 Abfragen in 10.000-ms-Intervallen). API-basierte Operationen erhalten bis zu agent.drainstop.api.wait (standardmäßig 180 Sekunden). Nach dem Timeout werden alle nicht abgeschlossenen Operationen abgebrochen und ihr Status wird mit der Cloud synchronisiert, bevor der Agent heruntergefahren wird.

Um einen privaten Agent unter Linux zu stoppen, verwenden Sie eine dieser Optionen:

  • Wählen Sie im Harmony Portal-Menü Management Console > Agents aus. Wählen Sie in der Spalte Action des zu stoppenden Agents Action > Drain Stop aus und klicken Sie dann im Bestätigungsdialog auf OK.

  • Führen Sie den folgenden Befehl aus:

    As root
    jitterbit-utils --drain-stop
    
    As root
    jitterbit-utils --drain-stop
    
    As jitterbit
    jitterbit-utils --drain-stop
    

Hard stop

Um einen privaten Agent unter Linux erzwungen zu stoppen, führen Sie diesen Befehl aus:

As root
jitterbit stop
As root
jitterbit stop
As jitterbit
jitterbit stop

Warnung

Das erzwungene Stoppen eines privaten Agents kann zu Datenverlust führen.

Status

Um den Status des Agenten anzuzeigen, verwenden Sie eine dieser Optionen:

  • Wählen Sie im Harmony Portal-Menü Management Console > Agents aus.

  • Führen Sie diesen Befehl aus:

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

Fehlerbehebung

Diese Abschnitte auf der Seite Fehlerbehebung können bei der Fehlerbehebung von privaten Agent-Installationen unter Linux hilfreich sein: