Todos os produtos
Search
Central de documentação

Data Online Migration:Overview of ossimport

Última atualização: Aug 28, 2026

O ossimport é uma ferramenta para migrar dados para o Object Storage Service (OSS). Você pode implantar o ossimport em um servidor local ou em uma instância do Elastic Compute Service (ECS) para migrar dados de armazenamento local ou de outros serviços de armazenamento em nuvem para o OSS. A Alibaba Cloud também oferece o Data Online Migration padronizado e serviços de replicação entre regiões. Esses serviços fornecem uma interface gráfica do usuário (GUI) para ajudar você a migrar dados para a cloud e replicar dados entre buckets do OSS.

Importante
  • O ossimport não verifica arquivos após a migração. Ele não garante a correção ou a consistência dos resultados da migração. Após a conclusão de uma tarefa de migração, verifique a consistência dos dados entre a source e o destino.

    Se você excluir os dados de source antes de verificar a consistência dos dados, será responsável por qualquer perda de dados resultante.

  • Para migrar dados de outras fontes de dados de terceiros, recomendamos o uso do Data Online Migration.

  • Para replicar dados do OSS quase em tempo real entre dois buckets diferentes, utilize o recurso de replicação entre regiões do OSS.

Recursos

  • Compatível com uma ampla variedade de fontes de dados, como arquivos locais, Qiniu Kodo, Baidu BOS, Amazon S3, Azure Blob, UPYUN USS, Tencent Cloud COS, Kingsoft KS3, listas de URLs HTTP ou HTTPS e Alibaba Cloud OSS. Também pode ser estendido para suportar outras fontes conforme necessário.

  • Suporta modos autônomo e distribuído. O modo autônomo é simples de implantar e fácil de usar. Já o modo distribuído é adequado para migração de dados em grande escala.

    Nota

    No modo autônomo, é possível migrar apenas um bucket por vez.

  • Oferece suporte a uploads retomáveis.

  • Permite modelagem de tráfego.

  • Possibilita a migração de arquivos modificados após um horário específico ou arquivos com um prefixo específico.

  • Realiza downloads e uploads de dados simultaneamente.

Faturamento

A ferramenta ossimport é gratuita. Em um ambiente de cloud pública, a source de dados pode gerar custos, como taxas de tráfego de saída e taxas de solicitação. O bucket do OSS de destino incorrerá em taxas de solicitação. Se você ativar e usar a aceleração de transferência para o OSS, taxas de aceleração de transferência também serão cobradas.

Observações de uso

  • Velocidade de migração

    A velocidade de migração do ossimport depende de fatores como a largura de banda de leitura da source, a largura de banda da rede local e os tamanhos dos arquivos. A migração de arquivos menores que 200 KB pode ser lenta devido ao alto uso de operações de entrada/saída por segundo (IOPS).

  • Dados de source na classe de armazenamento Archive

    Ao migrar dados com o ossimport, se os dados de source estiverem na classe de armazenamento Archive, restaure os dados antes de iniciar a migração.

  • Armazenamento temporário local

    Durante a migração de dados com o ossimport, o fluxo de dados é armazenado temporariamente na memória local antes de ser enviado para o destino.

  • Retenção de dados de source

    O ossimport executa apenas operações de leitura nos dados de source durante a migração. Ele não modifica nem exclui os dados de source.

  • Outras ferramentas de migração (ossutil)

    Para migrar menos de 30 TB de dados, recomendamos o uso do ossutil. Esta ferramenta é simples e prática. Utilize as opções -u, --update e --snapshot-path para executar a migração incremental de arquivos. Para obter mais informações, consulte cp.

Ambiente de execução

Você pode implantar o ossimport em um sistema Linux ou Windows que atenda aos seguintes requisitos:

  • Windows 7 ou superior

  • CentOS 6 ou CentOS 7

  • Java 7 ou Java 8

Importante

A implantação distribuída não é suportada em sistemas Windows.

Escolha um modo de implantação

O ossimport suporta dois modos de implantação: autônomo e distribuído.

  • Modo autônomo: Para migrar menos de 30 TB de dados, recomendamos a implantação no modo autônomo. Implante o ossimport em qualquer máquina que tenha acesso aos dados que você deseja migrar e ao OSS.

  • Modo distribuído: Para migrar mais de 30 TB de dados, recomendamos a implantação no modo distribuído. Implante o ossimport em várias máquinas que tenham acesso aos dados que você deseja migrar e ao OSS.

    Nota

    Se o volume de dados a serem migrados for muito grande, economize tempo implantando o ossimport em instâncias do ECS na mesma região do seu bucket do OSS. Em seguida, conecte o servidor que armazena os dados de source a uma rede VPC da Alibaba Cloud usando uma linha dedicada. A migração de dados de várias instâncias do ECS para o OSS pela rede interna melhora significativamente a eficiência da migração.

    Também é possível usar o ossimport para transferir dados pela Internet. A velocidade de transferência depende da largura de banda do seu servidor local.

Modo autônomo

Os módulos Master, Worker, Tracker e Console são executados em uma única máquina e empacotados em ossimport2.jar. O sistema possui apenas um Worker.

A estrutura de arquivos no modo autônomo é a seguinte:

ossimport
├── bin
│ └── ossimport2.jar  # The JAR package that contains the Master, Worker, Tracker, and Console modules.
├── conf
│ ├── local_job.cfg   # The job configuration file for standalone mode.
│ └── sys.properties  # The configuration file for system parameters.
├── console.bat         # The command-line tool for Windows. You can use it to execute import tasks step by step.
├── console.sh          # The command-line tool for Linux. You can use it to execute import tasks step by step.
├── import.bat          # The one-click import script for Windows. It executes the data migration task configured in conf/local_job.cfg, including starting, migrating, verifying, and retrying the task.
├── import.sh           # The one-click import script for Linux. It executes the data migration task configured in conf/local_job.cfg, including starting, migrating, verifying, and retrying the task.
├── logs                # The log directory.
└── README.md           # The README file. We strongly recommend that you read this file before use.
  • Os arquivos import.bat e import.sh são scripts de importação com um clique. Execute-os diretamente após modificar o arquivo local_job.cfg.

  • Os arquivos console.bat e console.sh são ferramentas de linha de comando que permitem executar comandos passo a passo.

  • Execute scripts ou comandos no diretório ossimport, que é o mesmo diretório dos arquivos *.bat/*.sh.

Modo distribuído

O ossimport utiliza uma arquitetura distribuída baseada no modelo master-worker. A estrutura é a seguinte:

Master --------- Job --------- Console
    |
    |
   TaskTracker
    |_____________________
    |Task     | Task      | Task
    |         |           |
Worker      Worker      Worker

Parâmetro

Descrição

Master

Divide um job em tasks com base no tamanho dos dados e no número de arquivos. Configure o tamanho dos dados e o número de arquivos no arquivo sys.properties. As etapas a seguir descrevem como um job é dividido em tasks:

  1. O Master percorre o armazenamento local ou outro armazenamento em nuvem para obter uma lista completa de arquivos a serem migrados.

  2. O Master divide a lista completa de arquivos em tasks com base no tamanho dos dados e no número de arquivos. Cada task é responsável por migrar ou verificar uma parte dos arquivos.

Worker

  • Migra arquivos e verifica dados das tasks. Um worker extrai arquivos especificados da fonte de dados e faz o upload deles para o diretório especificado no OSS. A fonte de dados e o destino no OSS são definidos no arquivo job.cfg ou local_job.cfg.

  • A migração de dados pelo Worker suporta modelagem de tráfego e um número especificado de tasks simultâneas. Configure essas definições no arquivo sys.properties.

TaskTracker

Abreviado como Tracker. Distribui tasks e rastreia seus status.

Console

Interage com usuários, aceita comandos e exibe resultados. Suporta comandos de administração do sistema, como deploy, start e stop, além de comandos de gerenciamento de jobs, como submit, retry e clean.

Job

Uma task de migração de dados enviada por um usuário. Para o usuário, uma task corresponde a um arquivo de configuração job.cfg.

Task

Um job pode ser dividido em várias tasks com base no tamanho dos dados e no número de arquivos. Cada task migra uma parte dos arquivos. A menor unidade para dividir um job é um único arquivo. Um arquivo não é dividido em várias tasks.

No modo distribuído, é possível iniciar várias máquinas para migração de dados. Inicie apenas um Worker em cada máquina. As tasks são distribuídas uniformemente entre os Workers. Cada Worker pode executar múltiplas tasks.

A estrutura de arquivos no modo distribuído é a seguinte:

ossimport
├── bin
│ ├── console.jar     # The JAR package for the Console module.
│ ├── master.jar      # The JAR package for the Master module.
│ ├── tracker.jar     # The JAR package for the Tracker module.
│ └── worker.jar      # The JAR package for the Worker module.
├── conf
│ ├── job.cfg         # The job configuration file template.
│ ├── sys.properties  # The configuration file for system parameters.
│ └── workers         # The list of workers.
├── console.sh          # The command-line tool. Only Linux is currently supported.
├── logs                # The log directory.
└── README.md           # The README file. We strongly recommend that you read this file before use.

Arquivos de configuração

No modo autônomo, existem dois arquivos de configuração: sys.properties e local_job.cfg. No modo distribuído, há três arquivos de configuração: sys.properties, job.cfg e workers. Os itens de configuração em local_job.cfg e job.cfg são idênticos. Eles diferem apenas no nome. O arquivo workers é específico para o ambiente distribuído.

  • sys.properties: Parâmetros de execução do sistema

    Parâmetro

    Descrição

    Detalhes

    workingDir

    Diretório de trabalho

    O diretório onde o pacote da ferramenta foi descompactado. Não altere este parâmetro no modo autônomo. No modo distribuído, o diretório de trabalho deve ser o mesmo em cada máquina.

    workerUser

    Nome de usuário SSH da máquina worker

    • Se privateKeyFile estiver configurado, ele terá prioridade de uso.

    • Se privateKeyFile não estiver configurado, workerUser e workerPassword serão utilizados.

    • Não altere este parâmetro no modo autônomo.

    workerPassword

    Senha SSH da máquina worker

    Não altere este parâmetro no modo autônomo.

    privateKeyFile

    Caminho do arquivo de chave privada

    • Se um canal SSH já estiver estabelecido, especifique este parâmetro. Caso contrário, deixe-o vazio.

    • Se privateKeyFile estiver configurado, ele terá prioridade de uso.

    • Se privateKeyFile não estiver configurado, workerUser e workerPassword serão utilizados.

    • Não altere este parâmetro no modo autônomo.

    sshPort

    Porta SSH

    O valor padrão é 22. Não altere este valor a menos que seja necessário. Não modifique este parâmetro no modo autônomo.

    workerTaskThreadNum

    Número máximo de threads para um worker executar tasks

    • Este parâmetro depende da memória e da rede da máquina. O valor recomendado é 60.

    • É possível aumentar este valor para uma máquina física, por exemplo, para 150. Se a largura de banda da rede estiver totalmente utilizada, não aumente mais o valor.

    • Se a conexão de rede for ruim, reduza este valor para algo como 30. Isso ajuda a evitar timeouts de solicitação causados por contenção de rede.

    workerMaxThroughput(KB/s)

    Throughput máximo de tráfego para migração de dados em um worker

    Este valor pode ser usado para modelagem de tráfego. O valor padrão é 0, o que significa que não há modelagem de tráfego.

    dispatcherThreadNum

    Número de threads para o tracker despachar tasks e verificar status

    O valor padrão geralmente é suficiente. Não altere o valor padrão a menos que seja necessário.

    workerAbortWhenUncatchedException

    Define se uma task deve ser ignorada ou encerrada quando ocorrer um erro desconhecido

    Por padrão, a task é ignorada.

    workerRecordMd5

    Define se os metadados x-oss-meta-md5 devem ser usados para registrar o hash MD5 dos arquivos migrados no OSS. Por padrão, o hash MD5 não é registrado.

    Utilizado para validação MD5 de arquivos.

  • job.cfg: Configuração da task de migração de dados. Os itens de configuração em local_job.cfg e job.cfg são idênticos. Eles diferem apenas no nome.

    Parâmetro

    Descrição

    Detalhes

    jobName

    Nome da task. String.

    • Identificador exclusivo da task. O nome deve seguir a convenção de nomenclatura [a-zA-Z0-9_-]{4,128}. É possível enviar várias tasks com nomes diferentes.

    • Se você enviar uma task com o mesmo nome de uma task existente, uma mensagem indicará que a task já existe. Não é possível enviar uma task com o mesmo nome até que a task existente seja limpa.

    jobType

    Tipo da task. String.

    • O valor padrão é import.

    isIncremental

    Define se o modo de migração incremental deve ser ativado. Booleano.

    • O valor padrão é false.

    • Se definido como true, o sistema reexamina os dados incrementais no intervalo especificado por incrementalModeInterval (em segundos) e migra os dados incrementais para o OSS.

    incrementalModeInterval

    Intervalo de sincronização no modo incremental. Inteiro. Unidade: segundos.

    Este parâmetro é válido apenas quando isIncremental está definido como true. O intervalo mínimo configurável é de 900 segundos. Recomendamos não definir este valor como inferior a 3600 segundos. Isso evita solicitações excessivas e sobrecarga extra do sistema.

    importSince

    Migra dados modificados após este horário. Inteiro. Unidade: segundos.

    • Este horário é um timestamp UNIX, que representa o número de segundos decorridos desde 00:00:00 UTC em 1º de janeiro de 1970. Obtenha o timestamp executando o comando date +%s.

    • O valor padrão é 0, o que significa que todos os dados serão migrados.

    srcType

    Tipo da fonte de dados. String. Este parâmetro diferencia maiúsculas de minúsculas.

    Os seguintes tipos são suportados:

    • local: Migra dados de arquivos locais para o OSS. Para esta opção, especifique apenas srcPrefix. Não é necessário especificar srcAccessKey, srcSecretKey, srcDomain ou srcBucket.

    • oss: Migra dados de um bucket do OSS para outro.

    • qiniu: Migra dados do Qiniu Kodo para o OSS.

    • bos: Migra dados do Baidu BOS para o OSS.

    • ks3: Migra dados do Kingsoft KS3 para o OSS.

    • s3: Migra dados do Amazon S3 para o OSS.

    • youpai: Migra dados do UPYUN USS para o OSS.

    • http: Migra dados para o OSS a partir de uma lista fornecida de links HTTP ou HTTPS.

    • cos: Migra dados do Tencent Cloud COS para o OSS.

    • azure: Migra dados do Azure BLOB para o OSS.

    srcAccessKey

    AccessKey ID da source. String.

    • Se srcType estiver definido como oss, qiniu, baidu, ks3 ou s3, insira o AccessKey ID da fonte de dados.

    • Se srcType estiver definido como local ou http, não é necessário especificar este parâmetro.

    • Se srcType estiver definido como youpai ou azure, insira o nome de usuário (AccountName).

    srcSecretKey

    AccessKey secret da source. String.

    • Se srcType estiver definido como oss, qiniu, baidu, ks3 ou s3, insira o AccessKey secret da fonte de dados.

    • Se srcType estiver definido como local ou http, não é necessário especificar este parâmetro.

    • Se srcType estiver definido como youpai, insira a senha do operador.

    • Se srcType estiver definido como azure, insira a AccountKey.

    srcDomain

    Endpoint da source

    • Se srcType estiver definido como local ou http, não é necessário especificar este parâmetro.

    • Se srcType estiver definido como oss, insira o endpoint obtido no console. Não se trata de um nome de domínio de segundo nível que inclua um prefixo de bucket.

    • Se srcType estiver definido como qiniu, insira o endpoint do bucket correspondente obtido no console do Qiniu.

    • Se srcType estiver definido como bos, insira o endpoint do Baidu BOS, como http://bj.bcebos.com ou http://gz.bcebos.com.

    • Se srcType estiver definido como ks3, insira o endpoint do Kingsoft KS3, como http://kss.ksyun.com, http://ks3-cn-beijing.ksyun.com ou http://ks3-us-west-1.ksyun.coms.

    • Se srcType estiver definido como S3, insira o endpoint da região do Amazon S3.

    • Se srcType estiver definido como youpai, insira o endpoint do UPYUN. Por exemplo, use http://v0.api.upyun.com para determinar automaticamente a linha ideal, http://v1.api.upyun.com para a linha China Telecom ou China Netcom, http://v2.api.upyun.com para a linha China Unicom ou China Netcom, ou http://v3.api.upyun.com para a linha China Mobile ou China Tietong.

    • Se srcType estiver definido como cos, insira a região onde o bucket do Tencent Cloud está localizado. Por exemplo, a região South China é ap-guangzhou.

    • Se srcType estiver definido como azure, insira o valor EndpointSuffix da string de conexão do Azure Blob, como core.chinacloudapi.cn.

    srcBucket

    Nome do bucket ou contêiner de source

    • Se srcType estiver definido como local ou http, não é necessário especificar este parâmetro.

    • Se srcType estiver definido como azure, insira o nome do contêiner.

    • Para outros tipos de source, insira o nome do bucket.

    srcPrefix

    Prefixo dos objetos de source. String. Padrão: vazio.

    • Se srcType estiver definido como local, insira o diretório local. Forneça o caminho completo, use barras simples (/) como separadores e termine o caminho com uma barra simples (/). Apenas formatos como c:/example/ ou /data/example/ são suportados.

      Importante

      Caminhos como c:/example//, /data//example/ ou /data/example// são inválidos.

    • Se srcType estiver definido como oss, qiniu, bos, ks3, youpai ou s3, insira o prefixo dos objetos a serem sincronizados, excluindo o nome do bucket. Por exemplo, data/to/oss/.

    • Para sincronizar todos os arquivos, deixe srcPrefix vazio.

    destAccessKey

    AccessKey ID do destino. String.

    O AccessKey ID usado para acessar o service OSS. Para visualizá-lo, acesse o Alibaba Cloud Management Console.

    O AccessKey ID usado para acessar o service OSS. Para visualizá-lo, acesse o Alibaba Cloud Management Console.

    destSecretKey

    AccessKey secret do destino. String.

    O AccessKey secret usado para acessar o OSS. Para visualizá-lo, acesse o Alibaba Cloud Management Console.

    O AccessKey secret usado para acessar o OSS. Para visualizá-lo, acesse o Alibaba Cloud Management Console.

    destDomain

    Endpoint do destino. String.

    Obtenha-o no Alibaba Cloud Management Console. Não se trata de um nome de domínio de segundo nível que inclua um prefixo de bucket. Para obter uma lista de endpoints, consulte Domain Names.

    Obtenha-o no Alibaba Cloud Management Console. Não se trata de um nome de domínio de segundo nível que inclua um prefixo de bucket. Para obter uma lista de endpoints, consulte Domain Names.

    destBucket

    Bucket de destino. String.

    Nome do bucket do OSS. Não precisa terminar com uma barra (/).

    destPrefix

    Prefixo para objetos de destino. String. Padrão: vazio.

    • Prefixo para objetos de destino. Por padrão, este parâmetro está vazio e os objetos são colocados diretamente no bucket de destino.

    • Se desejar sincronizar dados para um diretório específico no OSS, termine o prefixo com uma barra (/), como data/in/oss/.

    • Observe que o OSS não suporta nomes de objetos que começam com uma barra (/). Portanto, não configure destPrefix para começar com uma barra (/).

    • Um arquivo local com o caminho srcPrefix+relativePath é migrado para o OSS com o caminho destDomain/destBucket/destPrefix +relativePath.

    • Um arquivo em nuvem com o caminho srcDomain/srcBucket/srcPrefix+relativePath é migrado para o OSS com o caminho destDomain/destBucket/destPrefix+relativePath.

    taskObjectCountLimit

    Número máximo de arquivos para cada task. Inteiro. Padrão: 10000.

    Este parâmetro afeta o grau de paralelismo na execução da task. Uma fórmula geral para este valor é: (Número total de arquivos) / (Número total de Workers) / (workerTaskThreadNum). O valor máximo é 50000. Se você não souber o número total de arquivos, use o valor padrão.

    taskObjectSizeLimit

    Tamanho máximo de dados para cada task. Inteiro. Unidade: bytes. Padrão: 1 GB.

    Este parâmetro afeta o grau de paralelismo na execução da task. Uma fórmula geral para este valor é: (Tamanho total dos dados) / (Número total de Workers) / (workerTaskThreadNum). Se você não souber o tamanho total dos dados, use o valor padrão.

    isSkipExistFile

    Define se arquivos existentes devem ser ignorados durante a migração de dados. Booleano.

    Se definido como true, o sistema determina se deve ignorar um arquivo com base em seu tamanho e LastModifiedTime. Se definido como false, ele sempre substitui os arquivos existentes no OSS. O valor padrão é false.

    scanThreadCount

    Número de threads para varredura simultânea de arquivos. Inteiro.

    • Valor padrão: 1

    • Valores válidos: 1 a 32

    Este parâmetro afeta a eficiência da varredura de arquivos. Não o altere a menos que tenha requisitos específicos.

    maxMultiThreadScanDepth

    Profundidade máxima de diretórios para varredura simultânea. Inteiro.

    • Valor padrão: 1

    • Valores válidos: 1 a 16

    • O valor padrão 1 significa varredura simultânea entre diretórios de nível superior.

    • Não altere este valor a menos que tenha requisitos específicos. Um valor excessivamente grande pode causar falha na task.

    appId

    ID do aplicativo para Tencent Cloud COS. Inteiro.

    Este parâmetro é válido apenas quando srcType está definido como cos.

    httpListFilePath

    Caminho absoluto do arquivo que contém uma lista de URLs HTTP. String.

    • Este parâmetro é válido apenas quando srcType está definido como http. Quando a source é uma lista de URLs HTTP, forneça o caminho absoluto para o arquivo que contém as URLs HTTP, como c:/example/http.list.

    • Os links HTTP neste arquivo devem estar em duas colunas, separadas por um ou mais espaços. As colunas representam o prefixo da URL de source e o caminho relativo de destino no OSS. Por exemplo, se o arquivo c:/example/http.list contiver:

      http://xxx.xxx.com/aa/  bb.jpg
          http://xxx.xxx.com/cc/  dd.jpg

      Se você especificar destPrefix como ee/, os arquivos migrados para o OSS terão os seguintes nomes:

      ee/bb.jpg
          ee/dd.jpg
  • workers: Específico para o modo distribuído. Insira um endereço IP por linha. Por exemplo:

    192.168.1.6
    192.168.1.7
    192.168.1.8
    • Na configuração acima, a primeira linha, 192.168.1.6, deve ser o master. Isso significa que o Master, o Worker e o TaskTracker serão iniciados em 192.168.1.6. O Console também deve ser executado nesta máquina.

    • Garanta que várias máquinas Worker tenham o mesmo nome de usuário, método de login e diretório de trabalho.

Exemplos de arquivos de configuração

A tabela a seguir fornece arquivos de configuração para tasks de migração de dados no modo distribuído. O arquivo de configuração para o modo autônomo chama-se local_job.cfg, e seus itens de configuração são iguais aos do modo distribuído.

Tipo de migração

Arquivo de configuração

Descrição

Migrar dados de um servidor local para o OSS

job.cfg

srcPrefix deve ser um caminho absoluto que termine com uma barra (/), como D:/work/oss/data/ ou /home/user/work/oss/data/.

Migrar dados do Qiniu Kodo para o OSS

job.cfg

srcPrefix e destPrefix podem estar vazios. Se não estiverem vazios, devem terminar com uma barra (/), como destPrefix=docs/.

Migrar dados do Baidu BOS para o OSS

job.cfg

srcPrefix e destPrefix podem estar vazios. Se não estiverem vazios, devem terminar com uma barra (/), como destPrefix=docs/.

Migrar dados do Amazon S3 para o OSS

job.cfg

Para obter mais informações, consulte S3 endpoints.

Migrar dados do UPYUN USS para o OSS

job.cfg

Defina srcAccessKey e srcSecretKey como a conta e a senha do operador.

Migrar dados do Tencent Cloud COS para o OSS

job.cfg

Defina srcDomain com base no requisito da versão V4, por exemplo, srcDomain=sh. srcPrefix pode estar vazio. Se não estiver vazio, deve começar e terminar com uma barra (/), como srcPrefix=/docs/.

Migrar do Azure Blob para o OSS

job.cfg

Defina srcAccessKey e srcSecretKey como a conta de armazenamento e a chave. Defina srcDomain como o EndpointSuffix na string de conexão, como core.chinacloudapi.cn.

Migrar dados do OSS para o OSS

job.cfg

Adequado para migração de dados entre regiões diferentes, entre classes de armazenamento diferentes ou entre prefixos diferentes. Recomendamos a implantação em uma instância do ECS e o uso de um endpoint interno para reduzir custos de tráfego.

Configurações avançadas

  • Limitação baseada em tempo

    Em sys.properties, workerMaxThroughput(KB/s) representa o limite superior de tráfego de um Worker. Se o seu negócio exigir modelagem de tráfego, como para limitação na source ou restrições de rede, defina este parâmetro. O valor deste parâmetro deve ser menor que o tráfego máximo de rede da máquina e deve ser avaliado com base nas necessidades do negócio. Após alterar o valor, reinicie o service para que a alteração tenha efeito.

    Em uma implantação distribuída, modifique o arquivo sys.properties no diretório $OSS_IMPORT_WORK_DIR/conf de cada Worker e, em seguida, reinicie o service.

    Para implementar limitação baseada em tempo, utilize o crontab para agendar modificações em sys.properties e reinicie o service para que as alterações tenham efeito.

  • Alterar simultaneidade de tasks

    • Em sys.properties, workerTaskThreadNum representa o número de tasks que um Worker pode executar simultaneamente. Se a conexão de rede for ruim e a simultaneidade for alta, muitos erros de timeout podem ocorrer. Nesse caso, altere este parâmetro para reduzir o nível de simultaneidade e reinicie o service.

    • Em sys.properties, workerMaxThroughput(KB/s) representa o limite superior de tráfego de um Worker. Se o seu negócio exigir modelagem de tráfego, como para limitação na source ou restrições de rede, defina este parâmetro. O valor deste parâmetro deve ser menor que o tráfego máximo de rede da máquina e deve ser avaliado com base nas necessidades do negócio.

    • Em job.cfg, taskObjectCountLimit é o número máximo de arquivos por task, com padrão de 10000. Este parâmetro afeta o número de tasks. Um número muito pequeno não consegue atingir uma simultaneidade eficaz.

    • Em job.cfg, taskObjectSizeLimit é o tamanho máximo de dados por task, com padrão de 1 GB. Este parâmetro afeta o número de tasks. Um número muito pequeno não consegue atingir uma simultaneidade eficaz.

      Importante
      • Configure todos os parâmetros antes de iniciar a task de migração.

      • Após alterar parâmetros em sys.properties, reinicie o servidor de migração para que as alterações tenham efeito.

      • Depois que uma task job.cfg é enviada, seus parâmetros de configuração não podem ser alterados.

  • Verificar dados sem migração

    O ossimport suporta a verificação de dados sem migrá-los. Para isso, defina o item de configuração jobType no arquivo job.cfg ou local_job.cfg como audit em vez de import. As outras configurações são as mesmas da migração de dados.

  • Modo de migração de dados incrementais

    No modo de migração de dados incrementais, a task primeiro executa uma migração completa. Em seguida, realiza automaticamente migrações de dados incrementais no intervalo especificado. A migração completa inicial começa imediatamente após o envio da task. As migrações incrementais subsequentes são executadas uma vez por ciclo. Este modo é adequado para backup e sincronização de dados.

    Existem dois itens de configuração para o modo incremental:

    • Em job.cfg, isIncremental especifica se o modo de migração incremental deve ser ativado. true ativa o modo incremental e false o desativa. O padrão é desativado.

    • Em job.cfg, incrementalModeInterval especifica o intervalo de sincronização no modo incremental, que é o período entre as migrações de dados incrementais, em segundos. Isso é válido apenas quando isIncremental=true. O valor mínimo configurável é 900 seconds. Recomendamos não definir este valor como inferior a 3600 segundos. Isso evita solicitações excessivas e sobrecarga extra do sistema.

  • Especificar condições de filtro para migração

    As condições de filtro permitem migrar apenas arquivos que atendem a critérios específicos. O ossimport suporta filtragem por prefixo e hora da última modificação:

    • Em job.cfg, srcPrefix é usado para especificar o prefixo dos arquivos a serem migrados. Está vazio por padrão.

      • Se srcType=local, insira o diretório local. Forneça o caminho completo, use barras simples (/) como separadores e termine o caminho com uma barra simples (/), como c:/example/ ou /data/example/.

      • Se srcType for oss, qiniu, bos, ks3, youpai ou s3, este é o prefixo dos objetos a serem sincronizados, excluindo o nome do bucket. Por exemplo, data/to/oss/. Para migrar todos os arquivos, defina srcPrefix como vazio.

    • Em job.cfg, importSince é usado para especificar a hora da última modificação dos arquivos a serem migrados, em segundos. importSince é um timestamp UNIX, que representa o número de segundos decorridos desde 00:00:00 UTC em 1º de janeiro de 1970. Obtenha o timestamp executando o comando date +%s. O valor padrão é 0, o que significa que todos os dados serão migrados. No modo incremental, este parâmetro se aplica apenas à primeira migração completa. No modo não incremental, aplica-se a toda a task de migração.

      • Se o LastModified Time de um arquivo for anterior a importSince, o arquivo não será migrado.

      • Se o LastModified Time de um arquivo for posterior a importSince, o arquivo será migrado.