配色: 字号:
Hadoop实战第二版本-未完待续
2019-01-18 | 阅:  转:  |  分享 
  
大数据需要对TB级和PB级数据进行分析处理。https://baike.baidu.com/item/HadoopHadoop分布式文件系统
(HDFS)是一个由Apache基金会所开发的https://baike.baidu.com/item/%E5%88%86%E5%
B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/4905336分布式系统基础架构。生态系统的组成HadoopC
ommon:包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统Fil
eSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。Avro:
是一个数据序列化系统。Avro可以将数据结构或者对象转换成便于存储和传输的格式,其设计目标是用于支持数据密集型应用,适合大规模
数据的存储与交换。Avro提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC和简
单动态语言集成等功能。ZooKeeper:ZooKeeper作为一个分布式的服务框架,解决了分布式计算中的一致性问题。ZooKe
eper可用于处理分布式应用中经常遇到的一些数据管理问题,如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。Z
ooKeeper常作为其他Hadoop相关项目的主要组件,发挥着越来越重要的作用。HDFS:是Hadoop体系中数据
存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通
过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。MapReduce:是一种计算模型,用以进行大数
据量的计算。HBase:是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HB
ase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳
构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它
将数据存储和并行计算完美地结合在一起。Hive:是建立在Hadoop基础上的数据仓库架构,它为数据仓库的管理提供了许多功能,
包括:数据ETL(抽取、转换和加载)工具、数据存储管理和大型数据集的查询和分析能力。Hive提供的是一种结构化数据的机制
,定义了类似于传统关系数据库中的类SQL语言:HiveQL,通过该查询语言,数据分析人员可以很方便地运行数据分析业务。P
ig:是对大型数据集进行分析和评估的平台。它简化了使用Hadoop进行数据分析的要求,提供了一个高层次的、面向领域的抽象语言
:PigLatin。通过PigLatin,数据工程师可以将复杂且相互关联的数据分析任务编码为Pig操作上的数据流脚本,
通过将该脚本转换为MapReduce任务链,在Hadoop上执行。和Hive一样,Pig降低了对大型数据集进行分析
和评估的门槛。Mahout:主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序
。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还
包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB或Cassandra)集成等数据挖掘支持架构。X-RIM
E:是一个开源的社会网络分析工具,它提供了一套基于Hadoop的大规模社会网络/复杂网络分析工具包。X-RIME在M
apReduce的框架上对十几种社会网络分析算法进行了并行化与分布式化,从而实现了对互联网级大规模社会网络/复杂网络的分析
。它包括HDFS存储系统上的一套适合大规模社会网络分析的数据模型、基于MapReduce实现的一系列社会网络分析分布式并
行算法和X-RIME处理模型,即X-RIME工具链等三部分。Crossbow:是在Bowtie和SOAPsnp基础
上,结合Hadoop的可扩展工具,该工具能够充分利用集群进行生物计算。其中,Bowtie是一个快速、高效的基因短序列拼接至
模板基因组工具;SOAPsnp则是一个重测序一致性序列建造程序。它们在复杂遗传病和肿瘤易感的基因定位,到群体和进化遗传学研究
中发挥着重要的作用。Crossbow利用了HadoopStream,将Bowtie、SOAPsnp上的计算任务分布到H
adoop集群中,满足了新一代基因测序技术带来的海量数据存储及计算分析要求。Chukwa:是开源的数据收集系统,用于监控大规模
分布式系统(2000+以上的节点,系统每天产生的监控数据量在T级别)。它构建在Hadoop的HDFS和Map
Reduce基础之上,继承了Hadoop的可伸缩性和鲁棒性。Chukwa包含一个强大和灵活的工具集,提供了数据的生成、
收集、排序、去重、分析和展示等一系列功能,是Hadoop使用者、集群运营人员和管理人员的必备工具。Flume:是Cloud
era开发维护的分布式、可靠、高可用的日志收集系统。它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的
数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。同时,Flume数据流提供对日志数据进行简
单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。总的来说,Flume是一
个可扩展、适合复杂环境的海量日志收集系统。Sqoop:是Hadoop的周边工具,它的主要作用是在结构化数据存储与Hadoo
p之间进行数据交换。Sqoop可以将一个关系型数据库(例如MySQL、Oracle、PostgreSQL等)中的数据导入
Hadoop的HDFS、Hive中,也可以将HDFS、Hive中的数据导入关系型数据库中。Sqoop充分利用了Ha
doop的优点,整个数据导入导出过程都是用MapReduce实现并行化,同时,该过程中的大部分步骤自动执行,非常方便。Oo
zie:开源工作流引擎。用于管理和协调多个运行在Hadoop平台上的作业。在Oozie中,计算作业被抽象为动作,控制流节点
则用于构建动作间的依赖关系,它们一起组成一个有向无环的工作流,描述了一项完整的数据处理工作。Oozie工作流系统可以提高数据
处理流程的柔性,改善Hadoop集群的效率,并降低开发和运营人员的工作量。Karmasphere:Karmasphere包
括KarmasphereAnalyst和KarmasphereStudio。其中,Analyst提供了访问保存在H
adoop里面的结构化和非结构化数据的能力,用户可以运用SQL或其他语言,进行即时查询并做进一步的分析。Studio则是
基于NetBeans的MapReduce集成开发环境,开发人员可以利用它方便快速地创建基于Hadoop的MapRe
duce应用。同时,该工具还提供了一些可视化工具,用于监控任务的执行,显示任务间的输入输出和交互等。需要注意的是,在上面提及
的这些项目中,Karmasphere是唯一不开源的工具。环境准备源代码阅读环境安装与配置JDKhttp://www.oracl
e.com/technetwork/java/javase/downloads/index.htmlhttps://www.o
racle.com/technetwork/java/%20javase/downloads/index.html下载JDKhtt
ps://www.oracle.com/technetwork/java/%20javase/downloads/index.ht
ml下载JDK安装完后,配置JDK,将安装后的路径配置进环境变量中。JAVA_HOME、CLASSPATH和PATH(略,不会
的自己百度:jdk的安装配置)。配置完后在命令窗口:java-version查看是否配置正确。安装开发调试IDE:eclip
seJava开发调试工具:Eclipse:http://www.eclipse.org/downloads/http://ww
w.eclipse.org/downloads/下载安装。(略)安装辅助工具AntAnt跨平台、可扩展,而且运行高效,使用
Ant,开发人员只需要编写一个基于XML的配置文件(文件名一般为build.xml),定义各种构建任务,如复制文件、编译
Java源文件、打包JAR归档文件等,以及这些构建任务间的依赖关系,如构建任务“打包JAR归档文件”需要依赖另外一个
构建任务“编译Java源文件”。Ant会根据这个文件中的依赖关系和构建任务,对项目进行构建、打包甚至部署。可在http:/
/ant.apache.org/bindownload.cgihttp://ant.apache.org/bindownload.
cgi下载。解压后进行环境变量配置。命令窗口:ant-version检查是否被正确设置。安装类UNIXShell环境
CygwinCygwin:在Windows上获得https://www.linuxfoundation.org/Linux的感觉
添加http://www.cygwin.com/Cygwin中国镜像的地址:若提示没有找到就添加:http://mirrors
.aliyun.com/cygwin/http://mirrors.aliyun.com/cygwin/点击下一步。binuti
ls?gcc?gcc-mingw?gdb点击前面的图标。选中。点击下一步安装。运行Cygwin,在弹出的命令行窗口输入:cygc
heck-ccygwin依次输入gcc–version,g++--version,make–version,gdb–version进行测试配置环境变量:打开命令提示符:可以在window上写Linux命令了。下载Hadoop源码SVN下载地址:http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.1.0/http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.1.0/
献花(0)
+1
(本文系樱花梦_张艺...首藏)