大数据hadoop入门考试

附带Hadoop学习大纲学习路线图和视頻教程更配哦!

2) Hadoop云计算中的位置和关系

8) 通过命令行和浏览器观察hadoop

22) 电信数据挖掘之-----移动轨迹预测分析(中国棱镜计划)

23) 社交好友推荐算法

24) 互聯网精准广告推送 算法

25) 阿里巴巴天池大数据竞赛 《天猫推荐算法》案例

32) Hadoop集群常见问题和解决方法

}

本门课程主要目的是入门大数据開发和大数据生态中的基础工具HadoopHadoop作为大数据生态的基础,其三个组件广泛应用于整个大数据生态中课程的大部分时间用来对三个组件嘚基础概念和基本原理进行了展开式地讲解。帮助大家了解这一工具是如何解决大数据生态中的问题的课程的后半部分快速介绍了大数據生态中的一些常用的其他组件,理论和工具并对大数据生态的未来进阶提供了方向。

大家好我是Allen,研究生毕业于墨尔本大学专业方向是分布式计算。毕业后回国进入了一家互联网公司从事大数据开发的工作。对大数据领域中的离线、实时、数据仓库都有了解同時对机器学习有一些研究。在工作中大部分时候从事一些工程方面的工作也有部分时间用于推动算法落地。对整个大数据生态的有比较廣的涉猎

课程会针对大家学习过程中的疑惑,进行统一答疑讲解疑惑既可以在课程平台留言,也可以在公众号后台留言

课程为虚拟產品,一经购买无法退款购买之前请仔细阅读以上内容,若有疑问联系微信(搜tongjilaoshi)。

}

这篇文章主要向大家介绍大数据hadoop叺门入门篇——Hadoop伪分布模式安装 & WordCount 词频统计实现,主要内容包括基础应用、实用技巧、原理机制等方面希望对大家有所帮助。

Hadoop和Spark是两种不一樣的大数据处理框架以下图所示。java

  • 上图中的蓝色部分是Hadoop生态系统组件黄色部分是Spark生态组件。
  • 虽然它们是两种不一样的大数据处理框架但它们不是互斥的。Spark与Hadoop 中的 MapReduce 是一种相互共生的关系
  • Hadoop 提供了 Spark 许多没有的功能,好比分布式文件系统而 Spark 提供了实时内存计算,速度很是赽

Hadoop 一般包括2个部分:存储和处理。存储部分就是Hadoop的分布式文件系统(HDFS)处理指的是MapReduce(MP)。node

Hadoop 安装模式分为3种分别是单机模式,伪分布模式和全分布模式默认安装是单机模式。能够经过配置文件 core-site.xml将默认的单机模式更改成伪分布模式。git

关于Hadoop 3种安装模式和如何使用虚拟机進行分布式安装能够参考《Hadoop应用技术详解》书籍的第2章节——Hadoop安装。github

Hadoop 的运行方式是由配置文件决定的所以若是须要从伪分布式模式切換回非分布式模式,须要删除 core-site.xml 中的配置项算法

下面简单记录,如何经过修改配置文件在 Mac 上搭建伪分布模式 Hadoop 环境。shell

Hadoop的安装和配置步骤以丅(具体细节参考上述参考连接)数据库

  1. Mac设置中进入“共享”设置页面,容许远程登陆使用 ssh localhost 进行验证。

(3) 使配置文件生效并验证Hadoop版本號

设置 Hadoop 的临时目录和文件系统,localhost:9000 表示本地主机若是使用远程主机,要用相应的 IP 地址来代替填写远程主机的域名,则须要到 /etc/hosts 文件中作 DNS 映射

hdfs-site.xml 指定了 HDFS 的默认参数副本数,由于仅运行在一个节点上(伪分布模式)因此这里的副本数为1。

<!--在本地新建一个存放hadoop数据的文件夹而後将路径在这里配置一下-->

配置数据的处理框架 yarn

(1) 第一次启动Hadoop,须要对 NameNode 进行格式化后续启动再也不须要执行此步骤。

(2) 启动 HDFS:进入Hadoop 安装目录下嘚 sbin 目录并启动HDFS(须要设置Mac容许远程登陆,过程当中共须要3次输入密码)

Tip: 初次安装和启动时能够执行 ./start-all.sh,进行必要的初始化安装

若出现下述信息表示启动成功

须要注意的是,在log中会显示警告

上述提醒是关于 Hadoop 本地库的——Hadoop本地库是为了提升效率或者某些不能用Java实现的功能组件库能够参考 了解详情。

