基于Hadoop的大数据处理平台设计与实现

来源:软件设计师 发布时间:2023-01-26 点击:

张黎平,段淑萍,俞占仓

(甘肃机电职业技术学院,甘肃天水,741000)

Hadoop属于一个开源、可靠稳定、可扩展、低成本的分布式计算存储系统,主要通过Apache基金会开发的分布式系统基本架构。Hadoop允许采用简单的编程模型跨计算机群分布式处理大规模数据集,同时能够为应用提供安全稳定性和数据移动,保证共享存储和分析系统的可靠性,主要功能包含文件系统HDFS、MapReduce软件架构[1]。HDFS提供高吞吐量的数据访问,在大型数据集上具有良好的适应性,同时MapReduce在大型数据集上能够有效并行运算,提供良好的数据分析支持;
HDFS能够有效提供存储支持。

Hadoop提供数据概要、查询和分析数据仓库基本架构的Apache Hive。Hive定义了简单的类SQL查询语言,简称HQL,支持用户通过其查询数据,同时对Hadoo文件系统中储存的数据进行直接适用,借助解释器将HQL语句直接转变成MapReduce作业上传到Hadoop集群中,Hadoop能够针对作业执行的全流程进行监控管理,之后向用户反馈作业执行结果。Hive最优应用场合是大数据集的批处理作业。另外,Apache基于Hadoop组织开发的HBase数据查询系统,主要目标是处理和存储大规模数据,同时针对大规模数据提供实时的读写访问,属于一种高性能、可伸缩的分布式存储系统,呈现出较强的负载均衡管控和容错性能。

2.1 设计需求

(1)功能性需求分析

①数据采集模块设计要保证其鲁棒性,减少其需要修改的代码,实现数据源、目录、用户名和密码等设计成可配参数,同时爬取的数据传输通常是利用T+1的方式,当需要传送的数据量保持30-50G/天,记录数在千万到亿之间,这是每天爬取的全部业务数据总和,保持业务数大约10个/天,当前总业务大约有39个,包含每天的更新和一周的更新,需要将其分配在相对应的日期进行处理。

②数据处理、存储模块。数据处理模块需要完成数据清洗和加工过程,数据源从互联网上搜集的数据,呈现出参差不齐的特点,需要通过繁杂的清洗过程才能应用,保持数据处理加工效率,需要做到以下几点:

A.高效处理亿级数据;

B.减少数据清洗代码开发成本,代码量,便于维护,具备复用性;

C.业务数据不断增加,综合考虑整个平台系统能够迅速添加新业务流程,具备较强的扩展性,呈现出较高效率。

③数据同步模块设计过程中能够实现数据同步过程,将处理完成的数据同步到关系形数据库中,便于对外实时提供查询服务,呈现出良好的数据库支持,支持持市场上全部主流数据库,更加符合业务需求。

④系统调度模块,主要针对以上几个模块整个FTL过程进行自动化,防止程序员重复工作,提高工作质效,避免手工启动任务出现问题,同时保证系统持续自动化运行,降低运维成本,能够在数据处理产生错误的情况下以邮件的形式发出警报。

(2)非功能性需求分析

①适用性,基于hadoop大数据处理平台设计过程中需要增强全处理流程的自动化,保持其全天持续自动化运行,不需要对现有数据流程进行管理,同时需要考虑将来业务需求增加问题,确保其能够迅速开发部署。

②使用性能。该平台设计进行数据ETL过程应用的时间控制在1h之内,实现数据迅速同步,对外提供服务。

③易用性。该平台全流程的部署情况可以通过web界面全面展现,明确每个流程,数据处理流程报错的情况下能够迅速定位错误点,找到错误原因[2]。因此,设计者在实际操作中具有合理的注释,确保其他开发设计人员接手能够迅速掌握项目。

2.2 系统设计

(1)数据采集模块系统设计。该模块的数据源主要是爬虫集群Master节点上的文本文件,主要设计目标将其传送到hadoop集群上。Flume是良好的大量文件同步工具,具有可靠性、丰富采集格式、高吞吐量、松耦合性,同时支持数据直接同步到HDFS的特点,更加符合该平台系统设计要求。该模块中设计双层Flume agent结构,首层agent能够从爬虫集群上的多个监控目录中采数据据,传送到二次agent,之后将数据传送到HDFS上。

(2)数据处理、存储模块系统设计。该模块具有一定的功能性和非功能性需求,系统设计过程中选择hadoop大数据框架当作平台的存储、计算系统;
选择Hive清洗加工数据,提高大型数据集处理的有效性。关系形数据库中的数据存储通常利星星型、雪花模型,能够有效降低数据冗余程度,应用两个模型的数据库进行查询的过程中关联多个表获得相应结果[3]。该数据库中的主键为关键件,实行关联作业时才能优化算法,同时能够针对主键字创建索引,关联操作的查询性能影响不大。但是,Hive中没有主键,索引支持较差,关联操作大大降低查询性能,需要设计者针对其进行数据模型创建尽可能地的不采用星型、雪花模型,利用一个业务数据需要的信息全部存储在相同表中,在一定程度上产生数据冗余,但是能够有效提高Hive中的查询性能。

(3)数据同步模块系统设计。该模块的源数据是HDFS,目标是关系型数据库Posrgre SQL,业务数据规模增大时,企业可能会采用其他数据库,要求该模块能够有效支市场上主流关系型数据库,可以选择Sqoop当作数据同步工具,获得较高工作效率,呈现出较强的适用性。

