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:
-
Atenda aos pré-requisitos.
-
Baixe um pacote de instalação de agente privado.
-
Execute o instalador do agente privado.
-
Configure e inicie o agente privado.
Pré-requisitos
Você deve ter o seguinte:
-
Um host que atenda aos requisitos do sistema.
-
O nome da sua organização Harmony, e o nome de usuário e senha da conta Harmony.
-
O nome e a ID de um grupo de agentes privados.
-
Uma conta com privilégios de root.
Os itens a seguir são opcionais:
-
Adicionar um agente no Console de Gerenciamento. Se você não tiver agentes privados não registrados 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 conhecer seu nome ou endereço IP, seu número de porta e os detalhes da conta do administrador do banco de dados.
Os itens a seguir são recomendados:
- Leia e aplique as orientações no guia de configuração de ajuste de desempenho.
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 Linux de agente privado:
-
Linux Debian (x64): O arquivo de pacote
.deb, para instalar no Ubuntu Linux como root. -
Linux RPM: O arquivo de pacote
.rpm, para instalar no Red Hat Linux como root. -
Linux Redhat Sem Root (x64): O arquivo
.tar, para instalar no Red Hat Linux como usuário não root.
Instalador
Execute os comandos a seguir para o tipo de instalador baixado. A partir da versão 12.8 do agente, o instalador mostra os requisitos do sistema do agente durante o processo de instalação.
dpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.deb
update-alternatives --install /usr/bin/python python /usr/bin/python2 1
yum install <PATH>/jitterbit-agent-<VERSION>.x86_64.rpm
-
Faça login como um usuário não root com privilégios sudo.
-
Instale os pacotes necessários:
sudo dnf install -y unzipNota
Isso pode já estar instalado no seu sistema, dependendo de como foi configurado.
-
Crie o usuário
jitterbit:Como usuário não rootsudo useradd --user-group jitterbit --base-dir /opt --groups wheel sudo passwd jitterbit -
Saia do shell do usuário não root.
-
Faça login como
jitterbit. -
Crie um arquivo de serviço
systemddo usuário:Como jitterbitmkdir -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 -
Recarregue o daemon
systemd, ative o serviço e permita que os serviços systemd sejam executados quando o usuário não estiver conectado:Como jitterbitsystemctl --user daemon-reload systemctl --user enable jitterbit.service loginctl enable-linger -
Configure o ambiente do shell:
Como jitterbitmkdir -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 -
(Opcional) Verifique o ambiente:
Como jitterbitenv | grep jitterbitA saída deve ser semelhante a esta:
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/jitterbitImportante
Os valores destacados são importantes, especialmente
JITTERBIT_HOME, que deve ser sempre/opt/jitterbit. -
Descompacte o arquivo tar baixado:
tar -C /opt -xf <PATH>/jitterbit-agent-<VERSION>.x86_64.tar
<PATH>: O caminho para o arquivo.tarbaixado, em um diretório com permissões de leitura para o usuáriojitterbit.
-
Execute o instalador:
Como jitterbit$HOME/scripts/install.sh
Importante
Agora é necessário configurar o agente privado.
Se a instalação resultar em um erro OPENSSL_3.4.0, trata-se de um problema conhecido no RHEL 9.7 e posterior. Consulte RHEL 9.7 e posterior - instalação de agente privado sem root exibe erro OpenSSL nos problemas conhecidos do agente privado para uma solução alternativa.
Configurar
Para configurar, registrar e reiniciar um agente privado no Linux, siga estas etapas:
-
Execute este comando:
Como rootjitterbit-configComo rootjitterbit-configComo jitterbitjitterbit-configNo prompt a seguir, digite
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]: -
(Opcional) Para permitir que o agente se comunique por um servidor proxy, adicione as opções necessárias.
-
Quando solicitado, digite seu nome de usuário e senha da conta Harmony e selecione as opções correspondentes à sua organização, grupo de agentes e agente.
-
Execute este comando:
Como rootjitterbit restartComo rootjitterbit restartComo jitterbitjitterbit restart
Atualizar
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 atualizações:
-
Principal: Quando você atualiza 10.x → 11.x ou 11.x → 12.x, considera-se uma atualização de versão principal. Nesses casos, é necessário parar e reiniciar o agente e aguardar a conclusão de uma sincronização completa dos ambientes. Durante uma sincronização completa, o ambiente fica bloqueado e não pode processar operações. Se os projetos no ambiente forem grandes, isso pode levar algum tempo.
-
Secundária: Quando você atualiza 10.x → 10.y, 11.x → 11.y ou 12.x → 12.y, trata-se de uma atualização de versão secundária. Nesses casos, basta parar e reiniciar o agente.
Atualizações
.debe.rpmda versão 11.48 e anterior para 11.49+ incluem atualizações de conectores necessáriasAs atualizações de agentes privados 11.48 e anterior para 11.49 e posterior incluem uma atualização necessária para conectores.
Você será solicitado a aceitar isso durante o processo de atualização. As atualizações feitas com
silent_installdefinido e instalações não-root do Redhat aceitam automaticamente este pré-requisito.
Atualizações de 11.x para 12.x
Atualizações de plug-in são necessárias para usar os plug-ins Multipart Pipeline ou AWS S3 Create em agentes 12.x. Conectores do Custom Connector SDK também podem precisar de atualizações.
Atualizações de plug-in para agentes privados 12.x
Se você usar qualquer um dos seguintes plug-ins, deve substituir qualquer uso existente dos plug-ins incompatíveis pelas novas versões necessárias para 12.x, ou as operações usando esses plug-ins começarão a falhar quando você atualizar o agente:
| Nome do plug-in | Versões incompatíveis | Versão necessária |
|---|---|---|
| Jitterbit Multipart Pipeline Plugin (descontinuado) | 1.0.9.0 1.0.8.0 |
1.0.10.0 |
| Jitterbit AWS S3 Create (descontinuado) | 1.0.1.0 1.0.0.0 |
1.0.2.0 |
As versões necessárias do plugin são compatíveis com versões anteriores com agentes 11.x, portanto você pode atualizar os plugins antes da atualização do agente. Para atualizar um plugin, siga estas etapas:
- Associe a nova versão do plugin ao grupo de agentes privados na página Customizations > Plugins do Console de Gerenciamento.
- Desatribua o plugin incompatível da atividade em seus projetos do Studio ou Design Studio.
- Atribua a nova versão compatível.
- 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. Você deve verificar a compatibilidade do conector personalizado antes de atualizar agentes privados para 12.x.
Instruções de atualização
Para atualizar um agente privado no Linux, siga estas etapas:
-
Baixe um pacote instalador.
-
Se o agente ainda estiver processando operações, pause-o com drenagem.
Ou, se você tiver certeza de que nada está em execução no agente, interrompa-o com drenagem.
-
Monitore o arquivo de log do agente. Continue quando todas as operações tiverem concluído o processamento.
-
Faça cópias de backup dos seguintes arquivos:
Local 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 -
Execute o seguinte comando para o tipo de instalador baixado:
Como rootdpkg --install <PATH>/jitterbit-agent_<VERSION>_amd64.debComo rootyum upgrade <PATH>/jitterbit-agent-<VERSION>.x86_64.rpmComo jitterbittar -C /opt -xf /<PATH>/jitterbit-agent-<VERSION>.x86_64.tar<PATH>: O caminho para o arquivo.tarbaixado, em um diretório com permissões de leitura para o usuáriojitterbit.
Atualizar um agente SCRAM-SHA-256 solicita informações sobre criptografia PostgreSQL
Instalações novas de agentes privados 12.6 e 12.7 usavam criptografia de senha SCRAM-SHA-256 para a instância PostgreSQL incluída por padrão no Linux. Quando você atualiza um agente Linux que usa SCRAM-SHA-256, o instalador solicita que você redefina a criptografia para MD5 (recomendado) ou mantenha SCRAM-SHA-256; a atualização continua de qualquer forma, e o usuário do banco de dados
jitterbite sua senha permanecem inalterados. Agentes que já usam MD5 e atualizações executadas comsilent_installdefinido não são solicitados e mantêm sua criptografia existente. Para usar SCRAM-SHA-256, consulte SCRAM no PostgreSQL. -
Compare os seguintes arquivos com suas cópias de backup e restaure as configurações alteradas:
Local 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
.crtou.keyque ainda não estão em/opt/jitterbit/apache/conf/, copie-os para esse local. -
(Opcional) Durante o período de sincronização de 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 rootjitterbit restartComo rootjitterbit restartComo jitterbitjitterbit restart -
(Opcional) Se você estiver fazendo uma atualização contínua com o valor de propriedade
agent.starting.standby=truee, antes de atualizar outro agente no mesmo grupo, monitore o arquivo de log do agente para a seguinte mensagem:Agent synchronization for environment <123456> and agent group ID <987654> completed at ...Esta mensagem indica que o agente completou a sincronização de ambiente. Quando ela aparecer, edite
jitterbit-agent-config.propertiesnovamente, delete a propriedadeagent.starting.standby(ou defina-a comofalse) e reinicie o agente.
Desinstalar
Para desinstalar um agente privado no Linux, siga estas etapas:
-
Pare o agente.
-
(Opcional) Faça cópias de backup dos seguintes arquivos:
Local 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 -
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 rootapt-get remove --autoremove jitterbit-agent userdel --remove --force jitterbitComo rootyum remove jitterbit-agent userdel --remove --force jitterbitComo um usuário não-root diferente de 'jitterbit'sudo userdel --remove --force jitterbit
Gerenciar
Você pode iniciar, parar e exibir o status de um agente privado com o comando jitterbit. 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 não-root de arquivo .tar, você deve adicionar um script do sistema para iniciar o agente ou iniciá-lo manualmente.
Nota
Pode levar vários minutos para um agente privado completar a sincronização e estar em status de execução.
Para iniciar um agente privado no Linux, execute este comando:
jitterbit start
jitterbit start
jitterbit start
Parar
Existem três maneiras de parar um agente privado, cada uma diferindo em 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 por um período de tempo limite configurável, controlado por
agent.drain.stop.database.poll.no.of.retrieseagent.drain.stop.database.poll.interval.in.millisec(por padrão, 100 sondagens em intervalos de 10.000 ms). Operações baseadas em API recebem atéagent.drainstop.api.wait(por padrão, 180 segundos). Após o tempo limite, todas as operações que não foram concluídas são canceladas e seu status é sincronizado com a nuvem antes do agente desligar. Se as operações forem operações agendadas, elas serão automaticamente recriadas em outro agente do grupo (no caso de múltiplos grupos de agentes) ou definidas para serem recriadas no agente quando ele retomar (no caso de grupos de agente único). -
Parada forçada: o agente rejeita novas operações, encerra as operações em execução e as marca como canceladas. Se as operações forem operações agendadas, elas serão automaticamente recriadas em outro agente do grupo (no caso de múltiplos grupos de agentes) ou definidas para serem recriadas no agente quando ele retomar (no caso de grupos de agente único).
Aviso
Parar um agente privado de forma forçada pode resultar em perda de dados.
Pausa de drenagem
Para fazer uma pausa de drenagem em um agente privado no Linux, execute o seguinte comando:
jitterbit-utils --drain-pause
jitterbit-utils --drain-pause
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
Durante uma parada de drenagem, o agente rejeita novas operações e permite que as operações em execução continuem por um período de tempo limite configurável, controlado por agent.drain.stop.database.poll.no.of.retries e agent.drain.stop.database.poll.interval.in.millisec (por padrão, 100 sondagens em intervalos de 10.000 ms). Operações baseadas em API recebem até agent.drainstop.api.wait (por padrão, 180 segundos). Após o tempo limite, todas as operações que não foram concluídas são canceladas e seu status é sincronizado com a nuvem antes do agente desligar.
Para fazer uma parada de drenagem em um agente privado no Linux, use uma destas opções:
-
No menu do Harmony Portal, 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 rootjitterbit-utils --drain-stopComo rootjitterbit-utils --drain-stopComo jitterbitjitterbit-utils --drain-stop
Parada forçada
Para fazer uma parada forçada em um agente privado no Linux, execute este comando:
jitterbit stop
jitterbit stop
jitterbit stop
Aviso
Parar um agente privado de forma forçada pode resultar em perda de dados.
Status
Para ver o status do agente, use uma destas opções:
-
No menu do Harmony Portal, selecione Management Console > Agents.
-
Execute este comando:
As rootjitterbit statusAs rootjitterbit statusAs jitterbitjitterbit status
Solução de problemas
Estas seções na página Solução de problemas podem ajudar ao solucionar problemas de instalações de agentes privados no Linux:
-
Erros de conexão, websocket e E/S em agentes privados Jitterbit usando VMs do Azure
-
PostgreSQL agrupado no Linux usa MD5 em vez de SCRAM-SHA-256
-
Linux: Falha ao iniciar os serviços do agente após uma reinicialização ("postmaster.pid não existe")
-
Linux: Antivírus remove PgBouncer, agente falha ao autenticar no banco de dados agrupado