CN106789324B - 基于MapReduce的FTP分布式采集方法 - Google Patents

基于MapReduce的FTP分布式采集方法 Download PDF

Info

Publication number
CN106789324B
CN106789324B CN201710012512.3A CN201710012512A CN106789324B CN 106789324 B CN106789324 B CN 106789324B CN 201710012512 A CN201710012512 A CN 201710012512A CN 106789324 B CN106789324 B CN 106789324B
Authority
CN
China
Prior art keywords
ftp
mapreduce
log
hdfs
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710012512.3A
Other languages
English (en)
Other versions
CN106789324A (zh
Inventor
程永新
谢涛
廖德辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Qingwei Software Co ltd
Original Assignee
Shanghai Qingwei Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Qingwei Software Co ltd filed Critical Shanghai Qingwei Software Co ltd
Priority to CN201710012512.3A priority Critical patent/CN106789324B/zh
Publication of CN106789324A publication Critical patent/CN106789324A/zh
Application granted granted Critical
Publication of CN106789324B publication Critical patent/CN106789324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于MapReduce的FTP分布式采集方法,包括如下步骤:S1)预先配置好多台FTP服务器信息和日志文件路径,并将配置信息存储到Hadoop的HDFS中作为MapReduce的数据输入;S2)设置MapReduce的输入目录和Reduce任务数;S3)利用MapReduce将不同的日志记录分发到不同的HDFS集群节点进行处理;S4)每个HDFS集群节点读取到FTP服务器信息之后,使用账号密码连接FTP服务器,展开预先配置好的日志文件路径,通过IO流将文件写入到HDFS中,实现多个HDFS集群节点同时采集多台FTP服务器的日志信息。本发明能够提升采集速度并且简化维护工作。

Description

