大数据-Hadoop-Spark
文章平均质量分 75
主要介绍大数据生态圈的相关内容,记录做大数据项目时遇到各种问题
sunyang098
这个作者很懒,什么都没留下…
展开
-
Structured Streaming使用ES RestHighLevelClient不当造成内存溢出问题
Structured Streaming任务使用foreach自定义sink写es,任务运行二三十分钟就挂掉。报错日志也没有报我的代码哪行抛的异常。在测试环境,任务数据量很小,一分钟也没有几条数据,本来以为不会是内存的问题,看spark ui的executor模块,显示每个executor的内存使用也是很小。后来详细看任务日志,发下些问题21/08/24 17:33:56 org.apache.spark.internal.Logging.logError(Logging.scala:94)原创 2021-08-25 16:57:28 · 1166 阅读 · 0 评论 -
structured streaming java.lang.NullPointerException
问题描述:structured streaming任务报空指针,但报的不是自己的代码,是spark框架的代码,报错日志如下Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 2.0 failed 4 times, most recent failure: Lost task 0.3 in stage 2.0 (TID 39, 10.2.6.21, executor .原创 2021-08-09 16:15:07 · 510 阅读 · 0 评论 -
Spark 程序依赖与spark 库jar包冲突解决方案
问题描述:使用spark的StructuredStreaming写数据到es,加载的spark集群jars下的jar包版本(httpclient-4.5.4.jar)跟依赖的jar包版本不一致(httpclient-4.5.10.jar),导致任务失败。我在idea上本地调试,使用httpclient-4.5.10.jar的话,是能正常访问es的。在yarn上的错误日志:Caused by: java.lang.BootstrapMethodError: call site initiali.原创 2021-07-20 15:38:43 · 2850 阅读 · 1 评论 -
为啥spark 的broadcast要用单例模式
https://blog.csdn.net/rlnLo2pNEfx9c/article/details/91446692很多用Spark Streaming 的朋友应该使用过broadcast,大多数情况下广播变量都是以单例模式声明的有没有粉丝想过为什么?浪尖在这里帮大家分析一下,有以下几个原因: 广播变量大多数情况下是不会变更的,使用单例模式可以减少spark streaming每次job生成执行,重复生成广播变量带来的开销。 单例模式也要做同步。这个对于很多新手来说可以不用考虑同步问转载 2020-08-12 18:33:51 · 146 阅读 · 0 评论 -
hdfs上传文件的源码分析
之前上传下载hdfs文件都是使用的IOUtils.copyBytes(...),不过也看见过别的方式FileSystem.copyFromLocalFile(boolean delSrc, boolean overwrite, Path[] srcs, Path dst)等通过FileSystem操作文件的所以就追踪了一下FileSystem.copyFromLocalFile的执行过程。原创 2015-05-22 11:18:13 · 1376 阅读 · 0 评论 -
hdfs rack机架感知配置
大型Hadoop集群以机架的形式来组织的,同一个机架上不同节点间的网络状况比不同机架之间更为理想,默认情况下,hadoop的机架感知是没有被启用的。所有的机器Hadoop都默认在同一个默认的 机架下,以名为”/default-rack”,这种情况下,任何一台datanode机器,不管物理上是否属于同一个机架,都会被认为是在同一个机架下。启动hadoop机架感知只需要在cor原创 2015-09-21 16:35:38 · 4756 阅读 · 0 评论 -
hadoop web 端口安全认证
Hadoop集群配置完成,web监控界面的50070和50030端口不需用户验证即可访问,对生产环境是不容许的,需要加上安全机制。1、修改core-site.xml,增加如下内容,配置完成后拷贝到其他节点上。 hadoop.http.filter.initializers org.apache.hadoop.security.AuthenticationFilt原创 2015-09-21 17:58:05 · 4801 阅读 · 1 评论 -
YARN/MRv2 MRAppMaster深入剖析—推测执行机制
1. 背景推测执行(Speculative Execution)是指在分布式集群环境下,因为程序BUG,负载不均衡或者资源分布不均等原因,造成同一个job的多个task运行速度不一致,有的task运行速度明显慢于其他task(比如:一个job的某个task进度只有10%,而其他所有task已经运行完毕),则这些task拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop会为该tas转载 2015-09-23 18:06:27 · 1010 阅读 · 0 评论 -
Hadoop的hadoop-config.sh脚本详解
先简要说明下我的读该脚本的环境,集群是CDH5.3,在研究命令行中hadoop -jar ***.jar命令的相关脚本时,在hadoop文件中追到了hadoop-config.sh这个文件,所以下边的注解添加了我当前情况的处理。this="${BASH_SOURCE-$0}" #显示本脚本文件全路径common_bin=$(cd -P -- "$(dirname -- "$this原创 2015-11-25 16:27:49 · 8257 阅读 · 1 评论 -
Hadoop常见错误及解决办法
1,错误一:java.io.IOException: Incompatible clusterIDs 时常出现在namenode重新格式化之后2014-04-29 14:32:53,877 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed forblock pool Block pool原创 2015-11-30 18:11:59 · 5274 阅读 · 0 评论 -
hadoop执行jar流程分析
项目要结束了,最近在整理项目的相关文档,之前项目中在用hadoop jar **.jar提交作业时,设置了些公共依赖jar包到CLASSPATH中,这样算子在打包时就不需要把很多jar包再打进去离开 。在hadoop-env.sh中和mapreduce.application.classpath、yarn.application.classpath将jar都设置进去了,这样在本地执行hadoo原创 2015-12-15 09:49:38 · 6041 阅读 · 0 评论 -
Hadoop提交Job Client端源码分析
在之前分析了hadoop执行jar的流程分析(博客链接http://blog.csdn.net/a822631129/article/details/50310903),分析到了执行用户写的mapreduce程序,本文分析mapreduce程序中hadoop client端是如何提交job的。主要涉及的五个java类文件:hadoop-mapreduce-client-core下的包org原创 2015-12-17 15:03:17 · 2615 阅读 · 0 评论 -
动态代理
在hadoop中,DataNode和NameNode之间的控制信息的交流是通过RPC机制完成的,采用的是动态代理和Java NIO的方式。DataNode端是通过获得NameNode的代理,通过该代理和NameNode进行通信的,为了更好的分析hadoop的RPC机制先分析一下动态代理是怎么实现。下面就是动态代理的最最简单的代码实现。代码:import java.lang.refl原创 2016-04-20 12:21:31 · 615 阅读 · 0 评论 -
使用QJM构建HDFS HA架构(2.2+)
本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journal Manager)特性实现HDFS HA。 一、背景 HDFS集群中只有一个Namenode,这就会引入单点问题;即如果Namenode故障,那么这个集群将不可用,直到Namenode重启或者其他Namenode接入。 有两种方式会影响集群的整体可用性: 1、意外的突发事件,比如物转载 2016-05-04 10:55:40 · 652 阅读 · 0 评论 -
spark性能调优官方文档
该文指出了Spark程序优化所需要关注的几个关键点——最主要的是数据序列化和内存优化。对于大多数程序而言,采用Kryo框架以及序列化能够解决性能有关的大部分问题。原创 2015-10-09 10:13:03 · 823 阅读 · 0 评论 -
Spark集成Kafka源码分析——SparkStreaming从kafak中接收数据
整体概括:要实现SparkStreaming从kafak中接收数据分为以下几步(其中涉及的类在包org.apache.spark.streaming.kafka中):1.创建createStream()函数,返回类型为ReceiverInputDStream对象,在createStream()函数中最后返回构造的KafkaInputDStream类对象2.KafkaInputDStre原创 2015-12-18 17:33:23 · 2831 阅读 · 0 评论 -
实现CDH支持Spark SQL功能
CDH内嵌spark版本不支持spark-sql,可能是因为cloudera在推自己的impala;如果上线spark却不能使用sql这种结构化语言,对于大部分分析人员其实是很不爽的!so,就手动实现支持spark-sql的功能吧1.下载spark的包http://www.apache.org/ -》 右上角download -》 HTTP http://apach原创 2016-08-11 13:47:06 · 12696 阅读 · 2 评论 -
Spark性能优化指南——基础篇
前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速转载 2016-11-30 15:17:39 · 634 阅读 · 0 评论 -
Spark性能优化指南——高级篇
前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据转载 2016-11-30 15:29:52 · 546 阅读 · 0 评论 -
Spark Streaming 教程文档--概述、基本概念、性能调优
SparkStreaming教程本文章主要讲述SparkStreaming概念原理、基本概念、以及调优等一些知识点。1 概述1.1 SparkStreaming是什么Spark Streaming 是个批处理的流式(实时)计算框架。其基本原理是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。 支持从多种数据源获取数据,包括原创 2017-03-31 17:05:24 · 6893 阅读 · 2 评论 -
Spark RDD操作:combineByKey函数详解
当数据集一键值对形式组织的时候,聚合具有相同键的元素进行一些统计是很常见的操作。对于Pair RDD常见的聚合操作如:reduceByKey,foldByKey,groupByKey,combineByKey。这里重点要说的是combineByKey。因为combineByKey是Spark中一个比较核心的高级函数,groupByKey,reduceByKey都是基于combineByKey实现的原创 2017-04-26 14:16:45 · 1598 阅读 · 0 评论 -
spark 朴素贝叶斯(naive bayes)模型save与load优化
Spark MLLIB中Naive Bayes(朴素贝叶斯)分类模型的保存与加载速度在实际应用场景中,比较慢,先对朴素贝叶斯模型save与load进行优化。优化后,save与load速度提高很多倍(优化前需要4-5分钟,而且比较容易出现问题而失败,优化后只需要几秒钟),模型文件占用空间也减小了50%。先简单介绍下Naive Bayes模型机制数据结构: case clas原创 2017-04-27 17:00:22 · 4662 阅读 · 0 评论 -
Ansj中文分词使用教程
摘要:ansj是一个基于n-Gram+CRF+HMM的中文分词的java实现.ansj分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上Ansj目前实现了.中文分词.词性识别. 中文姓名识别 . 用户自定义词典,关键字提取,自动摘要,关键字标记等功能可以应用到自然语言处理等方面,适用于对分词效果要求高的各种项目.下载jar:访问 http://maven.nlpcn.原创 2016-08-26 19:48:22 · 24901 阅读 · 11 评论