(4)系统调度模块系统设计。该模块需要计划调度大数据处理流程,在出现错误时以发送邮件的方式提醒,同时有助于开发设计人员迅速定位错误位置,找到相关原因,采用针对性措施进行妥善处理和修复。本设计中选择Oozie当作计划调度工具,能够支持多项任务调度,同时包括大数据处理平台全部流程的技术,支持失败工作流,及时从任何节点重新运转,有助于修复工资,最大程度地降低失败产生的影响。另外,设计人员结合该平台非功能性需求,增强整个数据采集、处理和存储等全流程的可视化,便于使用和运维,可以选择HUE+Oozie高效完成系统调度工作。HUE能够支持图形化界面,以拖拉节点的方式创建Oozie工作流,同时实现增加、删除和修改的功能,在实际操作中迅速找到Oozie工作流的任意节点日志,便于系统管理和开发设计人员的调试和运维。

3.1 平台创建

(1)Apache Hadoop,是当前被广泛运用的版本,呈现出代码开源、免费应用、活跃社区、更新速度快、大量显示文档等优势,但是在实际运用过程中具有版本管理复杂混乱、集群部署和安装、运维繁杂、生态环境复杂等缺陷。因此,hadoop第三方发行版本对其进行相应的优化和完善,如Cloudera的CDH运用范围较广,效果较好,版本管理清晰,具有较强的安全稳定性和兼容性,提供相应的集群部署、安装和配置工具,提高工作质效,同时便于维护。因此,该大数据处理平台创建中选择Cloudera的CDH5.9.0版本,稳定性较强。

(2)合理配置服务器环境。该平台创建过程中设计ip地址网关地址子网掩码等,保持静态地址,设置命令:vim/etc/sysconfig/network-scirpts/ifcfg-eml

设计主机名,命令为vim/etc/sysconfig/network

配置和修改hosts文件,配置集群中主机名和ip对应关系,命令:vim/etc/hosts配置ssh免密码登录,命令为cd/root/ssh ssh-keygen-trsa ssh-cppy-id mujinkeji2

配置时间同步,从主节点配置服务器端:vim/etc/ntp/conf

同时#让190.168.100.0/24网段上机器能和被本机实现时间同步,

命令为:restrict 192.168.100.0mask255.255.255.0.nomodify notrap

安装MySQL rpm-ivh MySQL-server-5.6.36-1.e17.x86-64.rpm

rpm-ivh MySQL-server-5.6.36-1.e17.x86-64.rpm

配置jdk 解压安装包:tar-xzvf jdk-8v102-linvxx64.tar.gz-C/opt。

(3)集节点电配置。当前企业提供相关服务器进行集群,正式创建集群之前,需要设计者明确不同节点上需要部署的全部逐渐,避免节点上组件分布不合理对集群的安全可靠性和使用性能产生不良影响。设计人员结合集群中多个组件的特征、性能要求,未来能否成为系统瓶颈,同时在集群中扮演的相关角色的关键程度等多个方面,科合理地配置不同节点上需要部署的相关组件,同时明确不同节点上服务器性能需求。

3.2 实现

该平台的数据采集模块应用flum监控爬虫集群上相对应的业务数据存储,在监控目录有数据的情况下能够及时进行同步。在这个过程中需要明确采集数据的实际情况,数据存放在非Hadoop集群服务器的机器上,业务数据保持存储在相同目录中,数据需要传送到HDFS目录上。数据处理模块主要利用Hive实现,同时编写Hive QL进行开发,数据存储模块需要借助Hive实现,将数据存放在Hive表中。

数据同步模块主要通过Sqoop进行实现,数据同步涉及两个位置:数据位置,在该大数据处理平台的原数据位置在HDFS上的一个目录下,需要将该目录的全部文件的数据,目录命名规则:user/spqoop/export/业务数据名称/如虚假号码业务目录:user/spqoop/export/fraud-phone/目标位置,在该大数据处理平台中的目标位置为PostreSQL数据库中的表,表明主要是业务数据名称,进而明确Sqoop的导入语句。

系统调度模块主要是借助HUE+Oozie的组合进行实现,其中Oozie主要负责任务的调度,同时HUE能够有效提供图形化界面建立流程,不需要编写繁杂的代码,同时便于管理和查询目前运行的流程。采用HUE+Oozie的组合能够迅速有效地部署新业务流程,实现所有业务流程的管理,随时查询历史的任务执行状况。

猜你喜欢 数据处理集群流程 认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*心理学报(2022年4期)2022-04-12基于低频功率数据处理的负荷分解方法能源工程(2021年6期)2022-01-06吃水果有套“清洗流程”今日农业(2021年10期)2021-07-28无人机测绘数据处理关键技术及运用建材发展导向(2021年12期)2021-07-22功能性新材料产业集群加速形成纺织科学研究(2021年6期)2021-07-15海上小型无人机集群的反制装备需求与应对之策研究军事运筹与系统工程(2019年4期)2019-09-11高层建筑沉降监测数据处理中多元回归分析方法的应用研究智富时代(2019年4期)2019-06-01高层建筑沉降监测数据处理中多元回归分析方法的应用研究智富时代(2019年4期)2019-06-01培育世界级汽车产业集群信息化建设(2019年2期)2019-03-27违反流程 致命误判劳动保护(2018年5期)2018-06-05推荐访问:数据处理 设计 平台
上一篇:基于LM5034有源钳位正激变换器设计
下一篇:3D打印技术在设计中的应用与问题研究

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有