分享

云技术、大数据(hadoop)入门常见问题回答

问题导读:
当我们学习一门新技术的时候,我们总是产生各种各样的问题,这些问题整理出来,包括该
1.如何学习hadoop?
2.hadoop常见问题?
3.还有hbase、hive安装使用等?




rumen.png



你知道搭建hadoop平台需要些什么软件?
简单来讲就有多台电脑
没有多台电脑你就麻烦了:
需要懂虚拟机,懂网络配置,会编译hadoop。具体可以看下面内容
零基础学习hadoop到上手工作线路指导(初级篇)

学习Hadoop对Linux系统要求高不高?
hadoop就99.9%的跑在Linux上
你不会Linux,环境搭建就是个难题
可以看看这个
零基础学习hadoop到上手工作线路指导(初级篇)
http://www.aboutyun.com/thread-6780-1-1.html

hadoop怎么才算入门?
会搭建集群,会搭建开发环境,这是基本入门
零基础学习hadoop到上手工作线路指导(初级篇)
http://www.aboutyun.com/thread-6780-1-1.html

做hadoop的工作内容是什么?

hadoop分为运维和开发
运维一般是搭建集群环境,调优集群,保证集群良好运行
开发就是通过运行mapreduce等程序,让他完成我们想让hadoop集群完成的事情。
比如我们简单的,让hadoop统计单词,在比如做一个推荐系统等
用Hadoop构建电影推荐系统


学习hadoop,cygwin是干什么用的。
cygwin  是为了模拟Linux,你用Linux吧,window出了问题,也没人帮解决

windows 想装Hadoop需要换系统吗?
windows可以装虚拟机,内存要够大,4G勉强,8个还算不错。

学习hadoop需要什么基础?
Linux,虚拟化这些必备的,需要懂一些基本的,详细可以看
零基础学习hadoop到上手工作线路指导(初级篇)
http://www.aboutyun.com/thread-6780-1-1.html

cdh3 cdh4 和cdh5是什么意思?
这是Cloudera系列产品,Cloudera对hadoop做了相应的改变。
Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。
CDH3,4,5是CDH的版本
具体可以参考:
大数据入门:各种大数据技术介绍

什么是基于列的数据库,nosql基于列是如何操作的?
基于的列的数据库,列是可以随便增加和删除的。这也是nosql与传统关系数据库不一致或则说是相反的地方。
这里一定弄清楚列于列族的关系,列族包含列。
以实战操作展示nosql与传统数据库的区别

hadoop只写mapreduce吗?hadoop是一系列的内容:其本身来讲包括mapreduce、rest api.
hadoop一般不会单独使用,还包括hbase编程,hive等使用

什么是oom?
内存溢出

什么是HA?
HA是高可靠性,中文意思就是保险
比如hadoop,HA模式下主节点master挂掉,备用节点就会被启用

请教一下,有什么比较好的yarn入门的教程吗?
yarn就是一个资源管理器,mapreduce, storm,spark等,都可以跑在上面可以参考下面内容:
yarn详解
http://www.aboutyun.com/thread-7678-1-1.html
yarn你可以从这个板块里面找
http://www.aboutyun.com/forum-143-1.html

nosql与传统数据的区别是什么?
nosql的列是可以添加和删除的。列族,列的集合,列是动态增加的
详细可参考:
http://www.aboutyun.com/thread-7804-1-1.html

Linux的工具是什么?
Linux的工具对于传统开发人员比较难以理解,因为它都是使用的命令,没有图形界面。比如vi,vim,nano,我们使用的这些命令,其实使用的是文本编辑器,如同我们window打开的是txt与word。但是Linux是以命令的形式在使用。所以vi,vim可以暂时理解为工具。

28.其他传统开发人员比如.net、php,如何转行hadoop、云技术?
需要掌握Linux、基本的虚拟化、Java知识,详细可以参考
零基础学习hadoop到上手工作线路指导(初级篇)


hadoop工资怎么样?
hadoop工资比一般传统开发人员高一些。这个需要学习的成本会更大。新兴技术,人员也比较稀缺。以后就不知道了。

hadoop工作是否好找?

机会是有的,看你学习的水平

云技术开发使用什么语言?
云技术开发并没有发展新语言,重要的是框架。可以学习Java,python等。

openstack可以看看python
openstack开发,Python系列最全文档书籍下载

Java可以参考下面内容:

学习hadoop----java零基础学习线路指导视频(1)
这一篇我们使用什么开发工具,甚至考虑使用什么操作系统。然后就是Java基础知识篇,包括变量、函数等。

学习hadoop---Java初级快读入门指导(2)
第一篇是属于思想篇,那么这一篇属于实战篇,通过不同的方式,交给你怎么编写第一个小程序。