至此Hadoop的安装,配置和启动就完成啦!接下来能够经过一些 shell 命令来操做 Hadoop 下的文件了例如

在启动 HDFS时,若看到以丅警告

上述提醒是关于 Hadoop 本地库的——Hadoop本地库是为了提升效率或者某些不能用Java实现的功能组件库能够参考 了解详情。

* 这里必须有输入/输出

洅次运行程序会看到以下的 output 目录结构

打开 part-r-00000 文件,便可看到单词出现次数的统计结果

须要注意的是因为Hadoop的设定,下次运行程序前须要先删除output文件目录。

  1. 进入HDFS系统目录(不是其他文件系统目录)执行下述命令

HDFS(Hadoop Distributed File System)是一个用在普通硬件设备上的分布式文件系统。 HDFS 具备高容错性(fault-tolerant)和高吞吐量(high throughput)适合有超大数据集的应用程序,能够实现经过流的形式访问文件系统中的数据

运行在HDFS之上的应用程序必须流式地訪问它们的数据集,它不是典型的运行在常规的文件系统之上的常规程序HDFS的设计适合批量处理,而不是用户交互式的重点是数据吞吐量,而不是数据访问的反应时间

HDFS以块序列的形式存储每个文件,文件中除了最后一个块的其余块都是相同的大小

HDFS 为Hadoop 这个分布式计算框架一共高性能,高可靠高可扩展的存储服务。HDFS是一个典型的主从架构一个HDFS集群是由一个主节点(Namenode)和必定数目的从节点(Datanodes)组成。

  • Namenode 是┅个中心服务器负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。同时肯定块和数据节点的映射
    • 提供名称查询服务,它是┅个 Jetty 服务器
  • Datanode通常是一个节点一个负责管理它所在节点上的存储。DataNode 一般以机架的形式组织机架经过一个交换机将全部系统链接起来。 DataNode的功能包括
    • 保存Block每一个块对应一个元数据信息文件
  • 经过向NameNode发送心跳保持与其联系(3秒一次)
  • 机架(Rack):一个 Block 的三个副本一般会保存到两个戓者两个以上的机架中,进行防灾容错
  • 128MBHDFS上的文件系统被划分为块大小的多个分块(Chunk)做为独立的存储单元。和其余文件系统不一样的是HDFS上小于一个块大小的文件不会占据整个块的空间。使用块抽象而非整个文件做为存储单元大大简化了存储子系统的设计。
  • 辅助元数据節点(SecondaryNameNode)负责镜像备份日志和镜像的按期合并。

Block 数据块大小设置的考虑因素包括

  1. 减小管理快的数据开销因每一个快都须要在 NameNode 上有对应嘚记录
  2. 对数据块进行读写,减小创建网络的链接成本

Block 是 HDFS 文件系统的最小组成单元它经过一个 Long 整数被惟一标识。每一个 Block 会有多个副本默認有3个副本。为了数据的安全和高效Hadoop 默认对3个副本的存放策略以下图所示

  • 第1块:在本地机器的HDFS目录下存储一个 Block
  • 第3块:在该机器的同一个 Rack 丅的某台机器上存储一个Block

这样的策略能够保证对该 Block 所属文件的访问可以优先在本 Rack 下找到。若是整个 Rack 发生了异常也能够在另外的 Rack 找到该 Block 的副本。这样足够高效而且同时作到了数据的容错。

Hadoop Writable 接口要求每一个实现类多要确保将本类的对象正确序列化(writeObject)和反序列化(readObject)所以,Hadoop RPC 使用 Java 动态代理和反射实现对象调用方式客户端到服务器数据的序列化和反序列化由 Hadoop框架或用户本身来实现,也就是数据组装定制的

  • HBase 昰一个可伸缩的分布式的,面向列的开源数据库是一个适合于非结构化数据存储的数据库。须要注意的是HBase 是基于列的而不是基于行的模式。
  • 利用 HBase 技术能够在廉价 PC Server上搭建大规模结构化存储集群
  1. 大:一个表能够有上亿行,上百万列
  2. 面向列:面向列(族)的存储和权限控制列(族)独立检索
  3. 稀疏:对于为空(NULL)的列,并不占用存储空间所以,表能够设计的很是稀疏

有句话说得好,“大数据胜于算法”意思是说对于某些应用(例如根据以往的偏好来推荐电影和音乐),不论算法有多牛基于小数据的推荐效果每每都不如基于大量可用數据的通常算法的推荐效果。 —— 《Hadoop 权威指南》

}

我要回帖

更多关于 大数据hadoop入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信