1. 首页 > 汽车 >

hadoop菜鸟入门 hadoop三大核心组件

Hadoop生态系统-新手快速入门(含HDFS、HBase系统架构)

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

hadoop菜鸟入门 hadoop三大核心组件hadoop菜鸟入门 hadoop三大核心组件


用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

广义的Hadoop,一般称为Hadoop生态系统,如下所示。

Hadoop生态系统中这些软件的作用:

HDFS 采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点(NameNode)和若干个数据节点(DataNode)。

HDFS采用Java语言开发,因此任何支持JVM的机器都可以部署名称节点和数据节点。

在配置好Hadoop 集群之后,可以通过浏览器访问

HBase系统架构如下所示,包括客户端、Zookeeper服务器、Master主服务器、Region服务器。一般而言,HBase会采用HDFS作为底层数据存储。

在HBase服务器集群中,包含了一个Master和多个Region服务器,Master是HBase集群的“总管”,它必须知道Region服务器的状态。

HBase中可以启动多个Master,但是Zookeeper 可以帮助选举出一个Master 作为集群的总管,并保证在任何时刻总有唯一一个Master在运行,这样可以避免Master单点失效的问题。

Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求。

Store是Region服务器的核心。每个Store对应了表中的一个列族的存储。每一个Store包含了一个MemStore缓存和若干个StoreFile文件。

HBase采用HLog来保证系统发生故障时,能够恢复到正确的状态。HLog是磁盘上面的记录文件,它记录着所有的更新操作。

HBase系统为每个Region服务器配置了一个HLog文件,它是一种预写式日志(Write Ahead Log),也就是说,用户更新数据必须首先被记入日志后,才能写入MemStore缓存。

此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

注意:Hadoop 安装完成之后,只包含HDFS和MapReduce,并不含HBase,因此需要在Hadoop 之上继续安装HBase。

hadoop入门系列--hive中array(或map集合类型)的行转多列LATERAL VIEW explode用法

传送门

hadoop入门系列--hive基础

hadoop入门系列--hive的三种集合数据类型array、map、struct以及自定义分隔符示例

hadoop入门系列--hive中array(或map集合类型)的行转多列LATERAL VIEW explode用法

传送门

在做hive相关练习时,遇到这个看不懂。lateral view explode(category) t_catetory as category_name

示例数据:

练习:

11.4.3 统计出视频观看数最高的 20 个视频的所属类别以及类别包含

Top20 视频的个数

思路:

类别1: 7

类别2: 3

hadoop家族先学什么

先学java,然后学Hadoop,然后YARN。剩下的按需学习即可

看视频真的会成为高手吗?视频教学真的好吗,不会让人感到烦躁、困倦?大讲台(百度搜索即可)采用任务驱动的学习模式,提倡自适应的学习,学习者根据个人自身情况,制定学习步骤和学习任务;教学过程以文字为主要内容载体,期间穿插视频,回归教育以学员为主体的核心,重在学习效果,学习体验,欢迎有兴趣的童鞋免费体验学习,体验不一样的学习方式!

对了现在正是活动期间,全部课程最低仅需700元哦!!!

Hadoop入门需要哪些知识?

如果是掌握hadoop的使用,java基础好就可以,看看hadoop权威指南。

想深入学习源码的话,就需要些网络编程的知识了。

大讲台国内首个it在线自适应学习平台。中国的knewton,世界的自适应学习,百度“大讲台”。

具体步骤:

1.选择一个Hadoop的版本,然后阅读文档了解Hadoop:What's Hadoop, Why Hadoop exists;

2.安装Hadoop,三种方式都试下;

3.在Hadoop文档里面有Hadoop Command的资料,I.hdfs command,尽量试试这两方面的命令;

4.Hadoop Files,看看Hadoop文件的概念,关注它的分布式特点,然后看Reduce函数输出文件;

5.自己写WordCount与Advanced WordCount;

6.写Sort程序;

7.使用RandomTextWriter;

8.模仿SequenceFileInputFormat、SequenceFileOutputFormat、写自己的;

9.yahoo有一个Hadoop的教程,英文版的,里面的内容很好;

10.《hadoop权威指南》当参考书,自己就可以实战了!

学习Hadoop前提需要哪些?

学习Hadoop前的准备:

准备电脑(用于学习):内存最少8G、CPU起码四核(cpu i5 系列)

支持平台:Linux(CentOS)(产品开发和运行的平台)

所需软件:以Linux为例

Java8.0,必须安装,建议选择Oracle公司发行的Java版本。

ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。