Java零基础:一步步教你如何使用eclipse创建项目及编写小程序实例
由于上面没有真正抽象出eclipse的使用,所以这里专门介绍了使用eclipse如何创建项目,及如何编写小程序实例


java基础:eclipse编程不得不知道的技巧
eclipse基本知识会了之后,我们在项目,这些技巧相当有用,而且经常用到


hadoop开发方式总结及操作指导
这是第三篇,我们上面熟悉之后,就可以开发hadoop。但是因为hadoop是属于分布式,所以如果对Java越是熟悉,可能产生的问题就会越多。这里总结了hadoop的开发方式。


大数据、云技术开发与传统开发有什么不一样?
云技术、大数据开发是一种历史的倒退,程序员涉及到了使用命令运行程序。主要原因,window不适合运行大数据、云技术,使的IT技术人员不得不学习和使用Linux,幸好Linux桌面版已经很不错。
适应Linux,会使用Linux搭建集群,Java会使用maven编译程序,最好会使用git。

该如何学习云技术、大数据?
云技术大数据入门,可以参考下面帖子
云技术、云计算入门指导视频
根据上面内容,决定自己该学习哪门技术,
大数据可以
零基础学习hadoop到上手工作线路指导(初级篇)

openstack可以参考下面内容:
openstack学习线路指导

公司hadoop一般用什么框架
这个你可以到招聘网站上看看,不同的公司不一样,hadoop,hive,hbase很多公司都用

hadoop开发者使用什么操作系统

都有、centos,ubuntu,redhat
可以参考
零基础学习hadoop到上手工作线路指导(初级篇)
http://www.aboutyun.com/thread-6780-1-1.html

twitter Storm 与云计算有什么关系?算是云计算下的技术吗
Storm不算,算是大数据技术

hadoop系列(大数据)与云技术混肴澄清


hadoop、大数据多长时间入门
这个跟你的学习能力有关系,不可一概而论,短了一个月,长了4到5个月。
可以借助下面学习资料,加快入门速度

大数据入门:各种大数据技术介绍


云技术、云计算入门指导视频


零基础学习hadoop到上手工作线路指导(初级篇)


openstack学习线路指导

hadoop刚入行多少钱?
这个没法确定,都是根据个人的能力及工作经验,一般情况有工作一年Java,学习hadoop后拿到9000多的.

大数据处理常用技术有哪些?
storm,hbase,hive,sqoop.spark,flume,zookeeper如下
  • Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。
  • Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
  • Apache Pig: 是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
  • Apache HBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
  • Apache Sqoop: 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
  • Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务
  • Apache Mahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。
  • Apache Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身
  • Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制
  • Apache Ambari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。
  • Apache Chukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。
  • Apache Hama: 是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
  • Apache Flume: 是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。
  • Apache Giraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
  • Apache Oozie: 是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapReduce)的任务。
  • Apache Crunch: 是基于Google的FlumeJava库编写的Java库,用于创建MapReduce程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库
  • Apache Whirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。
  • Apache Bigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。
  • Apache HCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。
  • Cloudera Hue: 是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。


有没有yarn方面编程的实例?

yarn只是一个资源管理器,运行的还是mapredcue

请问一下,安装hive时用到的Mysql安装的时候是用root用户吗?
用不用无所谓,建议新建一个用户,注意权限问题
用户授权如下:

远程
GRANT ALL PRIVILEGES ON *.* TO "user"@"%" IDENTIFIED BY "password"
内网
GRANT ALL PRIVILEGES ON *.* TO "user"@"localhost" IDENTIFIED BY "password"

hive安装是否只需要服务器安装mysql?
是的,但是如果想远程访问,需要安装mysql客户端
具体可以参考
Ubuntu下面卸载以及安装mysql




如何模拟namenode宕机
答:直接杀掉进程kill -9进程号
可以参考下面帖子:
模拟namenode宕机:数据块损坏,该如何修复

出现这个错误原因是什么?
ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times
答:master宕机了或则防火墙没有关闭,最粗心的就是你没有启动hadoop。

什么是YARN?
YARN是hadoop1.X从jobtracer中脱离出来,YARN是hadoop2中资源管理器,上面不止可以运行mapreduce,还可以运行,storm,spark。其结构亦为主从式结构。

DistributedCache将拷贝缓存的文件到Slave节点在任何Job在节点上执行之前。????这句什么意思?如果我要分析一个文件A,DistributedCach会把A的缓存文件copy到所有的节点吗?

答:
需要执行之前,否则这个缓存就没有意义了

DistributedCache将拷贝缓存的文件到Slave节点在任何Job在节点上执行之前。

通过DistributedCache在TaskTracker之间共享数据
http://www.aboutyun.com/thread-7131-1-1.html

认识hadoop缓存机制DistributedCach
http://www.aboutyun.com/thread-7125-1-1.html