基于MapReduce的FTP分布式采集方法
技术领域
本发明涉及一种远程数据采集方法,尤其涉及一种基于MapReduce的FTP分布式采集方法。
背景技术
目前常用的FTP下载远程服务器上面的数据有如下几种方式:
1)单线程,使用Apache FTP下载远程服务器的数据;
2)多线程,使用Apache FTP,启用多个线程,多FTP Client下载远程服务器的数据;
3)部署多个服务,使用Apache FTP,启动多个线程,多FTP Client下载远程服务器的数据。
现有技术的主要缺点如下:
1)使用Apache FTP单线程下载远程服务器的数据时,采集速度明显不足,带宽和IO速率都不能发挥出比较高的性能,所以采集速度明显不高。
2)使用Apache FTP多线程下载远程服务器的数据时,采集速度明显提升,带宽和IO速率等都发挥出高性能,采集速度受限于磁盘IO的性能,带宽等因素。
3)部署多个服务,使用Apache FTP多线程下载远程服务器的数据,多个节点同时采集,采集速度应该达到最优。但是要在多台服务部署采集应用,维护起来比较麻烦。
由上可见,现有的采集远程服务器上的数据,在大数据的环境下,每天几十G或者几个T的数据生成速度,没有一个理想的采集速度,肯定是满足不了需求的。传统的单线程采集慢,部署多应用多线程采集,维护比较麻烦。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce的一个经典实例是Hadoop,用于处理大型分布式数据库。因此,有必要提供一种基于MapReduce的FTP分布式采集方法。
发明内容
本发明所要解决的技术问题是提供一种基于MapReduce的FTP分布式采集方法,,只需要启动一个采集服务即可实现FTP多线程采集,能够提升采集速度并且简化维护工作。
本发明为解决上述技术问题而采用的技术方案是提供一种基于MapReduce的FTP分布式采集方法,包括如下步骤:S1)预先配置好多台FTP服务器信息和日志文件路径,并将配置信息存储到Hadoop的HDFS中作为MapReduce的数据输入;S2)设置MapReduce的输入目录和Reduce任务数;S3)利用MapReduce将不同的日志记录分发到不同的HDFS集群节点进行处理;S4)每个HDFS集群节点读取到FTP服务器信息之后,使用账号密码连接FTP服务器,展开预先配置好的日志文件路径,通过IO流将文件写入到HDFS中,实现多个HDFS集群节点同时采集多台FTP服务器的日志信息。
上述的基于MapReduce的FTP分布式采集方法,其中,所述步骤S1)将配置信息编写成文本信息,每一行对应一台FTP服务器,每一行文本包含FTP服务器IP、端口、账号、密码、日志路径和日志编号,所述日志编号按行依次采用1、2、3、…n等顺序排列,n为自然数。
上述的基于MapReduce的FTP分布式采集方法,其中,所述步骤S2)指定FTP服务器的台数为Reduce任务数,所述步骤S3)先将HDFS集群节点数和整型数的上限值进行与运算,再利用日志编号对Reduce任务数取余,然后采用Hadoop中的分区类HashPartitioner将不同的日志记录分发到不同的HDFS集群节点。
上述的基于MapReduce的FTP分布式采集方法,其中,所述步骤S4)中的每个HDFS集群节点采用Apache FTP客户端连接到FTP服务器。
本发明对比现有技术有如下的有益效果:本发明提供的基于MapReduce的FTP分布式采集方法,利用MapReduce的分布式的工作原理,结合Apache FTP多线程采集,采集速度跟多应用多线程差不多,但是只需要启动一个采集服务即可,从而提升了速度并且也简化了维护工作。
附图说明
图1为本发明基于MapReduce的FTP分布式采集流程图;
图2为本发明基于MapReduce的FTP分布式采集系统架构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明基于MapReduce的FTP分布式采集流程图。
请参见图1,本发明提供的基于MapReduce的FTP分布式采集方法,包括如下步骤:
S1)预先配置好多台FTP服务器信息和日志文件路径,并将配置信息存储到Hadoop的HDFS中作为MapReduce的数据输入;
S2)设置MapReduce的输入目录和Reduce任务数;
S3)利用MapReduce将不同的日志记录分发到不同的HDFS集群节点进行处理;
S4)每个HDFS集群节点读取到FTP服务器信息之后,使用账号密码连接FTP服务器,展开预先配置好的日志文件路径,通过IO流将文件写入到HDFS中,从而实现多个HDFS集群节点同时采集多台FTP服务器的日志信息。
本发明在基于Hadoop的MapReduce分布式处理架构之上引入Apache FTP;本发明可以跟任意Hadoop版本中的MapReduce整合,利用分布式计算框架的原理。将采集任务分发到集群上的每一台机器上进行采集。这样每台机器的带宽,磁盘IO性能都能得到充分利用。本发明采集性能较高,只需要启动一个采集服务,维护容易,扩展性强,适用跨度广泛,实用性强,没有版本限制,可以无缝隙集成到目前任何版本的Hadoop。
本发明的MapReduce结合Apache FTP采集远程服务的整体架构如图2所示,整个采集大致分为如下四个步骤:(1)准备FTP服务器和日志相关信息;(2)编写MapReduce程序;(3)继承Partitioner;4)整合Apache FTP采集日志。
启动服务之后,首先要读取FTP服务器的账号密码和日志存放路径等相关信息,因为本发明是将Apache FTP整合到Hadoop的MapReduce分布式计算框架中的,所以配置的FTP服务器信息就可以编写成文本信息,每一行对应一台FTP服务器,放到Hadoop的HDFS中存储,这样就可以作为MapReduce的数据输入
Partitioner是MapReduce的一个重要组件,它的作用是可以将不同的日志记录分发到不同的reduce中处理;使用者通常会指定Reduce任务和Reduce任务输出文件的数量(R)。用户在中间key上使用分区函数来对数据进行分区,之后在输入到后续任务执行进程。一个默认的分区函数式使用hash方法(比如常见的:hash(key)mod R)进行分区。hash方法能够产生非常平衡的分区,鉴于此,Hadoop中自带了一个默认的分区类HashPartitioner,它继承了Partitioner类,提供了一个getPartition的方法,定义如下:
由上可见,HashPartitoner通过(key.hashCode()&Integer.MAX_VALUE)%numReduceTasks,将key均匀分布在Reduce Tasks上。例如:如果Key为Text的话,Text的hashcode方法跟String的基本一致,都是采用的Horner公式计算,得到一个int整数。但是,如果string太大的话这个int整数值可能会溢出变成负数,所以和整数的上限值Integer.MAX_VALUE(即0111111111111111)进行与运算,然后再对reduce任务个数取余,这样就可以让key均匀分布在reduce上。
了解了Partitioner的作用之后,继续后面的处理。假设现在有3台FTP服务器的日志需要采集,集群大小为10个节点。那么本发明可以设置Reduce任务数为3job.setNumReduceTasks(3),节点资源是足够的;每一行的FTP服务器信息,包含日志路径,还有日志编号。本发明巧妙地设置编号为1、2、3等顺序排列,利用日志编号对reduce数取余数。这样每一行的FTP服务器信息就会均匀的分发到不同节点上面处理,达到了分布式处理的效果。
MapReduce读取到FTP服务器信息之后,使用账号密码连接FTP服务器,展开预先配置好的日志文件路径,通过IO流将文件写入到HDFS中,到此整个过程便实现了多个节点同时采集多台服务器的日志信息,大大提供了采集性能。下面给出每个主要步骤的详细逻辑。
1、准备FTP服务器和日志相关信息
假设现在要采集三台服务器的日志数据,编写文本文件ftp_info.txt,上传到HDFS上,作为MapReduce的输入数据,基本信息如下:
2、编写MapReduce程序
a)设置MapReduce输入目录和reduce任务数
FileInputFormat.addInputPath(job,new Path("/ftp_info.txt"));
假设想利用3台机器去采集,则设置reduceNum为3
job.setNumReduceTasks(3);
b)map阶段,不做任何数据处理,直接输出
3、继承Partitioner
partitioner阶段,也是该技术的核心,将不同编号的日志,分发到不同集群节点去执行
4、整合Apache FTP采集日志
在reduce阶段,可以得到每一行的FTP服务器信息,并通过Apache FTP连接到每一台服务器,将日志采集到HDFS集群上
采集日志就是collectLog方法就是自己做的一些业务处理了,大概如下:1)通过帐号、密码信息,连接到ftp;2)展开日志路径下所有日志;3)做些日志过滤等业务处理;4)打开文件的输入输出流,将文件下载到HDFS上。
本发明利用Hadoop MapReduce分布式的原理,整合Apache FTP采集数据,可配置的方式任意配置需要采集的FTP服务器的日志,兼容0.2x–2.7(目前最高版本)。具体优点如下:1)插件式依附在Hadoop的MapReduce中,是可以通过简单配置文本的方式实现FTP服务器上的日志采集;2)与Hadoop原有的接口完全兼容,做到架构依赖低耦合。3)整合到MapReduce中的,利用MapReduce的分布式计算原理,可以将采集任务分发到不同的节点上进行采集,大大提升了采集性能;4)适用跨度广泛,实用性强,没有版本限制,可以无缝隙集成到目前任何版本的Hadoop;5)植入非常简单轻松,采用配置文件模式,利用Java生产环境中原生态库集成;6)维护容易,扩展性强。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (2)

