Hadoop
文章平均质量分 52
young-ming
路漫漫其修远兮 吾将上下而求索
个人QQ:284407890
个人github:https://github.com/xmingyang
展开
-
Apache Flink - 架构和拓扑
Flink结构: flink cli 解析本地环境配置,启动ApplicationMaster 在ApplicationMaster中启动JobManager 在ApplicationMaster中启动YarnFlinkResourceManager YarnFlinkResourceManager给JobManager发送注册信息 YarnFlinkReso...转载 2019-06-09 16:43:41 · 333 阅读 · 0 评论 -
Apache Flink数据流的Fault Tolerance机制
简介Apache Flink提供了一个失败恢复机制来使得数据流应用可以持续得恢复状态。这个机制可以保证即使线上环境的失败,程序的状态也将能保证数据流达到exactly once的一致性。注意这里也可以选择降级到保证at least once的一致性级别。失败恢复机制持续地构建分布式流式数据的快照。对于那些只有少量状态的流处理应用,这些快照都是非常轻量级的并且可以以非常频繁的频率来构建快照而...转载 2018-08-09 10:34:39 · 246 阅读 · 0 评论 -
kafka高级api和低级api的区别和联系
高级 API 的特点优点 ● 高级API写起来简单 ● 不需要去自行去管理offset,系统通过zookeeper自行管理 ● 不需要管理分区,副本等情况,系统自动管理 ● 消费者断线会自动根据上一次记录在 zookeeper中的offset去接着获取数据(默认设置5s更新一下 zookeeper 中存的的offset),版本为0.10.2 ● 可以使用group来区分对访问同一个topic的不同...转载 2018-07-15 19:11:30 · 1707 阅读 · 0 评论 -
mapreduce使用MultipleOutputs
import org.apache.hadoop.mapreduce.lib.output.MultipleOutputs;reduce端 private MultipleOutputs output; @Override protected void setup(Context context ) throws IOException, Interr原创 2016-12-09 11:07:06 · 425 阅读 · 0 评论 -
hadoop跨集群传输数据
在目标集群执行hadoop distcp -m 100 -pbugp -skipcrccheck -update -delete hftp://namenode:50070/user/dw/d1/* /user/dw/d1/原创 2016-05-31 14:47:29 · 3491 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Does not contain a valid host :port authority
跑MR报如下错误java.lang.IllegalArgumentException: Does not contain a valid host :port authority最后发现是hadoop nodemanager结点主机名不能带下划线_原创 2016-03-26 16:02:21 · 4741 阅读 · 0 评论 -
impala初期使用零碎记录
搭建impala搭建参考cdh官方文档,有详细步骤,其中copy hdfs-site.xml、core-site.xml、hive-site.xml至/etc/impala/conf后注意参数dfs.client.read.shortcircuit只允许在/etc/impala/conf里core-site.xml hdfs-site.xml里配置,不在/etc/hadoop里配置并且原创 2015-12-03 14:48:08 · 2627 阅读 · 0 评论 -
nagios搭建
准备wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gzwget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gzwget http://prdownloads.sourceforge.net/sou原创 2015-11-26 11:40:04 · 476 阅读 · 0 评论 -
hadoop存储测试
目标测试hadoop常见的几种存储格式textfile、orcfile、parquet、sequencefile占用存储空间以及在hive、impala、presto的查询效率测试结果存储格式未压缩压缩后(snappy)impalaprestohivetextfile35G10.1G5s5s47sorc原创 2015-11-26 10:01:10 · 1037 阅读 · 0 评论 -
nagios配置监控hadoop日志
被监控服务器定义检查datanode日志命令vi /usr/local/nagios/etc/nrpe.cfgcommand[check_datanode_log]=/usr/local/nagios/libexec/check_log -F /var/log/hadoop-hdfs/hadoop-hdfs-datanode-`hostname`.log -O /var/nagios/old原创 2015-11-26 11:41:29 · 1061 阅读 · 0 评论 -
Flink + Kafka 0.11端到端精确一次处理语义的实现
本文是翻译作品,作者是Piotr Nowojski和Michael Winters。前者是该方案的实现者。原文地址是https://data-artisans.com/blog/end-to-end-exactly-once-processing-apache-flink-apache-kafka2017年12月Apache Flink社区发布了1.4版本。该版本正式引入了一个里程碑式的功...转载 2018-08-10 18:24:59 · 1846 阅读 · 0 评论 -
parquet学习总结
深入分析Parquet列式存储格式Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储列式存储和行式存储相比有哪些优势呢?1.可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。2.压缩编码可以降低磁盘存储空间。由于同一列的数据类型是...转载 2018-08-07 12:02:43 · 4502 阅读 · 0 评论 -
flink背压
摘要: 流处理系统需要能优雅地处理反压(backpressure)问题。反压通常产生于这样的场景:短时负载高峰导致系统接收数据的速率远高于它处理数据的速率。许多日常问题都会导致反压,例如,垃圾回收停顿可能会导致流入的数据快速堆积,或者遇到大促或秒杀活动导致流量陡增。反压如果不能得到正确的处理,可能会导致资源耗尽甚至系统崩溃。 目前主流的流处理系统 Storm/JStorm/Spark Stream...转载 2018-08-29 19:28:52 · 4419 阅读 · 0 评论 -
Apache Flink:特性、概念、组件栈、架构及原理分析
Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为他们它们所提供的SLA是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理,所以在实现的时候通常...转载 2019-06-09 16:01:25 · 228 阅读 · 0 评论 -
Flink Checkpoint
在学习flink的时候看了本书《Stream Processing with Apache Flink》。里面对Flink checkpoint的原理讲得挺清楚的,后面内部分享时也参考了这个说法,所以这里按照我的理解描述一下。首先,flink的checkpoint并不是将Subtask或者UDF对象进行序列化,然后保存。他们确实实现了Serializable接口,但是是为了要在Client,J...转载 2019-02-19 17:20:04 · 893 阅读 · 0 评论 -
elasticsearch 倒排索引原理
Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的b-tree索引快在哪里?到底为什么快呢?笼统的来说,b-tree索引是为写入优化的索引结构。当我们不需要支持快速的更新的时候,可以用预先排序等方式换取更小的存储空间,更快的...转载 2019-01-24 19:23:50 · 4574 阅读 · 0 评论 -
Flink 原理与实现:内存管理
如今,大数据领域的开源框架(Hadoop,Spark,Storm)都使用的 JVM,当然也包括 Flink。基于 JVM 的数据分析引擎都需要面对将大量数据存到内存中,这就不得不面对 JVM 存在的几个问题:Java 对象存储密度低。一个只包含 boolean 属性的对象占用了16个字节内存:对象头占了8个,boolean 属性占了1个,对齐填充占了7个。而实际上只需要一个bit(1/8字节)...转载 2018-12-15 21:11:33 · 342 阅读 · 0 评论 -
flink浅读
apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为他们它们所提供的SLA是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理,所以在实现的时候通常...转载 2018-12-15 21:02:47 · 270 阅读 · 0 评论 -
Spark为何使用Netty通信框架替代Akka
转:http://www.aboutyun.com/thread-21115-1-1.html 1. spark 如何在1.6.0之后使用Netty替代了Akka?2. Spark Network Common怎么实现?3. BlockTransfer 与 Shuffle 之间的联系?4. Akka 实现原理是什么?解决方案: 一直以来,基...转载 2018-12-15 20:36:40 · 493 阅读 · 0 评论 -
YARN中FIFO、Capacity以及Fari调度器的详细介绍
(1)FIFO Scheduler将所有的Applications放到队列中,先按照作业的优先级高低、再按照到达时间的先后,为每个app分配资源。如果第一个app需要的资源被满足了,如果还剩下了资源并且满足第二个app需要的资源,那么就为第二个app分配资源,and so on。优点:简单,不需要配置。缺点:不适合共享集群。如果有大的app需要很多资源,那么其他app可能会一直等待。...转载 2018-12-15 20:22:44 · 573 阅读 · 0 评论 -
flink的内存管理
在大数据面前,JVM的内存结构和GC机制往往会成为掣肘1. 对象开销:在HotSpot中,每个对象占用的内存空间必须是8的倍数。这就导致每个对象占据的内存空间包含三部分:头信息(header)、类的field所占空间、对齐需要的空间(padding,由于前两个大小不够8导致),所以只有一个bool值的对象会占据16个字节,其中头占8字节,bool本身占用一个字节、padding占7个字节2...转载 2018-11-23 10:52:08 · 3759 阅读 · 0 评论 -
Kafka文件存储机制那些事
Kafka是什么Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。1.前言一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术...转载 2018-11-22 10:58:21 · 125 阅读 · 0 评论 -
impala presto SparkSql性能测试对比
目标是为测试impala presto SparkSql谁的性能更佳,以下结果底层查询的都是普通textfile snappy压缩后数据,规模为15台机器,若以orcfile、parquet速度能快数倍impala与presto性能相当,SparkSql逊色不少。目前看presto相比impala1、与hive实时共享元数据,impala需要用另外定时任务广播元数据,新生成的数原创 2015-11-20 11:46:10 · 22343 阅读 · 2 评论 -
两种数据格式(Parquet/ORCfile)浅析
一、首先来看下ORCfile。Orcfile(Optimized Row Columnar)是hive 0.11版里引入的新的存储格式,是对之前的RCFile存储格式的优化,是HortonWorks开源的。看下orcfile的存储格式: 可以看到每个Orc文件由1个或多个stripe组成,每个stripe250MB大小,这个Stripe实际相当于之前的rcfile转载 2015-12-11 22:19:36 · 25197 阅读 · 0 评论 -
深入分析Parquet列式存储格式
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储列式存储和行式存储相比有哪些优势呢?1. 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。2. 压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使转载 2015-12-11 22:02:37 · 939 阅读 · 0 评论 -
mapreduce join总结(多对多内连接,左外连接,右外连接,全连接)
--------------------------------------------------------多对多写法---------------------------------------------Mapreduce处理联接汇总(内联接,左外联接,右外联接,全联接)-----------------------a join b--------------//a放进原创 2013-10-23 22:09:24 · 2598 阅读 · 0 评论 -
mapreduce实现"浏览该商品的人大多数还浏览了"经典应用
原始明细日志格式如下日期 ...cookie id. ...商品id..xx xx xx最后要生成的推荐数据商品id 商品id列表(按优先排好序,用逗号分隔)比如:id1 id3,id0,id4,id2id2 id0,原创 2013-09-25 12:21:30 · 1992 阅读 · 1 评论 -
hadoop CombineFileInputFormat的使用
CombineFileInputFormat作用:将多个小文件打包成一个InputSplit提供给一个Map处理,避免因为大量小文件问题,启动大量任务CombineFileInputFormat是一种新的inputformat,用于将多个文件合并成一个单独的split,另外,它会考虑数据的存储位置。旧版本的MultiFileInputFormat是按文件单位切分,可能造成split不均匀,如果原创 2013-09-22 11:00:48 · 7345 阅读 · 0 评论 -
hadoop distributedcache使用
主题思想:hadoop distributedcache的作用将文件分发到各个结点本地磁盘保存,并且用完后并不会被立即清理的,而是专门的一个线程根据文件大小限制(local.cache.size设定,默认是10G)和文件/目录数目(mapreduce.tasktracker.local.cache.numberdirectories默认是是10000)上限周期性进行清理(默认60s,m原创 2013-09-13 16:11:29 · 4094 阅读 · 2 评论 -
mapreduce top K实现
主题思想:通过TreeMap数据结构实现在各个Map端预计算top k,再由reduce聚合public class TopK extends Configured implements Tool { public static class TopKMapper extends Mapper { public static final i转载 2013-09-09 16:38:32 · 1825 阅读 · 0 评论 -
mapreduce实现全局排序
直接附代码,说明都在源码里了。 package com.hadoop.totalsort;import java.io.IOException;import java.util.ArrayList;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;转载 2013-09-09 16:58:51 · 1568 阅读 · 1 评论 -
Hadoop处理跨block行源码分析记录
Hadoop的block大小默认为64M,将一个大文件按64M切分block,分发到各个datanode存储,那么必然会造成一行数据分布到不同block,不同的datanode,那Hadoop是如何处理的这种情况?以TextInputFormat格式为例,LineRecordReader设计的足够健壮,当读到该分片最后一条未遇到终止符,会继续读取下一个分片的数据,直到读取出完整的数据行,下一个原创 2013-09-08 10:33:55 · 1266 阅读 · 0 评论 -
Namenode计算client与datanode距离方法pseudoSortByDistance分析
在Hadoop读数据的过程中,会从与Client端最这距离的datanode的block副本去读数据,那这个距离怎么计算?策略是与Client同一个datanode结点的优先权最高,其次是本机架结点,否则随机。我们知道在读数据的时候Client首先会与namenode打交道,向namenode发送RPC请求获取block及对应的datanode位置列表,由Namenode端计算距离后按距离由近及远原创 2013-08-29 15:31:52 · 1169 阅读 · 0 评论 -
mapreduce源码分析总结
一 MapReduce概述 Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programmingmodel),是一个用于处理和生成大规模数据集(processing and generating large dat转载 2013-09-15 00:04:37 · 1330 阅读 · 2 评论 -
presto实时查询引擎搭建
1、下载presto https://repo1.maven.org/maven2/com/facebook/presto/presto-server/注意从0.86版本后只支持java 8,这里使用0.85版本+java 7,不然会出现java.lang.UnsupportedClassVersionError: com/facebook/presto/server/PrestoSe原创 2015-11-20 11:23:01 · 3048 阅读 · 2 评论 -
hadoop java.io.IOException: Xceiver count 4097 exceeds the limit of concurrent xcievers
datanode出现 java.io.IOException: Xceiver count 4097 exceeds the limit of concurrent xcievershdfs-site.xml修改参数dfs.datanode.max.transfer.threads为8192 dfs.datanode.max.transfer.threads 8192原创 2015-11-12 10:12:34 · 1792 阅读 · 0 评论 -
Hadoop YARN新特性—label based scheduling
在最新的hadoop 2.6.0版本中,YARN引入了一种新的调度策略:基于标签的调度机制。该机制的主要引入动机是更好地让YARN运行在异构集群中,进而更好地管理和调度混合类型的应用程序。注意,截止这篇文章发布时,只有apache hadoop 2.6.0和hdp 2.2两个发行版具有该特性(CDH5.3尚不支持,CDH5.4会支持),在hadoop自带的调度器重,只有 Capac转载 2015-08-12 18:22:58 · 996 阅读 · 0 评论 -
实时监听文件写入kafka
背景需要实时采集到落到的日志文件数据,写入kafka,最后接入Storm实时计算,日志文件格式分为格两种形式1、一个目录里多类型日志数据/LOG/WWW.XXX.COM_YYYYMMDD.XX.log /LOG/M.XXX.COM_YYYYMMDD.XX.log/LOG/APP.XXX.COM_YYYYMMDD.XX.log每种类型日志的文件写到一定大小,会产生一个新文原创 2015-08-26 14:42:53 · 7011 阅读 · 0 评论 -
ETL调度工具JobStream功能及源代码
1 功能设计1.1 功能图 1.2 功能介绍1.2.1 自动构建依赖关系流根据维护的Job的输入输出的hdfs路径,自动构建JOB之间依赖关系,一个JOB可能有多个输入路径,多个输出路径,那么一个Job可能依赖于多个Job执行成功完后才可执行1.2.2 作业优先级的控制调度系统按照作业优先级控制目前谁的Job优先执行,如果优先级一样,先执行提交时间早的JOB,对于一些重原创 2015-08-24 10:45:51 · 4316 阅读 · 0 评论 -
yarn环境跑mapreduce报错某个container 600s未报告进度超时被杀
发现每次reduce阶段跑到98%,相关的container被杀,报出的log大概原创 2014-10-25 17:54:14 · 2251 阅读 · 0 评论