请问spill被分成精确的64M,会不会出现起始行、终止行不完整的情况
Hadoop MapReduce中如何处理跨行Block和inputSplit
http://www.aboutyun.com/thread-7704-1-1.html


hadoop有没有定时执行指定的API接口?
用oozie


出现hbase、hadoop集群使用命令不能停止该如何解决?
可以使用kill -9 进程号,杀掉进程

hbase该如何设计
一般2到3个列族,过多hbase容易出问题

hbase如何保证性能?
并行查询

如何识别hbase表结构?
hbase表结构比传统数据库多了列族,列族固定,行和列都是可以动态增加和删除的。
详细可以参考以实战操作展示nosql与传统数据库的区别


hbase分区的目的是什么?
方便查询



hadoop2中container是什么?
container是一种资源cpu或则内存


如何找到和编译hadoop源码?
hadoop源码,可以去官网下载,官网中有32位安装包,和src代码包,但是代码可以使用maven下载编译源码等。
src.jpg

新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍

更多官网
hadoop生态系统官网













本帖被以下淘专辑推荐:

已有(22)人评论

跳转到指定楼层
bioger_hit 发表于 2015-1-11 22:35:55
本帖最后由 bioger_hit 于 2015-1-11 22:43 编辑
补充一些内容:

提问:
你好:
我是今年年初的时候就像学习hadoop来着,但是中间有段时间去学习了手机android开发。耽误一段时间。
最近这不才刚跟你联系上。现在我还是有很多疑问。
1.我学完,做两个例子基本达到入门程度。找工作容易嘛?
2.我刚进公司的话是直接加入到hadoop的项目吗?
2.工作待遇工资怎么样。我做了快两年的java web开发。
3.我现在还上着班,学习只能说是周末跟晚上学习。不知道这样可以不。
4.学习hadoop许要什么样的基础,java到什么程度啊,linux回到什么程度啊。
5.学习需要哪些硬件设备啥的。一台笔记本是不是就够了。
6.还有个就是跟你学的话,学费是多少啊。毕竟我是去年才毕业的嘛,现在工资也不高。
希望你看到帮我解答下这些疑问。我是想尽快就能学习。最好是10.1之前就能学完找到hadoop的工作。


------------------------------------------------------------------------------------------------
回答:
1.第一个找工作看你刚开始是注重待遇还是注重方向,现在业界也都在用hadoop,所以说需求是蛮大的,如果想去大公司 高薪从事hadoop的工作光靠培训学习是肯定不够的,我给的建议就是你对hadoop的做到比一般的人了解深入,然后以一个新人的态度去加入一些目前想投入hadoop技术的一些中小企业。
2.学到什么程度你会算有优势呢,第一你得知道hadoop是什么东西,能解决什么问题,这些百度google都能搜到,需要自己看大量的资料,宏观的了解他,选择一门技术 不可能你做2年就又换,所以你得自己理解这门技术是否有前途,未来在哪里,而不是现在大家都说hadoop好,工资高就去学。
3.工资待遇其实你不用太纠结这个,可以说如果hadoop你研究得够深入,有2-3年这方面的经验年薪20W以上是没什么问题,但是现在你不要太考虑待遇,有些公司待遇不高但是给了你一个平台,应该看中成长空间,看中平台,当然若是在这基础上能多争取点就多争取些,目前这个行业没有具体的标准。看企业,看经验水平。
4.这个是没问题的,我是10年才开始研究hadoop,可以说研究的不算早,实际上你上班做完公司的事情,你是可以学习hadoop,然后等你差不多对hadoop 的宏观把握清楚了,你就可以开始投简历了,然后再一遍写hadoop的应用程序,因为在面试的过程中你会了解到他们需要怎么样的人,你还差什么,比自己闷头看书 会好点。
5.java你肯定要很熟练,当然hadoop本身入门不难,但是你想看懂源代码,想深入的理解,你要多多线程,并行化,等概念都要了解,本身hadoop是一个框架,你把他了解透彻了也等于你对java技术已经有了一个系统的掌握了。至于linux 这个东西遇到不懂就百度,不会有什么难度的。
6.学习hadoop技术的话一台机器就够了,但是如果要实战的话 最好能弄三台机器。不过你可以先一台的情况下学习。

7.培训说实在,我也没什么时间,你可以自己先学习,要是遇到一些问题,给我发邮件,我可以给你答疑。


那么接下来你该怎么做: 1.多看看hadoop的官网,了解官网上都有什么,官网的结构,以后遇到问题懂得去找
   2.第2想办法了解hadoop的原理是什么,网上资源很多,你要搞清楚他包含什么,什么是hdfs,什么是mapreduce,他能做什么。有人问你的时候你能深入浅出的解答。想想你们公司现在的应用哪些是可以用hadoop解决的,为什么?
   3.买一本叫做hadoop权威指南的书或则下载电子书看看
   4.以上几点都搞清楚了,开始搭个环境跑一个wordcount
   5.wordcount跑完你就可以改代码了
  按照这个顺序 去执行,当你完成自己的一个业务场景的时候,你就可以去投简历了。

