- 浏览: 2141071 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
(1)Hadoop适不适用于电子政务?为什么?
电子政务是利用互联网技术实现政府组织结构和工作流程的重组优化,建成一个精简、高效、廉洁、公平的政府运作信息服务平台。因此电子政务肯定会产生相关的大量数据以及相应的计算需求,而这两种需求涉及的数据和计算达到一定规模时传统的系统架构将不能满足,就需要借助海量数据处理平台,例如Hadoop技术,因此可以利用Hadoop技术来构建电子政务云平台。
总结一下,任何系统没有绝对的适合和不适合,只有当需求出现时才可以决定,在一个非常小的电子政务系统上如果没有打数据处理以及计算分析需求时就不需要hadoop这样的技术,而实际上,商用的电子政务平台往往涉及到大规模的数据和大量的计算分析处理需求,因此就需要Hadoop这样的技术来解决。
(2)hadoop对于实时在线处理有优势吗?
直接使用hadoop进行实时处理时没有优势的,因为Hadoop主要解决的是海量批处理作业计算问题,但是可以使用基于Hadoop的分布式NOSQL系统HBase系统以及相关实时处理系统:
1. 基于Hadoop的HBase可以做到实时处理以及相关需求的实时计算,主要解决海量<key,value>相关查询计算等需求。
2. 可以考虑Spark计算,Spark是基于共现内存RDD的系统,比Hadoop更快,时候迭代式计算,例如数据挖掘,机器学习算法等。
3. 还有Storm,Storm是一个免费开源、分布式、高容错的实时计算系统,Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。
4. 考虑S4, S4是Yahoo!在2010年10月开源的一套通用、分布式、可扩展、部分容错、具备可插拔功能的平台。这套平台主要是为了方便开发者开发处理流式数据(continuous unbounded streams of data)的应用。
你可以依据实际的需求来选择合适的系统。
(3)Hadoop存储海量数据没有问题,但是如何能够做到海量数据的实时检索?
1,可以结合开源的搜索引擎Apache Lucene,Solr 或ElasticSearch
2,海量数据的实时检索可以考虑HBase,建议可以使用hadoop将数据构建成以查询key为键的数据集,然后将<key, value>集合写入Hbase表中,Hbase会自动以key为键进行索引,在数十亿甚至以上的级别下,查询key的value响应时间也估计再10毫秒内。
如果检索条件是多个组合的情况下,可以适当的设计多个hbase表格,这样的检索也是很快的,同时Hbase也是支持二级索引。在符合条件下查询,Hbase也是支持MapReduce的,如果对响应时间要求不高的情况下,可以考虑将hive和Hbase系统结合来使用。
如果数据量不是很大的情况下也可以考虑支持类似SQL的NOSLQ系统。
(4)能不能给点hadoop的学习方法以及学习规划,hadoop系统有点庞大,感觉无从学起?
首先搞清楚什么是hadoop以及hadoop可以用来做什么?
然后,可以从最经典的词频统计程序开始,初步了解MapReduce的基本思路和处理数据的方式。
接着,就可以正式学习hadoop的基本原理,包括HDFS和MapReduce,先从整体,宏观核心原理看,先别看源码级别。
进一步,就可以深入HDFS和MapReduce和模块细节,这个时候可以结合源码深入理解,以及实现机制。
最后就是需要实战了,可以结合自己的项目或者相关需求来完成一些hadoop相关应用。
(5) 大的文件拆分成很多小的文件后,怎样用Hadoop进行高效的处理这些小文件?以及怎样让各个节点尽可能的负载均衡?
1. 怎样用Hadoop进行高效的处理这些小文件?
你这个问题提的很好,hadoop在处理大规模数据时是很高效的,但是处理大量的小文件时就会因为系统资源开销过大而导致效率较低,针对这样的问题,可以将小文件打包为大文件,例如使用SequcenFile文件格式,例如以文件签名为key,文件内容本身为value写成SequcenFile文件的一条记录,这样多个小文件就可以通过SequcenFile文件格式变为一个大文件,之前的每个小文件都会映射为SequcenFile文件的一条记录。
2. 怎样让各个节点尽可能的负载均衡?
在hadoop集群中负载均衡是非常关键的,这种情况的导致往往是因为用户的数据分布的并不均衡,而计算资源槽位数确实均衡分布在每个节点,这样在作业运行时非本地任务会有大量的数据传输,从而导致集群负载不均衡,因此解决不均衡的要点就是将用户的数据分布均衡,可以使用hadoop内置的balancer脚本命令。
对于因为资源调度导致的不均衡则需要考虑具体的调度算法和作业分配机制。
(6)c/c++ 程序员如何入门Hadoop到深入了解,并在Linux服务器上布置运用,有没有方向性的指导?
针对C/C++用户,Hadoop提供了hadoop streaming接口和pipes接口,hadoop streaming接口以标准输入和标准输出作为用户程序和hadoop框架交互的中间件,pipes这是专门针对C/C++语言的接口,以socket作为同学中介。
从使用上建议从streaming入手,pipes相比streaming问题比较多,而且pipes调试不容易。
(7)现在企业中使用Hadoop版本主要是1.x还是2.x?
目前百度,腾讯,阿里为主的互联网公司都是以hadoop 1.X为基准版本的,当然每个公司都会进行自定义的二次开发以满足不同的集群需求。
2.X在百度内部还没有正式使用,还是以1.X为主,不过百度针对1.X的问题开发了HCE系统(Hadoop C++ Expand系统)
补充,Hadoop2.x在其他公司应用的很多,比如京东等
(8)以后想从事大数据方面工作,算法要掌握到什么程度,算法占主要部分吗?
首先,如果要从事大数据相关领域的话,hadoop是作为工具来使用的,首先需要掌握使用方法。可以不用深入到hadoop源码级别细节。
然后就是对算法的理解,往往需要设计到数据挖掘算法的分布式实现,而算法本身你还是需要理解的,例如常用的k-means聚类等。
(9)现在spark,storm越来越火,谷歌也发布了Cloud Dataflow,是不是Hadoop以后主要应该学习hdfs和yarn,而且以后Hadoop程序员的主要做的就是把这些东西打包,只提供接口让普通的程序员也能使用,就像Cloudera和Google一样?
这位同学,你多虑了,hadoop和spark, strom是解决不同的问题,不存在哪个好那个坏,要学习Hadoop还是以主流的hadoop-1.X为版本,2.X最主要的就是多了yarn框架,很好理解的。
如果你是hadoop本身研发建议都看,如果你是hadoop应用相关研发,看主流的1.X就行,我的书《Hadoop核心技术》是以主流的1.X为版本讲解的,有兴趣可以看看。
(10)小白问一句,大数据处理都是服务器上安装相关软件吗,对程序有什么影响呢,集群、大数据是属于运维的工作内容还是攻城狮的呢?
传统的程序只能运行在单机上,而大数据处理这往往使用分布式编程框架编写,例如hadoop mapreduce,只能运行在hadoop集群平台上。
运维的责任:保证集群,机器的稳定性和可靠性
hadoop系统本身研发:提高Hadoop集群的性能,增加新功能。
大数据应用:把hadoop作为工具,去实现海量数据处理或者相关需求。
(11)学习hadoop该怎么入手呢?应该做一些什么样的项目呢?
可以参考我上面的几个回答,可以从最简单词频统计程序入手,然后学习理解HDFS和MapReduce的基本原理和核心机制,如果仅仅把Hadoop作为一个工具来使用的话这样就可以了,最重要的就是实战了,可以尝试使用Hadoop处理一些数据,例如做日志分析,数据统计,排序,倒排索引等典型应用。
(12)100个以上hadoop节点,一般怎么开发,运维?任务很多的情况下任务资源怎么分配,任务执行顺序是定时脚本还是别的什么方式控制?
1. 首先大数据的应用开发和hadoop集群的规模是没有关系,你指的是集群的搭建和运维吗,对于商用的hadoop系统来说涉及到很多东西,建议参考《hadoop核心技术》实战篇 “第10章 Hadoop集群搭建 ” 章节。
2. 任务的分配是有hadoop的调度器的调度策略决定的,默认为FIFO调度,商业集群一般使用多队列多用户调度器,可以参考参考《hadoop核心技术》高级篇 “第9章 Hadoop作业调度系统” 章节。
3. 任务的执行顺序是有用户控制的,你自然可以定时启动,也可以手动启动。
(13)基于Hadoop做开发,是否必须会使用Java,使用其他开发语言是否无法更好的融入整个Hadoop的开发体系?
基于Hadoop做开发可以使用任何语言,因为hadoop提高了streaming编程框架和pipes编程接口,streaming框架下用户可以使用任何可以操作标准输入输出的计算机语言来开发hadoop应用。
(14)在reduce阶段老是卡在最后阶段很长时间,在网上查的说是有可能是数据倾斜,我想问这个有啥解决方法吗?
1,你这个就是数据倾斜啊 好多数据都集中在一个reduce里 其他reduce里分配的数据比较少 默认情况下决定哪些数据分配到哪个reduce是由reduce个数和partiiton分区决定的 默认是对key进行hash运算 一般情况下用mapreuce倾斜很少 除非你用的HIVE
2,reduce分为3个子阶段:shuffle、sort和reduce,如果reduce整个过程耗时较长,建议先看一下监控界面是卡在哪个阶段,如果是卡在shuffle阶段往往是网络阻塞问题,还有就是某reduce数据量太大,也就是你所说的数据倾斜问题,这种问题往往因为某个key的value太多,解决方法是:第一,默认的partiiton可能不适合你的需求,你可以自定义partiiton;第二就是在map端截断,尽量让达到每个reduce端的数据分布均匀。
(15)非大数据的项目能否用hadoop?
非大数据项目是否可以用Hadoop的关键问题在于是否有海量数据的存储,计算,以及分析挖掘等需求,如果现有系统已经很好满足当前需求那么就没有必要使用Hadoop,没有必要使用并不意味这不能使用Hadoop,很多传统系统能做的Hadoop也是可以做的,例如使用HDFS来代替LINUX NFS,使用MapReduce来代替单服务器的统计分析相关任务,使用Hbase代替Mysql等关系数据库等,在数据量不大的情况下通常Hadoop集群肯定比传统系统消耗更多的资源。
(16)hadoop mapreduce 和第三方资源管理调度系统如何集成?
Hadoop的调度器设计的一个原则就是可插拔式调度器框架,因此是很容易和第三方调度器集成的,例如公平调度器FairScheduler和容量调度器CapacityScheduler,并配置mapred-site.xml的mapreduce.jobtracker.taskscheduler以及调度器本身的配置参数,例如公平调度器控制参数则需要编辑fair- scheduler.xml进行配置,具体可以参考我的新书《Hadoop核心技术》实战篇第十章节10.11的集群搭建实例中的10.10.9 配置第三方调度器,同时可以进一步深入学习第9章 Hadoop作业调度系统,在这一章中会详细介绍各种第三方调度器以及使用配置方法。
整理来自CSDN论坛,详情请点击 http://bbs.csdn.net/topics/391029366
欢迎大家扫码关注微信公众号:我是攻城师,我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!
发表评论
-
Apache Flink在阿里的使用(译)
2019-02-21 21:18 1047Flink是未来大数据实时 ... -
计算机图形处理的一些知识
2018-04-25 17:46 1183最近在搞opencv来做一些 ... -
如何在kylin中构建一个cube
2017-07-11 19:06 1198前面的文章介绍了Apache Kylin的安装及数据仓 ... -
Apache Kylin的入门安装
2017-06-27 21:27 2105Apache Kylin™是一个开源的分布式分析引擎,提供 ... -
ES-Hadoop插件介绍
2017-04-27 18:07 1938上篇文章,写了使用spark集成es框架,并向es写入数据,虽 ... -
如何在Scala中读取Hadoop集群上的gz压缩文件
2017-04-05 18:51 2079存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩 ... -
如何收集项目日志统一发送到kafka中?
2017-02-07 19:07 2736上一篇(http://qindongliang.iteye. ... -
Hue+Hive临时目录权限不够解决方案
2016-06-14 10:40 4627安装Hue后,可能会分配多个账户给一些业务部门操作hive,虽 ... -
Hadoop的8088页面失效问题
2016-03-31 11:21 4364前两天重启了测试的hadoop集群,今天访问集群的8088任 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2467数据迁移或备份是任何 ... -
如何监控你的Hadoop+Hbase集群?
2016-03-21 16:10 4821前言 监控hadoop的框架 ... -
Logstash与Kafka集成
2016-02-24 18:44 11491在ELKK的架构中,各个框架的角色分工如下: Elastic ... -
Kakfa集群搭建
2016-02-23 15:36 2576先来整体熟悉下Kafka的一些概念和架构 (一)什么是Ka ... -
大数据日志收集框架之Flume入门
2016-02-02 14:25 4134Flume是Cloudrea公司开源的一款优秀的日志收集框架 ... -
Apache Tez0.7编译笔记
2016-01-15 16:33 2419目前最新的Tez版本是0.8,但还不是稳定版,所以大家还 ... -
Bug死磕之hue集成的oozie+pig出现资源任务死锁问题
2016-01-14 15:52 3746这两天,打算给现有的 ... -
Hadoop2.7.1和Hbase0.98添加LZO压缩
2016-01-04 17:46 25451,执行命令安装一些依赖组件 yum install -y ... -
Hadoop2.7.1配置NameNode+ResourceManager高可用原理分析
2015-11-11 19:51 3117关于NameNode高可靠需要配置的文件有core-site ... -
设置Hadoop+Hbase集群pid文件存储位置
2015-10-20 13:40 2771有时候,我们对运行几 ... -
Hadoop+Maven项目打包异常
2015-08-11 19:36 1495先简单说下业务:有一个单独的模块,可以在远程下载Hadoop上 ...
相关推荐
Hadoop使用常见问题以及解决方法,简单实用
安装hadoop的时候或者使用的时候,会出现hadoop常见问题及解决方法
在网上搜集的以及本人自己总结的hadoop集群常见问题及解决办法,融合了网上常常搜到的一些文档以及个人自己的经验。
(完整版)hadoop常见笔试题答案.docx(完整版)hadoop常见笔试题答案.docx(完整版)hadoop常见笔试题答案.docx(完整版)hadoop常见笔试题答案.docx(完整版)hadoop常见笔试题答案.docx(完整版)hadoop常见笔试题答案.docx...
Hadoop使用常见问题以及解决方法.doc Hadoop使用常见问题以及解决方法.doc
Hadoop常见异常,以及hadoop配置,等资料
Hadoop高可用整套配置与详细问题解决 core-site hdfs.site yarn-site 如:namenode启动失败 DFSZK启动失败 防火墙开关等
(完整版)hadoop常见笔试题答案.pdf(完整版)hadoop常见笔试题答案.pdf(完整版)hadoop常见笔试题答案.pdf(完整版)hadoop常见笔试题答案.pdf(完整版)hadoop常见笔试题答案.pdf(完整版)hadoop常见笔试题答案.pdf(完整版)...
hadoop常见面试题,大公司的数据处理分析一般会问到这些。
从作者自己的经验出发,整理了hadoop应用的一些误区和经验
Hadoop大数据常见面试题库
hadoop学习常见问题(手动整理)
Hadoop、hive、hbase常见面试题!!! Hadoop、hive、hbase常见面试题!!! Hadoop、hive、hbase常见面试题!!! Hadoop、hive、hbase常见面试题!!!
Hadoop常见的45个面试题
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
hadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdfhadoop常见笔试题答案.pdf
ES和HADOOP使用问题和需求
Hadoop大数据平台安全问题和解决方案的综述,可以从这里学习到处理问题的思路。
hadoop文档常见问题,可以解决hadoop常见的一系列问题
windows下hadoop2.7.3环境问题的解决,亲测win10、win7皆可使用