Ir para o conteúdo

Agentes privados Jitterbit no Linux

Introdução

Esta página mostra como instalar e executar um agente privado no Linux. A seção Solução de Problemas fornece uma lista de problemas comuns e suas soluções.

Instalar

Para instalar um agente privado, siga estas etapas:

  1. Atenda aos pré-requisitos.

  2. Baixe um pacote de instalação do agente privado.

  3. Execute o instalador do agente privado.

  4. Configure e inicie o agente privado.

Pré-requisitos

Você deve ter o seguinte:

Os seguintes itens são opcionais:

  • Adicionar um agente no Console de Gerenciamento. Se você não tiver nenhum agente privado não registrado no grupo de agentes, um será criado automaticamente com um nome que inclui o nome do host e o endereço IP.

  • Um servidor de banco de dados PostgreSQL é instalado automaticamente. Para usar o seu próprio, você deve configurá-lo antes de instalar o agente privado e saber seu nome ou endereço IP, seu número de porta e os detalhes da conta do administrador do banco de dados.

Os seguintes itens são recomendados:

Baixar

Para baixar o software do agente privado, acesse a página Downloads do Portal Harmony.

Dica

Se você já adicionou um agente na página Agentes do Console de Gerenciamento, clique no ícone Baixar Agente Jitterbit do agente.

Baixe um dos seguintes pacotes do agente privado para Linux:

  • Linux Debian (x64): O arquivo de pacote .deb, para instalação no Ubuntu Linux como root.

  • Linux RPM: O arquivo de pacote .rpm, para instalação no Red Hat Linux como root.

  • Linux Redhat Não-Raiz (x64): O arquivo .tar, para instalação no Red Hat Linux como um usuário não-root.

Installer

Execute os seguintes comandos para o tipo de instalador baixado:

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. Faça login como um usuário não-root com privilégios sudo.

  2. Instale os pacotes necessários:

    sudo dnf install -y unzip
    

    Nota

    Isso pode já estar instalado em seu sistema, dependendo de como foi configurado.

  3. Crie o usuário jitterbit:

    Como usuário não-root
    sudo useradd --user-group jitterbit --base-dir /opt --groups wheel
    sudo passwd jitterbit
    
  4. Saia do shell do usuário não-root.

  5. Faça login como jitterbit.

  6. Crie um arquivo de serviço systemd para o usuário:

    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. Recarregue o daemon systemd, habilite o serviço e permita que os serviços do systemd sejam executados quando o usuário não estiver logado:

    Como jitterbit
    systemctl --user daemon-reload
    systemctl --user enable jitterbit.service
    loginctl enable-linger
    
  8. Configure o ambiente do 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 o ambiente:

    Como jitterbit
    env | grep jitterbit
    

    A saída deve ser parecida com isto:

    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

    Os valores destacados são importantes, especialmente JITTERBIT_HOME, que deve sempre ser /opt/jitterbit.

  10. Descompacte o arquivo tar baixado:

    Como jitterbit
    tar -C /opt -xf <CAMINHO>/jitterbit-agent-<VERSÃO>.x86_64.tar
    
    • <CAMINHO>: O caminho para o arquivo .tar baixado, em um diretório com permissões de leitura para o usuário jitterbit.
  11. Execute o instalador:

    Como jitterbit
    $HOME/scripts/install.sh
    

Importante

Você deve agora configurar o agente privado.

Configure

Para configurar, registrar e reiniciar um agente privado no Linux, siga estas etapas:

  1. Execute este comando:

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

    No seguinte prompt, digite y:

    Aviso: esta ferramenta requer privilégios de root.
    Dica: Use sudo ou faça login como usuário root.
    Você deseja continuar como o usuário atual? [y/n]:
    
  2. (Opcional) Para permitir que o agente se comunique via um servidor proxy, adicione as opções necessárias.

  3. Quando solicitado, insira seu nome de usuário e senha da conta Harmony, e selecione as opções correspondentes à sua organização, grupo de agentes e agente.

  4. Execute este comando:

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

Upgrade