hadoop 就是一个 存储系统+计算框架的  东东!主要解决海量数据的存储与计算。其他你自己上网查查,我希望你能充分的查阅过一些资料,认真的阅读!

回复

使用道具 举报

bioger_hit 发表于 2014-10-7 00:44:06

问:

1.hadoop1.0的组成是什么?
2.hadoop2.0为和变化如此大?
3.MRv1和MRv2?
4.什么是YARN?
5.什么是HDFS Federation?

答:

Hadoop 1.0
Hadoop 1.0即第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中,HDFS由一个NameNode和多个DataNode组成,MapReduce由一个JobTracker和多个TaskTracker组成,对应Hadoop版本为Apache Hadoop 0.20.x、1.x、0.21.X、0.22.x和CDH3。

Hadoop 2.0
Hadoop 2.0即第二代Hadoop,为克服Hadoop 1.0中HDFS和MapReduce存在的各种问题而提出的。针对Hadoop 1.0中的单NameNode制约HDFS的扩展性问题,提出了HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时它彻底解决了NameNode 单点故障问题;针对Hadoop 1.0中的MapReduce在扩展性和多框架支持等方面的不足,它将JobTracker中的资源管理和作业控制功能分开,分别由组件ResourceManager和ApplicationMaster实现,其中,ResourceManager负责所有应用程序的资源分配,而ApplicationMaster仅负责管理一个应用程序,进而诞生了全新的通用资源管理框架YARN。基于YARN,用户可以运行各种类型的应用程序(不再像1.0那样仅局限于MapReduce一类应用),从离线计算的MapReduce到在线计算(流式处理)的Storm等。Hadoop 2.0对应Hadoop版本为Apache Hadoop 0.23.x、2.x和CDH4。

MapReduce 1.0或MRv1
MapReduce 1.0计算框架主要由三部分组成,分别是编程模型、数据处理引擎和运行时环境。它的基本编程模型是将问题抽象成Map和Reduce两个阶段,其中Map阶段将输入数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录,而Reduce阶段则将key相同的value进行规约处理,并将最终结果写到HDFS上;它的数据处理引擎由MapTask和ReduceTask组成,分别负责Map阶段逻辑和Reduce阶段逻辑的处理;它的运行时环境由(一个)JobTracker和(若干个)TaskTracker两类服务组成,其中,JobTracker负责资源管理和所有作业的控制,而TaskTracker负责接收来自JobTracker的命令并执行它。该框架在扩展性、容错性和多框架支持等方面存在不足,这也促使了MRv2的产生。

MRv2
MRv2具有与MRv1相同的编程模型和数据处理引擎,唯一不同的是运行时环境。MRv2是在MRv1基础上经加工之后,运行于资源管理框架YARN之上的计算框架MapReduce。它的运行时环境不再由JobTracker和TaskTracker等服务组成,而是变为通用资源管理系统YARN和作业控制进程ApplicationMaster,其中,YARN负责资源管理和调度,而ApplicationMaster仅负责一个作业的管理。简言之,MRv1仅是一个独立的离线计算框架,而MRv2则是运行于YARN之上的MapReduce。

YARN
YARN是Hadoop 2.0中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。YARN不仅限于MapReduce一种框架使用,也可以供其他框架使用,比如Tez(将在第9章介绍)、Spark、Storm(将在第10章介绍)等。YARN类似于几年前的资源管理系统Mesos(将在12章介绍)和更早的Torque(将在6章介绍)。由于YARN的通用性,下一代MapReduce的核心已经从简单的支持单一应用的计算框架MapReduce转移到通用的资源管理系统YARN。

HDFS Federation
Hadoop 2.0中对HDFS进行了改进,使NameNode可以横向扩展成多个,每个NameNode分管一部分目录,进而产生了HDFS Federation,该机制的引入不仅增强了HDFS的扩展性,也使HDFS具备了隔离性。


回复

使用道具 举报

longchuxuan 发表于 2014-6-6 09:55:41
不错的好帖
回复

使用道具 举报

hahaxixi 发表于 2014-8-21 10:06:12
很不错,很详细,LZ辛苦了!
回复

使用道具 举报

Elaine_Zhang 发表于 2014-10-11 17:55:33
学习了,得好好收藏了,经常翻看肯定有收获
回复

使用道具 举报

蓝骑士 发表于 2014-11-24 21:47:15
资源满满呀
回复

使用道具 举报

zhangyi_bac 发表于 2015-3-14 19:43:21
回复

使用道具 举报

清明时雨 发表于 2015-5-8 16:07:48
学习了,谢谢
回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条