Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ftp 传输大量小文件集_Ftp_Apache Flink_Apache Nifi_File Transfer_Data Stream - Fatal编程技术网

Ftp 传输大量小文件集

Ftp 传输大量小文件集,ftp,apache-flink,apache-nifi,file-transfer,data-stream,Ftp,Apache Flink,Apache Nifi,File Transfer,Data Stream,当数据在MB甚至GB范围内时,通常的数据传输方法(scp、http和ftp实用程序,如curl或wget)可以正常工作,但当您有非常大的小文件集合(例如10KB)时,传输速度将非常慢,而且根本不使用带宽 有两个服务器(S1、S2),当S1中接收到一个文件时,应立即将其发送给S2 你有没有想过使用一些DSP工具,例如ApacheFlink或NIFI?我没有使用过ApacheFlink,但是 使用NiFi这个用例相当简单(只需拖放并配置3个处理器) 流量: 1.ListFile //list fil

当数据在MB甚至GB范围内时,通常的数据传输方法(scp、http和ftp实用程序,如curl或wget)可以正常工作,但当您有非常大的小文件集合(例如10KB)时,传输速度将非常慢,而且根本不使用带宽

有两个服务器(S1、S2),当S1中接收到一个文件时,应立即将其发送给S2


你有没有想过使用一些DSP工具,例如ApacheFlink或NIFI?

我没有使用过ApacheFlink,但是 使用NiFi这个用例相当简单(只需拖放并配置3个处理器)

流量:

1.ListFile //list files in S1 server
    --> Success Connection (Load Balance Strategy (or) Remote Processor Group)
2.FetchFile //fetch the file from S1 Server
    --> Success Connection
3.PutFile //send the file to S2 server
  • 我们将一直运行
    ListFile/liststp..etc
    处理器,以递增方式列出目录中的文件

  • 一旦我们列出了文件,我们就可以进行
    负载平衡,并跨集群中的所有节点分发
    工作

  • 文件的实际提取将由
    FetchFile
    处理器根据与流文件关联的属性动态完成

  • 使用
    FetchFile
    处理器的
    success
    连接,使用
    PutFile/putstp..etc
    处理器将文件传输到S2服务器


请参阅链接以了解上述流的更多详细信息/用法。

我没有使用ApacheFlink
,但是 使用NiFi这个用例相当简单(只需拖放并配置3个处理器)

流量:

1.ListFile //list files in S1 server
    --> Success Connection (Load Balance Strategy (or) Remote Processor Group)
2.FetchFile //fetch the file from S1 Server
    --> Success Connection
3.PutFile //send the file to S2 server
  • 我们将一直运行
    ListFile/liststp..etc
    处理器,以递增方式列出目录中的文件

  • 一旦我们列出了文件,我们就可以进行
    负载平衡,并跨集群中的所有节点分发
    工作

  • 文件的实际提取将由
    FetchFile
    处理器根据与流文件关联的属性动态完成

  • 使用
    FetchFile
    处理器的
    success
    连接,使用
    PutFile/putstp..etc
    处理器将文件传输到S2服务器


有关上述流程的更多详细信息/用法,请参阅链接。

您可以使用Flink连续复制文件,是的-尽管这不是我通常看到的用例,因为您所做的只是移动字节,而不是处理数据(这是Flink最擅长的)

要使用Flink实现这一点,您需要设置一个连续监视S3源目录并向任何新文件发送路径的。然后您可能会使用异步复制将文件从当前位置异步复制到新位置


--Ken

您可以使用Flink连续复制文件,是的-尽管这不是我通常看到的用例,因为您所做的只是移动字节,而不是处理数据(这是Flink做得最好的地方)

要使用Flink实现这一点,您需要设置一个连续监视S3源目录并向任何新文件发送路径的。然后您可能会使用异步复制将文件从当前位置异步复制到新位置


--Ken

我怀疑我遗漏了您问题的某些方面,但通常当您有许多小文件时,您可以将它们组合在一起以避免“每个文件”的开销,或者运行多个,并行流使用可用带宽。我怀疑您的问题中有一些方面我不知道,但通常当您有许多小文件时,您可以将它们组合在一起以避免“每个文件”的开销,或者运行多个并行流以使用可用带宽。