【hadoop学习日志】入门资料--认识hadoop

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介:

前言

hadoop已经有很多资料了,所以在此只敢说整理,顺便分享下自己的想法。

我觉得,hadoop这东西要弄过搜索引擎方向最容易上手,对一个外行人,忽然介入,会遇到很多新概念和新理念。

如果你是第一次看到hadoop,那用这种说法来让你理解:

hadoop = MapReduce+HDFS(hadoop 文件系统)

进一步解释:

MapReduce是一个项目,HDFS是另一个项目,他们组成了hadoop。

是实际上这两个项目与hadoop关系 ,好比 hadoop是计算机,而MapReduce是CPU,而HDFS是硬盘,

显而易见了,MapReduce处理数据,HDFS存储数据。

hadoop是什么

摘自维基:Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapReduceGoogle档案系统的概念类似

摘自百度百科:hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

小评价一下:

大家注意到,hadoop强调的是分布式文件系统(HDFS),讲了一堆好处,其实效果就是你在无需知道HDFS后台的行为的时候,他为你操作数百甚至几千台机器之间的分配。而对你来说,HDFS就是一个文件系统,你感觉就在一台机器上操作。

那再说说MapReduce, 其实Map 和 Reduce是两个函数,他们先在Map函数里整理一遍数据,再到Reduce整理数据,然后输出。(输出到哪?到输出流,你可以接着。)

hadoop版本

说标准版,也就是Apache的版本

下载地址:http://hadoop.apache.org/releases.html#Download

  • 1.0.X - 当前的稳定版本, 1.0 release
  • 1.1.X - 当前 beta 测试版, 1.1 release
  • 2.X.X – 当前 alpha 测试版本
  • 0.23.X - 与 2.X.X 版本相似 但没有NameNode的HA(High Avalability,即高可用性).
  • 0.22.X - 没有包含权限认证
  • 0.20.203.X - 早期稳定版本
  • 0.20.X - 早期版本

具体选择哪个版本看你了,在这里提一嘴,两嘴:

1. beta测试和alpha测试的概念

beta测试在用户现场的测试,所有用户都可以用,并提出意见

alpha测试一种验收测试,由用户或第三方测试公司进行的测试,在开发方的场所,好受控

2. 就本文写成时,中文版的《hadoop权威指南》等相关书籍书籍都基于0.20.x版本居多,而自0.21版本以后,MapReduce和HDFS已经分成两个项目,目录和配置文件也有所区别。

建议版本:

如果以学习为主,我建议先以0.20.X开始,有丰富的资料可以学习。其中该版本的下载包里有0.18的中文文档,有助于学习了解hadoop.

Hadoop周边(我重点红色标注)

HBase:

类似Google BigTable的分布式NoSQL列数据库

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群

Hive:

数据仓库工具,由Facebook贡献。Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序

Zookeeper:

分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键

Apache Avro:

新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制

Avro(读音类似于[?vr?])是Hadoop的一个子项目,由Hadoop的 创始人Doug Cutting(也是Lucene,Nutch等项目的创始人)牵头开发。

Pig:

Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算

Sqoop:

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。

Oozie

Oozie 是一个开源的工作流和协作服务引擎,基于 Apache Hadoop 的数据处理任务。Oozie 是可扩展的、可伸缩的面向数据的服务,运行在Hadoop 平台上。

Oozie 包括一个离线的Hadoop处理的工作流解决方案,以及一个查询处理 API。

本文是为了认识hadoop,所以在尽量说下浅显的东西,下面说下

hadoop的命名

简单总是最好的,“这个名字是我孩子给一个棕黄色的大象样子的填充玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手”Doug Cutting如是说,(后面是我说)比如谷歌, Google 是由英文单词“googol”变化而来。“googol”是美国数学家 Edward Kasner 的侄子 Milton Sirotta 创造的一个词.  说到名字一事,谷歌入驻中国,在此事上花了不少心思,借鉴了之前Yahoo和Ebay几家失败教训,最初还有很萌的“狗狗”之名。 当年“蝌蚪啃蜡”的名字杀入中国时,也是被人不待见,直到他改名成了“可口可乐”。

hadoop大事记

  • 2004年,Google发表论文,向全世界介绍了MapReduce。
  • 2005年初,为了支持Nutch搜索引擎项目,Nutch的开发者基于Google发布的MapReduce报告,在Nutch上开发了一个可工作的MapReduce应用。
  • 2006年1月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。
  • 2008年1月,Hadoop成为Apache顶级项目
  • 2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo!的一个Hadoop集群用209秒完成1TB数据的排序 ,比上一年的纪录保持者保持的297秒快了将近90秒。
  • 2009 年 3 月,Cloudera推出CDH(Cloudera’s Distribution including Apache Hadoop)平台,完全由开放源码软件组成,目前已经进入第3版。
  • 2009年5月,Yahoo的团队使用Hadoop对1 TB的数据进行排序只花了62秒时间。
  • 2009年7月 ,Hadoop Core项目更名为Hadoop Common;
  • 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。
  • 009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。
  • 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。
  • 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。
  • 2010年5月,IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。
  • 2010年9月,Hive( Facebook) 脱离Hadoop,成为Apache顶级项目。
  • 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。
  • 2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。
  • 2011年3月,Apache Hadoop获得Media Guardian Innovation Awards 。

注意红色标注,Cloudera是目前最火的hadoop“包装器”

收尾

hadoop算是有个比较泛泛的认识了,今天先这些。










本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/1036777,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
27天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
68 5
|
2月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
55 3
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
63 1
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
48 4
|
2月前
|
存储 Prometheus NoSQL
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
28 3
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
48 2
|
2月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
41 2
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
50 1
|
2月前
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
45 1
|
2月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
181 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......