![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark Streaming
文章平均质量分 63
Johnson8702
这个作者很懒,什么都没留下…
展开
-
Spark Streaming消费kafka数据
Spark Streaming消费kafka数据有两种方式,一种是基于接收器消费kafka数据,使用Kafka的高级API;另一种是直接消费方式,使用Kafka的低级API。下面,详细说明、对比下这两种方式的优缺点。一、Receiver-based Approach这种方式,采用Kafka的高级API,使用接收器接收kafka的消息。接收器在接收到kafka数据后,把数据保存在Spark executor中,然后Spark Streaming任务再从中获取数据。采用这种方式,默认配置情况下,原创 2021-01-22 18:13:51 · 1357 阅读 · 1 评论 -
org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException
问题SparkStreaming实时消费kafka数据,数据聚合后重分区,每个分区内部,写hive表;写文件的过程中,文件名具体到批次时间。通过executor的日志,发现偶尔会有下面的报错21/01/06 13:44:00 WARN DFSClient: DataStreamer Exceptionorg.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException)原创 2021-01-06 16:37:46 · 933 阅读 · 0 评论 -
SparkStreaming executor异常dead
问题SparkStreaming实时消费kafka数据,程序正常运行,数据正常写入数据库,但是executor大量异常dead。问题排查经过排查,在每个dead的executor中的日志中,都会有一个报错:ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM,其他没有任何报错信息;查阅大量资料,发现可能是因为spark的动态executor分配导致;在${SPARK_HOME}/con/spark-defaul原创 2020-12-22 11:37:06 · 737 阅读 · 1 评论 -
Spark streaming实时计算程序的HA高可用
一、设置checkpoint目录在程序中,如果用到了updateStateByKey、window等有状态的操作,自动进行checkpoint,必须设置checkpoint目录。checkpoint目录:容错的文件系统的目录,比如说,HDFSjssc.checkpoint("xxxxxxx");设置完这个目录之后,有些会自动进行checkpoint操作的DStream,就实现了HA...原创 2019-03-11 20:07:06 · 394 阅读 · 0 评论 -
Spark streaming实时计算程序的性能优化
一、并行化数据接收这个 方法在处理多个topic的数据是比较有效。 int numStreams = 5; List<JavaPairDStream<String, String>> kafkaStreams = new ArrayList<JavaPairDStream<String, String>>(numStreams)...原创 2019-03-11 21:30:52 · 501 阅读 · 0 评论 -
SparkStreaming性能调优
一、数据接收并行度调优——创建更多的输入DStream和Receiver通过网络接收数据时(比如Kafka,Flume),会将数据反序列化,并存储在Spark的内存中。如果数据接收成为系统的瓶颈,可以考虑并行化数据接收。每个输入DStream都会在某个Worker的Executor上启动一个Receiver,该Receiver接收一个数据流。因此可以通过创建多个输入DStream,并配置它们接...原创 2019-04-25 19:37:55 · 1818 阅读 · 0 评论