1.一种基于MapReduce的FTP分布式采集方法,其特征在于,包括如下步骤:
S1) 预先配置好多台FTP服务器信息和日志文件路径,并将配置信息存储到Hadoop的HDFS中作为MapReduce的数据输入;
S2) 设置MapReduce的输入目录和Reduce任务数;
S3) 利用MapReduce将不同的日志记录分发到不同的HDFS集群节点进行处理;
S4) 每个HDFS集群节点读取到FTP 服务器信息之后,使用账号密码连接FTP 服务器,展开预先配置好的日志文件路径,通过IO流将文件写入到HDFS中,实现多个HDFS集群节点同时采集多台FTP服务器的日志信息;
所述步骤S1)将配置信息编写成文本信息,每一行对应一台FTP服务器,每一行文本包含FTP服务器IP、端口、账号、密码、日志路径和日志编号,所述日志编号按行依次采用1、2、3、…n等顺序排列,n为自然数;
所述步骤S2)指定FTP服务器的台数为Reduce任务数,所述步骤S3)先将HDFS集群节点数和整型数的上限值进行与运算,再利用日志编号对Reduce任务数取余,然后采用Hadoop中的分区类HashPartitioner将不同的日志记录分发到不同的HDFS集群节点。
2.如权利要求1所述的基于MapReduce的FTP分布式采集方法,其特征在于,所述步骤S4) 中的每个HDFS集群节点采用Apache FTP客户端连接到FTP 服务器。
CN201710012512.3A 2017-01-09 2017-01-09 基于MapReduce的FTP分布式采集方法 Active CN106789324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710012512.3A CN106789324B (zh) 2017-01-09 2017-01-09 基于MapReduce的FTP分布式采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710012512.3A CN106789324B (zh) 2017-01-09 2017-01-09 基于MapReduce的FTP分布式采集方法

Publications (2)

Publication Number Publication Date
CN106789324A CN106789324A (zh) 2017-05-31
CN106789324B true CN106789324B (zh) 2024-03-22

Family

ID=58950326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710012512.3A Active CN106789324B (zh) 2017-01-09 2017-01-09 基于MapReduce的FTP分布式采集方法

Country Status (1)