As versões do agente privado usam versionamento semântico, expresso na forma X.Y, onde X é o número da versão principal e Y é o número da versão secundária. Existem dois tipos de upgrades:

  • Principal: Quando você atualiza de 10.x → 11.x, ou de 11.x → 12.x, isso é considerado um upgrade de versão principal. Nesses casos, você deve parar e reiniciar o agente e aguardar a sincronização completa dos ambientes ser concluída. Durante uma sincronização completa, o ambiente é bloqueado e não pode processar operações. Se os projetos no ambiente forem grandes, isso pode levar algum tempo.

  • Menor: Quando você atualiza de 10.x → 10.y, 11.x → 11.y, ou 12.x → 12.y, é uma atualização de versão menor. Nesses casos, você só precisa parar e reiniciar o agente.

    Atualizações de .deb e .rpm de 11.48 e anteriores para 11.49+ incluem atualizações de conector necessárias

    Atualizações de agentes privados 11.48 e anteriores para 11.49 e posteriores incluem uma atualização necessária para Connector SDK-baseados conectores.

    Você será solicitado a aceitar isso durante o processo de atualização. Atualizações feitas com silent_install definido e instalações não-root do Redhat aceitam automaticamente este pré-requisito.

Atualizações de 11.x para 12.x

Atualizações de plugins são necessárias para usar os plugins Multipart Pipeline ou AWS S3 Create em agentes 12.x. Conectores personalizados do Connector SDK também podem precisar de atualizações.

Atualizações de plugins para agentes privados 12.x

Se você usar qualquer um dos seguintes plugins, deve substituir quaisquer usos existentes dos plugins incompatíveis pelas novas versões necessárias para 12.x, ou as operações que utilizam esses plugins começarão a falhar quando você atualizar o agente:

Nome do plugin Versões incompatíveis Versão necessária
Jitterbit Multipart Pipeline Plugin (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

As versões de plugin necessárias são compatíveis com agentes 11.x, portanto, você pode atualizar os plugins antes da atualização do agente. Para atualizar um plugin, siga estas etapas:

  1. Associe a nova versão do plugin ao grupo de agentes privados na página Personalizações > Plugins do Console de Gerenciamento.
  2. Desassocie o plugin incompatível da atividade em seus projetos do Studio ou Design Studio.
  3. Atribua a nova versão compatível.
  4. Teste e implante a operação.

Verificação de conectores personalizados para agentes privados 12.x

Conectores personalizados criados por terceiros usando o Connector SDK podem precisar de alterações para serem compatíveis com agentes privados 12.x. É importante verificar a compatibilidade do conector personalizado antes de atualizar os agentes privados para 12.x.

Instruções de atualização

Para atualizar um agente privado no Linux, siga estas etapas:

  1. Baixe um pacote de instalador.

  2. Se o agente ainda estiver processando operações, pause o dreno.

    Ou, se você tiver certeza de que nada está sendo executado no agente, pare o dreno.

  3. Monitore o arquivo de log do agente. Continue quando todas as operações tiverem sido concluídas.

  4. Faça cópias de backup dos seguintes arquivos:

    Localização Arquivo
    /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. Execute o seguinte comando para o tipo de instalador baixado:

    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 /<CAMINHO>/jitterbit-agent-<VERSÃO>.x86_64.tar
  • <CAMINHO>: O caminho para o arquivo .tar baixado, em um diretório com permissões de leitura para o usuário jitterbit.

  • Compare os seguintes arquivos com suas cópias de backup e restaure quaisquer configurações alteradas:

    Localização Arquivo
    /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
  • Se você tiver arquivos de backup .crt ou .key que não estão em /opt/jitterbit/apache/conf/, copie-os para esse local.

  • (Opcional) Durante o período de sincronização do ambiente, os agentes não aceitarão operações de projeto de integração para processamento. Você pode minimizar o impacto desse tempo de inatividade com uma abordagem de atualização contínua.

  • Reinicie o agente:

    Como root
    jitterbit restart
    
    Como root
    jitterbit restart
    
    Como jitterbit
    jitterbit restart
    
  • (Opcional) Se você estiver fazendo uma atualização contínua com o valor da propriedade agent.starting.standby=true, e antes de atualizar outro agente no mesmo grupo, monitore o arquivo de log do agente para a seguinte mensagem:

    Sincronização do agente para o ambiente <123456> e ID do grupo de agentes <987654> concluída em ...
    

Esta mensagem indica que o agente completou a sincronização do ambiente. Quando ela aparecer, edite jitterbit-agent-config.properties novamente, delete a propriedade agent.starting.standby (ou defina como false), e então reinicie o agente.

Desinstalar

Para desinstalar um agente privado no Linux, siga estes passos:

  1. Pare o agente.

  2. (Opcional) Faça cópias de backup dos seguintes arquivos:

    Localização Arquivo
    /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 remover os arquivos de instalação (incluindo PostgreSQL e seu diretório de dados), o arquivo de inicialização do serviço e a conta de usuário jitterbit, execute estes comandos:

    Como root
    apt-get remove --autoremove jitterbit-agent
    userdel --remove --force jitterbit
    
    Como root
    yum remove jitterbit-agent
    userdel --remove --force jitterbit
    
    Como um usuário não-root diferente de 'jitterbit'
    sudo userdel --remove --force jitterbit
    

Gerenciar

Você pode iniciar, parar e mostrar o status de um agente privado com o jitterbit command. Você também pode usar o Console de Gerenciamento para parar um agente remotamente, mas só pode reiniciá-lo novamente em um terminal no host. Exceto para instalações não-root, você também pode reiniciar o agente reiniciando o host.

Nota

Agentes iniciados com registro automático podem se desregistrar automaticamente quando parados.

Iniciar

Agentes privados instalados a partir de um arquivo de pacote .deb ou .rpm iniciam automaticamente com o host. Para instalações de arquivos .tar não-root, é necessário adicionar um script de sistema para iniciar o agente ou iniciá-lo manualmente.

Nota

Pode levar vários minutos para que um agente privado complete a sincronização e esteja em status de execução.

Para iniciar um agente privado no Linux, execute este comando:

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

Parar

Existem três maneiras de parar um agente privado, cada uma com diferenças na forma como as operações em execução são tratadas:

  • Pausa de drenagem: o agente rejeita novas operações e permite que as operações em execução continuem até a conclusão.

  • Parada de drenagem: o agente rejeita novas operações e permite que as operações em execução continuem até a conclusão por um período definido pelo parâmetro agent.drainstop.api.wait (por padrão, 180 segundos), momento em que são marcadas como canceladas. Se as operações forem operações agendadas, elas são recriadas automaticamente em outro agente no grupo (no caso de múltiplos grupos de agentes), ou definidas para serem recriadas no agente quando ele retomar (no caso de grupos de agentes únicos).

  • Parada forçada: o agente rejeita novas operações, termina as operações em execução e as marca como canceladas. Se as operações forem operações agendadas, elas são recriadas automaticamente em outro agente no grupo (no caso de múltiplos grupos de agentes), ou definidas para serem recriadas no agente quando ele retomar (no caso de grupos de agentes únicos).

    Cuidado

    Parar forçadamente um agente privado pode resultar em perda de dados.

Pausa de drenagem

Para pausar a drenagem de um agente privado no Linux, execute o seguinte comando:

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

No Console de Gerenciamento, o status é exibido como Parando.

Para retomar um agente pausado no Linux, use o comando Iniciar.

Parada de drenagem

Para parar a drenagem de um agente privado no Linux, use uma das seguintes opções:

  • No menu do Portal Harmony, selecione Console de Gerenciamento > Agentes. Na coluna Ação do agente a ser parado, selecione Ação > Parada de Drenagem, e clique em OK na caixa de diálogo de confirmação.

  • Execute o seguinte comando:

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

Parada forçada

Para forçar a parada de um agente privado no Linux, execute este comando:

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

Aviso

Forçar a parada de um agente privado pode resultar em perda de dados.

Status

Para ver o status do agente, use uma das seguintes opções:

  • No menu do Portal Harmony, selecione Console de Gerenciamento > Agentes.

  • Execute este comando:

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

Solucionar Problemas

Essas seções na página de Solução de Problemas podem ajudar ao solucionar instalações de agentes privados no Linux: