Hadoop学习

专业是大数据,也终于接触到了这方面的知识,遇到无良老师,也只能画个圈圈诅咒。呜呜呜想学就自己努力吧!

Hadoop是什么?

Hadoop是一个分布式系统基础架构,可以使用户在不了解分布式系统底层细节的情况下开发分布式程序,充分利用集群进行高速存储和运算。其两大核心是HDFS和MapReduce,分别解决了大数据存储和大数据分析/计算的问题。


 - HDFS(Hadoop Distributed File
   System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储
 - MapReduce 为分布式计算框架,包含map(映射)和 reduce(归约)过程,负责在 HDFS 上进行计算

Hadoop擅长海量数据的处理,如:

  • FaceBook使用Hive(基于Hadoop的SQL)进行日志分析
  • 淘宝使用Hive实现自定义筛选功能实现
  • 淘宝使用Pig(基于Hadoop的大规模数据分析工具)
  • 实现商品推荐 Yahoo使用Pig做垃圾邮件的识别与过滤

核心模块

Hadoop有4个核心模块,包括——

- HDFS:Hadoop的分布式文件系统
- MapReduce:并行和可扩展的用于处理大数据的模式

  • YARN:任务分配和集群资源管理框架
  • Hive(基于MR的数据仓库):构建在Hadoop之上的数据仓库;
    通常用于进行离线数据处理(采用MapReduce);
    可认为是一个HQL <—>MR的语言翻译器。

优点
(HDFS和MapReduce的优点合并)

高容错性,存储的数据具有多个副本,当有一个副本丢失或不可用时,HDFS可以用另一个副本代替
适合大数据处理,分布式的文件存储系统使得它可以处理
移动计算,HDFS提供了数据位置,使得计算框架(MapReduce)将计算的数据分配到较近的计算节点甚至是本地节点,从而消除一部分网络拥堵,提高系统的吞吐量
高扩展性,Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以干计的节点中
低成本,Hadoop是开源的

学习hadoop需要具备的基础知识

总的来说,学习hadoop需要具备:

linux
1、熟练操作linux常用命令以及网络配置;
2、熟悉用户以及权限管理操作;
3、熟悉软件包以及系统命令管理;
4、学习shell编程。
java
1、具备javaSE基础知识;
2、暂时不需要java Web及各种框架知识。
虚拟机
1、搭建虚拟机;
2、安装linux操作系统;
3、配置虚拟机网络。
hadoop
1、了解hadoop搭建的三种方式(单机模式、伪分布模式和分布式模式);
2、掌握搭建伪分布式以及完全分布式集群;
3、认识hadoop生态系统,了解MapReduce分布式计算框架、Yarn集群资源管理和调度平台、hdfs分布式文件系统、hive数据仓库、HBase实时分布式数据库、Flume日志收集工具、sqoop数据库ETL工具、zookeeper分布式协作服务、Mahout数据挖掘库等;
4、学习MapReduce。MapReduce作为hadoop核心内容,要先易后难,首先了解Mapper、Reducer、Configuration、job等这些类,熟悉MapReduce流程图,然后写简单的单词统计代码,整体上对MapReduce认识,之后学习MapReduce运行机制,熟练掌握MapReduce输入格式,MapReduce输出格式,以及MapReduce优化;
5、学习hadoop另一个核心内容HDFS。首先明白什么是hdfs,然后再分析hdfs的优点,然后再了解Hdfs的缺点有哪些,HDFS是如何存储数据的,采用什么样的架构,我们如何实现读取和写入HDFS中的文件,以及了解HDFS副本存放策略,同时熟练掌握HDFS的shell访问和java访问;
6、学习hadoop另一个核心内容Yarn。首先要了解Yarn是什么,为什么使用Yarn,Yarn的构架,Yarn的原理。

今天的小结如上,都是些理论,学到哪个部分在详细记录吧!
加油照哥!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值