Country Link
CN (1) CN106789324B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107347093B (zh) * 2017-07-03 2021-05-25 北京京东尚科信息技术有限公司 用于分布式服务器系统的配置方法和装置
CN108023953B (zh) * 2017-12-04 2021-07-09 北京星选科技有限公司 Ftp服务的高可用实现方法和装置
CN108275759A (zh) * 2018-01-29 2018-07-13 深圳多诺信息科技有限公司 基于神经网络的水处理方法及系统
CN108363778B (zh) * 2018-02-09 2020-11-24 上海交通大学 一种基于信息中心网络的大数据收集分析系统及方法
CN110728317A (zh) * 2019-09-30 2020-01-24 腾讯科技(深圳)有限公司 决策树模型的训练方法、系统、存储介质及预测方法
CN113419848A (zh) * 2021-05-28 2021-09-21 济南浪潮数据技术有限公司 一种日志收集任务处理的方法、装置、设备及可读介质
CN113687984A (zh) * 2021-08-24 2021-11-23 杭州迪普科技股份有限公司 Vpn分支设备的备份方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312406A (zh) * 2007-05-25 2008-11-26 中兴通讯股份有限公司 一种分批上载多网元日志的方法
CN103116525A (zh) * 2013-01-24 2013-05-22 贺海武 一种Internet环境下MapReduce计算方法
CN103166785A (zh) * 2011-12-15 2013-06-19 同程网络科技股份有限公司 基于Hadoop的分布式日志分析系统
CN105357280A (zh) * 2015-10-19 2016-02-24 福建新大陆软件工程有限公司 一种基于hdfs的文件溯源ftp系统
CN105827702A (zh) * 2016-03-16 2016-08-03 上海轻维软件有限公司 一种基于分布式消息队列的数据ftp采集方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949175B2 (en) * 2012-04-17 2015-02-03 Turn Inc. Meta-data driven data ingestion using MapReduce framework

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312406A (zh) * 2007-05-25 2008-11-26 中兴通讯股份有限公司 一种分批上载多网元日志的方法
CN103166785A (zh) * 2011-12-15 2013-06-19 同程网络科技股份有限公司 基于Hadoop的分布式日志分析系统
CN103116525A (zh) * 2013-01-24 2013-05-22 贺海武 一种Internet环境下MapReduce计算方法
CN105357280A (zh) * 2015-10-19 2016-02-24 福建新大陆软件工程有限公司 一种基于hdfs的文件溯源ftp系统
CN105827702A (zh) * 2016-03-16 2016-08-03 上海轻维软件有限公司 一种基于分布式消息队列的数据ftp采集方法

Also Published As

Publication number Publication date
CN106789324A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106789324B (zh) 基于MapReduce的FTP分布式采集方法
US11343200B2 (en) System and method for supporting multi-tenancy in an application server, cloud, or other environment
JP6816136B2 (ja) 多様なランタイム環境でモデルと対話してモデルを実行するための統一インターフェイス仕様
US20170277556A1 (en) Distribution system, computer, and arrangement method for virtual machine
US9323619B2 (en) Deploying parallel data integration applications to distributed computing environments
US20110296000A1 (en) Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
Loughran et al. Dynamic cloud deployment of a mapreduce architecture
CN103701633A (zh) 对分布式搜索SolrCloud进行可视化集群应用搭建和维护的系统
Saito et al. DevOps with Kubernetes: accelerating software delivery with container orchestrators
CN115827008B (zh) 一种基于云原生平台Kubernetes的云原生大数据组件管理系统
CN108200070A (zh) 一种生成榜单的方法及装置
Qiao et al. Gobblin: Unifying data ingestion for Hadoop
Dorier et al. Methodology for the rapid development of scalable HPC data services
Ghit et al. Resource management for dynamic mapreduce clusters in multicluster systems
Nurain et al. An in-depth study of map reduce in cloud environment
US10726017B2 (en) Limiting tuple creation at the tuple level
US20210182284A1 (en) System and method for data ingestion and workflow generation
US11190565B2 (en) Operator to processing element assignment in an active stream processing job
Mehta NoSQL databases in Kubernetes
Ghit et al. V for vicissitude: The challenge of scaling complex big data workflows
Singh Survey of NoSQL Database Engines for Big Data
Shao About the design changes required for enabling ECM systems to exploit cloud technology
US11520781B2 (en) Efficient bulk loading multiple rows or partitions for a single target table
US9881098B2 (en) Configuration resolution for transitive dependencies
Martella et al. Giraph architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant