flume1.7使用KafkaSource采集大量数据

我们需要把spark Streaming的大量数据写入HDFS或者ES,为了增加稳定性,先将数据写入 kafka集群,然后使用 flume导入HDFS,数据量平均为 20W/s;

由于kafka版本为0.10,为了提高效率,我们使用了1.7版本的flume,它是直接消费kafka集群的,有以下坑:

阅读全文

阿里巴巴Java开发手册学习笔记(上)

本人自认为代码还算写得比较符合规范,但是相信阿里会有总结更深的见解,因此对自己之前没有注意到的,自己没有遵循的,做一个笔记与整理,以加深理解。

编程规约

命名规约

【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

重点在,不要嫌名字长,我以前写得比较短
正例: MAX _ STOCK _ COUNT

阅读全文

Apache-Eagle定义一个Application

为了监控大数据平台的大量组件与应用,我们决定引入 Apache Eagle(),Apache Eagle是由Ebay贡献并在2017年初成为了顶级项目。。。它的核心就是用一个实时计算平台(Storm),接收数据(kafka等),然后处理,然后存hbase,然后报警。由于缺乏文档,所以最简单的配置使用也是踩了不少坑:
当前版本:Eagle 0.5.0 Spark 1.6.2

阅读全文

spark on yarn 作业提交源码分析

最近因为上线hdfs的federation功能,测试spark程序的时候遇到了问题,在分析此问题的过程中对spark on yarn提交作业的过程记录一下,以SparkPi为例,从spark-submit开始,通过debug日志分析详细的过程:
整个过程中主要涉及:spark源码(1.6.2)hadoop源码(2.6.0-cdh5.4.7) Kerberos相关

阅读全文

Livy-server的搭建与简单测试

半年前搭建并测试过livy,简单阅读过部分源码,现在因为openAPI项目,要深入了解livy-server了

搭建

搭建在官网中有,很简单,跳过 https://github.com/cloudera/livy#rest-api
启动的时候遇到的一个问题是会报如下错误:

1
2
3
java.io.IOException: Cannot write log directory /home/op/livy-server-0.3.0/logs
at org.eclipse.jetty.util.RolloverFileOutputStream.setFile(RolloverFileOutputStream.java:219)
at org.eclipse.jetty.util.RolloverFileOutputStream.<init>(RolloverFileOutputStream.java:166)

阅读全文

大数据团队scala代码规范

前言

一、 scala代码规范

Scala 是一种强大到令人难以置信的多范式编程语言。目前我们团队有很多项目需要使用scala语言进行编程,尤其是Spark相关开发项目,为了能够统一scala相关开发,本人基于Spark 贡献者及 Databricks 工程团队总结出了以下指南,本人增加了单元测试的规范,希望对大家的开发有帮助。当然,这个指南并非绝对,根据我们团队需求与实际经验,持续更新。

阅读全文

Spark源码阅读之——StreamingContext详解

Spark Streaming 源码解析系列很好地解析了Spark Streaming框架的源码,遗留了一点关于StreamingContext的解析,我基于自己的理解,简要阐述如下:

阅读全文

spark中读取hdfs文件简记

使用spark的API读取hdfs的方法是:

1
val lines: RDD[String] = sc.textFile(filePath)

阅读全文

通过经纬度计算距离算法的scala实现

问题描述

给定一个景点的经纬度,给定距离,给定形状,判断其它点是否在某个区域内:

圆形方案

使用通用的地球上两点距离函数,圆形只需要判断距离,正方形需要计算两次距离(指定经度与景点的经度一样,计算是否在范围内,然后指定纬度与景点的纬度一样,计算是否在范围内,如果都在范围内,则代表该点在景区范围内),其它形状基于这个基础类推

阅读全文

Spark踩坑之Streaming在Kerberos的hadoop中renew失败

问题描述:

SparkStreaming任务的Kerberos环境下两天后出现 AMRMTOKEN INVALID

早上回来,跑在yarn上面的Streaming程序莫名奇妙崩溃了,yarn logs 查看日志,700万行,发现在每个executor的最后报错如下:

1
2
3
4
5
6
7
8
9
10
16/11/01 15:02:05 INFO executor.CoarseGrainedExecutorBackend: Registered signal handlers for [TERM, HUP, INT]
16/11/01 15:02:06 INFO spark.SecurityManager: Changing view acls to: wzfw
16/11/01 15:02:06 INFO spark.SecurityManager: Changing modify acls to: wzfw
16/11/01 15:02:06 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(wzfw); users with modify permissions: Set(wzfw)
...
16/11/02 03:51:33 ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL 15: SIGTERM
...
16/11/02 03:51:34 ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL 15: SIGTERM
16/11/02 03:51:34 WARN executor.CoarseGrainedExecutorBackend: An unknown (NM-304-SA5212M4-BIGDATA-519:44457) driver disconnected.
16/11/02 03:51:34 ERROR executor.CoarseGrainedExecutorBackend: Driver 10.142.116.19:44457 disassociated! Shutting down.

阅读全文