
Hadoop
Hadoop
三 丰
Everything will be okay in the end. If it's not okay, it's not the end.
展开
-
Cloudera Hadoop 集群安装(三台机器)
简述:Hadoop的安装对环境有比较高的要求,需要比较大的内存,一般的机器很难满足,一个人也很难有两三台独立的主机,所以只能选择使用安装虚拟机的方式安装,但是主机的内存需要在8G以上。如果小于8G可以扩展内存后再做尝试。 公司使用的hadoop一般都不是apache下的hadoop,而是cloudera公司的hadoop,因为它除了提供hadoop外还提供了集成工具,所以,今天也原创 2020-02-19 16:28:46 · 7452 阅读 · 4 评论 -
hue hadoop hive 集成问题整理
1. 在hadoop集群中集成hive(多节点),出现拒绝链接问题,如下所示:Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient...原创 2019-01-30 14:53:23 · 635 阅读 · 0 评论 -
Spark 问题整理
问题一: Spark Job执行了两次由于job内部有一个逻辑,如果第一次失败,第二次重试已没有意义,那么就没有必要让它跑第二次,如下图所示:首先调查为什么默认是尝试两次,结果如下:<property> <name>yarn.resourcemanager.am.max-attempts</name> <value>...原创 2019-01-28 18:32:18 · 2238 阅读 · 0 评论 -
MapReduce中Combiner的作用
问题提出:众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。 在上述过程中,我们看到至少两个性能瓶颈:如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输...原创 2018-08-29 13:51:03 · 19117 阅读 · 3 评论 -
Yarn的JVM重用功能——uber
在文章开头,我想先做几点说明:本文的内容来自我对Yarn的相应功能的理解和实践。而我对该部分功能的理解主要来自对Hadoop的开发者之前相应言论的分析,并且我也将我的分析发给了Hadoop community, 并得到了Yarn的创始人兼架构师Arun Murthy的肯定回复。 本文中uber的配置部分,主要参考之前Hadoop开发者的言论。但是我当初看该言论的时候对一些细节有所疑惑,因此在...转载 2018-08-28 18:57:08 · 1228 阅读 · 0 评论 -
MapReduce:详解Shuffle过程
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里...转载 2018-07-13 16:48:14 · 16291 阅读 · 12 评论 -
Oozie简介
在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。[1]在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie[2],它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。本文中,我们会向你介绍Oozie以及使用它的一些方式。什么是Oozie?Oozie是一种Java Web应用程序,它运行在Java ser...转载 2018-06-01 15:57:08 · 1321 阅读 · 2 评论 -
跟着示例学Oozie
在前一篇文章《Oozie简介》中,我们已经描述了Oozie工作流服务器,并且展示了一个非常简单的工作流示例。我们还描述了针对Oozie的工作流的部署和配置,以及用来启动、停止和监控Oozie工作流的工具。在本文中,我们会描述一个更加复杂的例子,通过它我们可以讨论更多Oozie特性,并演示如何来使用它们。定义过程我们在此描述的工作流会实现汽车GPS探测数据的获取过程。我们每个小时都会以文件的形式把探...转载 2018-05-31 18:25:13 · 1042 阅读 · 0 评论 -
Oozie扩展,自定义节点
在前面的两篇文章中[1,2],我们描述了Oozie工作流服务器,并且展示了几个工作流的示例。我们还描述了针对Oozie的工作流的部署和配置,以及用来启动、停止和监控Oozie工作流的工具。在本文中,我们会向你展示Oozie的可扩展性,并说明它是如何支持我们实现自定义的、协同工作的语言扩展。为什么需要自定义节点(Custom Node)?正如我们在文章[1]中所说明的,Oozie之所以与众不同,是因...转载 2018-05-31 10:25:36 · 1610 阅读 · 0 评论 -
Hadoop Context 写文件遇到的问题(reduce 100% 后失败)
场景: 我在一个reduce中同时使用了context.write 和multipleOutputs.write, 结果却打出了如下信息:2018-03-07 17:45:39,425 INFO [submiter1] org.apache.hadoop.mapreduce.Job: map 100% reduce 98%2018-03-07 17:45:44,4...原创 2018-03-08 10:21:21 · 2605 阅读 · 0 评论 -
Hadoop 传递参数的四种方式
摘要: 在学习使用Hadoop的时候肯定会遇到以下问题,想当然的定义一些静态全局变量,好让mapper和reducer能够访问到这些变量里边的内容,然后兴高采烈的去写代码,最后得到空指针异常,很懊恼,怎么就不行呢,打破了传统对java的理解。 其实对java的理解没有错,只是对Hadoop架构的理解错了,为什么全局静态变量访问不到,是因为启动job的程序和运行job的程序不在同一原创 2017-08-24 12:01:38 · 6147 阅读 · 1 评论 -
Hadoop多文件(目录)输出 以及MultipleInputs存在的问题
需求:在mapreduce中输出两张表,每张表对应一个目录, 格式要求snappy.parquet通过代码来分析:MultipleInputs.addInputPath(Job job, Path path, Class inputFormatClass, Class mapperClass)输入的文件可以添加多个,从Hadoop提供的API就可以看出,但是,看如下的代码F原创 2017-03-01 19:03:45 · 4040 阅读 · 3 评论 -
hadoop2.7 安装和使用
安装环境:OS: Ubuntu 16.04Hadoop: hadoop-2.7.3.tar.gzJDK: jdk-8u101-linux-x64.tar.gz一、伪分布式安装JDK的安装不再讲述,直接解压hadoop-2.7.3.tar.gz,得到如下目录:binetcincludeliblibexeclogssbinshare首先修改et转载 2016-10-14 19:03:37 · 1533 阅读 · 0 评论 -
HUE安装与使用
版本:centos6.4hue3.7.11、介绍HUE=Hadoop User Experience Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。 通过使用Hue我们可以在浏览器端的Web控制台上与Ha...转载 2019-01-30 15:42:10 · 5905 阅读 · 1 评论