安装所需软件:以Linux为例

$ sudo yum install ssh

$ sudo yum install rsync

下载Hadoop的发行版并解压安装。

hadoop也分开发和运维,楼主会java,应该学hadoop很快的

hadoop一般都运行在Linux下,Linux基础知识是必不可少的

hadoop应该对你来说不是很难的吧 毕竟都从事j2ee开发了,我十一月中旬刚接触到hadoop,无linux基础,java菜鸟,现在正练习搭hadoop;主要是hadoop模块挺烦人的,什么hbase hive impala等…… 折腾得慌

大讲台,实战项目最多的Hadoop在线学习平台。

java, 建议学之前测测智商, 还有,英语6级是保障, 要能看懂官方文档也是必须的,你要看中文的垃圾文档到时怎么死的都不知道。

hadoop入门容易吗?

想学习Hadoop,可是苦于自己没有任何的基础,不知道该如何bai下手,也不知道自己能不能学会。其实零基础学习hadoop,没有想象的那么困难。现在我把自己的学习思路整理一下,希望对大家有帮助。

怎么才能学好Hadoop,进入云的世界,这里给几点建议:

1.打好你的Java基础,C我就不说了,那是基本功。

2.详细研究,理解一下现在大型网站包括Sina,腾讯网(门户),Weibo,天猫,京东(电商)的架构与实现,先从自己的角度去理解,然后去跟实际情况做比对,提升自己对数据和技术的敏感程度。在这个阶段,如果能分门别类的规划出不同类型网站的需求和使用的特定方向的技术,对“云”和“大数据”的理解就更加透彻而非表层停留。

3.科班的同学,在学校的以基础为根基,在公司的以业务为导向,这样的技术才不盲目,这样的技术才脚踏实地。对很多人来说,技术都不是一生的职业导向,那么,提升自己的眼界,站在更高的角度思考问题就显得尤为重要,从自己,到团队,公司,再到整个业界,眼界宽广了,技术也就是你的左膀右臂。

Hadoop分为两个大块:HDFS和MapReduce。

HDFS - Hadoop Distributed FileSystem。这个概念很好,但是其实我不觉得很实用。但是如果你之后要往Non SQL方面深入的话这个还是很重要,HDFS是HBASE的基础,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不难,Hadoop The Definitive Guide里面讲的很清楚,看书就好。

MapReduce -前面说最好看英文版,因为不管中文怎么翻译,Map,Reduce都是没办法像读英文那样容易理解的。这里面有个YARN的概念,是最最最重要的。MapReduce是管数据怎么流动的,YARN是管集群中的资源怎么分配的。除了YARN以外,MapReduce还有几个很重要的概念,比如Partition, combine, shuffle, sort,都在书里很小的位置,但是都对理解整个MapReduce非常有帮助。

关于Hadoop的使用方式:

感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。

第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。

另一种是只使用MapReduce类型。毕竟现在是Cloud时代,比如AWS的Elastic MapReduce。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就关掉。不用自己做Admin的工作,方便简洁。

所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间,可以在这上面学习。最重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。

我直接是白手起家搞hadoop的,没有看权威指南,不懂就google之。我开始也没研究源代码,我先研究Hadoop是怎么跑起来的,怎么工作的。然后过了一段时间,我去看《Hadoop权威指南》,和实践相印证,上手很快。Hadoop这个课题太大,人家花了几年时间研究出来的,你想搞个毕设就想剖析清楚,这个有点不现实。

我的建议是,只研究hadoop的一到两个模块就行了。在这几个中间选一两个研究就可以了。

目前炒的很热,可以说是“如日中天”,好像不会Hadoop、不知道MapReduce就不是搞大规模数据处理似的;貌似数据库的一些人不喜欢Hadoop。

随着互联网或者数据库数据量的不断增大,分布式真的可以替代数据中心吗?这个值得考虑,毕竟框架是Google提出来的,提出时势必会考虑google自身的技术和经济能力,试问当下有几个公司有google的实力?

有人说过(具体名字忘了),在中国,云计算就是忽悠,是炒作;也有人说,云计算是必然的发展趋势,毕竟好多公司都在这么玩。在Copy to China的年代,云计算到底是什么,好像很难说清楚吧?

结论:当下很火,找工作绝对不成问题,看这种形式,似乎也是未来发展的方向;但是这种行业预测的问题,大佬们都经常犯错,我们没到那个级别,还跟着瞎预测啥啊,好好练好内功,这才是关键。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息