自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Flink SQL 以catalog方式写入HIVE

Flink 可以通过连接hive catalog的形式向hive写入数据。重点!!hive 必须有以下属性:'transactional' = 'false' 'sink.partition-commit.policy.kind'='metastore,success-file'下面是案例package com.kkb.flink.stream;import com.kkb.flink.stream.util.FlinkUtils;import com.kkb.flink.s

2021-03-12 15:53:38 2570 2

原创 CDH6 安装 Apache atlas

编译一、环境JDK1.8 下载地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html MAVEN3.5 下载地址http://maven.apache.org/download.cgimaven是免安装的,这点很棒,直接下载来,解压即可。但是要在/etc/profile 中加上环境变量export MAVEN_HOME=/opt/maven3.6.1export PA..

2021-03-03 17:56:31 650

原创 hbase:namespace is not online

好久没写文章了,现在想起来过来写一下这里记一个线上的错误吧。由于机器重启导致想去建表,结果一直报Master is initializing 这个时候去查看master后台日志,发现了一个比较重要的信息org.apache.hadoop.hbase.master.HMaster: hbase:namespace,,1587462234163.0573ab825d2e7506bb13be35cc74311e. is NOT online; state={0573ab825d2e750

2020-12-31 14:31:38 1922

原创 CDH6 离线安装 phoenix SQuirrel 连接phoenix

具体安装方式可以参考https://blog.csdn.net/lingeio/article/details/107909902SQuirrel启动SQuirrel 连接先添加driver这样填写jdbc:phoenix:hadoop1,hadoop2,hadoop3:2181org.apache.phoenix.jdbc.PhoenixDriver在Extra Class Path中添加如下jar 注意是client包在...

2020-09-02 17:54:30 260

原创 Azkaban Mysql初始化连接问题 Could not create connection to database server

在初始化运行azkabana的时候,发现日志中有报错 Could not create connection to database server这个是由于azkaban默认编译的是mysql5.1.28版本的连接jar包,而azkaban连接的是8.X的mysql。所以会报这错误。要想解决也很简单,只需要替换这个jar即可,路径实在azkazban的lib目录下,将mysql-connector-java-5.1.28.jar 替换成 8.X的jar即可...

2020-08-19 11:24:44 1158

原创 KUDU JAVA API

maven <dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-client</artifactId> <version>1.7.0</version> </dependency> <dependency>

2020-07-01 11:02:28 484

原创 CDH6搭建遇到的坑

这里记录一下:在最开始分配parcel的时候:CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel。如果出现哈希验证失败。也就说,这个parcel文件的哈希和CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha的哈希不一致。网上有很多博客都会通过 sha1sum CDH-6.3.2-1.cdh6.3.2....

2020-04-22 11:10:31 3936 3

原创 Flink AsyncFunction time out 导致消费卡主

使用Flink 异步IO去关联维表的时候,当QPS和TPS上去以后,就有可能会出现以后情况,超时,然后程序就会僵住。java.lang.Exception: An async function call terminated with an exception. Failing the AsyncWaitOperator. at org.apache.flink.streaming.api...

2020-03-17 14:51:21 4295 7

原创 Flink Task之间数据流动之写数据

Flink的task operator之间肯定会涉及到数据的流传,基本就是requestPartition --> netty --> InputGetway。今天主要分析的就时前一部分operator将数据处理完之后的步骤。1.数据在operator中处理数据在operator中进行处理后,我们经常会调用out.collect(...),这类方法将数据发送到下游,而这个方法,...

2020-01-16 09:27:32 755

原创 Flink分区选择器

对于Flink流处理来说,算子之间的数据的流动要依靠分区器,也就是StreamPartitioner。它是一个抽象类,有以下几个实现类其中第一个是blink中的,其余都是基本的依赖接下来,一个一个说:GlobalPartitioner @Override public int selectChannel(SerializationDelegate<StreamR...

2019-12-27 14:00:08 1365

原创 Kakfa LAG监控

由于业务量突然上涨,原来kafka的一个topic只有1个分区,消息产生了堵塞,现在需要监控,本文采取的案例是通过pushagteway +prometheus 的形式。话不多说,直接是上脚本#!/bash/bin#传入group id ,通过命令获取laggroupId=$1kafka-consumer-groups.sh --new-consumer --bootstrap-...

2019-12-19 10:16:18 294

原创 Flink 内存管理机制

序:Flink的内存管理机制也是Flink的一大亮点。Flink在JVM内部实现了自己的内存管理。一、MemorySegmentMemorySegment是Flink内存管理的核心,是Flink的内存抽象。默认情况下,一个MemorySegment可以被看做是一个32KB大小的内存块抽象。这个内存即可以是JVM里的一个byte[],也可以是堆外内存,这个可以从MemorySegm...

2019-12-16 09:36:14 691

原创 监控Flink(二)

上文说了下监控使用prometheus监控Flink的准备。现在主要看需要监控什么指标,以及对应的意思。推篇我看到的,比较好的文章,以及官网,如果后续有看到比较好的,也会持续更新。监控、指标和处理背压:https://mp.weixin.qq.com/s?__biz=MzU3Mzg4OTMyNQ==&mid=2247485057&idx=1&sn=ce85b91ec...

2019-11-25 11:43:17 257

原创 prometheus监控Flink(一)

目前Flink监控常用的手段有基于prometheus或者influxDB,还有就是基于rest api的。这里主要说的是基于prometheus的。附上官网的地址https://ci.apache.org/projects/flink/flink-docs-release-1.9/monitoring/metrics.html#prometheuspushgateway-orgapachef...

2019-11-06 18:13:01 5557 11

原创 hive数据跨集群迁移

背景CDH集群hive数据迁移到华为MRS大数据集群,其中CDH的表,是由spark sql自动创建的,底层文件也是parquet格式的snappy压缩文件。步骤1.hive命令export table hivedb.tablename to 'hdfs路径';导出数据以及表结构 到对应的hdfs路径 ,例如:export table reports.testtab to ...

2019-10-21 17:45:35 1898 3

原创 Flink StreamingFileSink源码解析

序目前来说Flink流式写入文件系统,有两个方式BucketingSink以及StreamingFileSink。StreamingFileSink是在BucketingSink之后推出的。主要区别在StreamingFileSink可以用于故障恢复,保证exactly-once,但是要求hadoop版本必须在2.7以上,因为用到了hdfs的truncate方法。BucketingSink相对...

2019-10-17 12:32:19 1655

原创 phoenix 安装

Phoenix提供以sql的形式读写HBase,以下是相关信息Apache Phoenix 官方站点:https://phoenix.apache.org/Phoenix支持的sql语句:https://phoenix.apache.org/language/index.htmlPhoenix 支持的DataTypes:https://phoenix.apache.org/langua...

2019-10-16 16:24:35 168

原创 HIVE 合并小文件

今天,用Flink写入hive的时候,突然想到一个问题,就是如果隔一个小时生成一个文件,那么kafka的并行度为12,也就是说,一个小时会产生12个文件。一天就是12*24个文件,10天,就有2000多个文件。这个肯定是不可取的。于是研究一下,如何合并hive小文件,大家可以参考https://cloud.tencent.com/developer/article/1514064这篇文章。于...

2019-10-10 17:35:45 902

原创 hbase shell assign

hbaseshell中,有个assign,这个命令。可以重分配region,对于rit的这种情况,就是神器。背景有两台regionserver重启了。但是region没有起来,一直处于faile_close状态。导致hbase服务不可用。这个是就算重启整个hbase,也没什么用。过一段时间,hmaster还是会挂,并且hbase服务也是不可以用。查询对应表,会出现region is no...

2019-09-23 19:56:03 2680

原创 master.SplitLogManager: total tasks = 1 unassigned = 0

HBase出过一次问题:之后,我enable某张,就会显示The procedure 2 is still running。之后,就去看master的日志,发现master一直在打印master.SplitLogManager: total tasks = 1 unassigned = 0 tasks={/hbase/splitWAL/WALs%2Fnode2%2C16020%2C15...

2019-09-23 10:44:21 1038

原创 Flink 1.9编译

Flink1.9出来了,这两天编译了一下,这里把坑记录一下。下载的是release-1.9.0-rc3版本。下载完之后,使用IDEA打开,方便之后阅读代码,同时也可以加载一些依赖。之后开始编译准备maven命令:mvn clean install -DskipTests -Dfast建议对应的setting: <mirror> ...

2019-08-29 10:08:37 2920

原创 Spark SQL overwrite问题

背景今天发现hive中有张表,每天会有定时插入操作,但是会有比较多的重复数据,于是想着每天再插入的时候清理一下,用的Spark SQL。问题在试用的时候,出现了两个问题:1.Cannot overwrite a path that is also being read from2.SaveMode.Overwrite 将分区表整张表覆盖解决第一个问题发生的原因是,我...

2019-08-21 16:46:15 19387 2

原创 IDEA maven中添加scala依赖

记录一下,在已有的maven工程中,添加scala依赖,老是要忘记。前提是本地环境有scala依赖。在对应的model中,点击Add Framework Support..然后滚轮往下,找到scala选中scala,点击OK,即可。...

2019-08-19 18:03:09 5502

原创 Flink 从checkpoint恢复,并行度改变后,状态重分配

前提:当Flink左右从checkpoint恢复,或者从savepoint中重启的时候,就回涉及到状态的重新分配,尤其是当并行度发生改变的时候。Operator State Redistribute当operator改变并行度的时候(Rescale),会触发状态的Redistribute,即Operator State里的数据会重新分配到Operator的Task实例。这里有三种...

2019-08-05 20:19:03 6262 1

原创 Flink on yarn ClassNotFoundException

背景最近,我司决定将flink 从1.7.2升级到1.8.1。但是,flink 1.8.1运行jar,基于on yarn的模式就会报错。问题以及解决运行日志,一开始Setting HADOOP_CONF_DIR=/etc/hadoop/conf because no HADOOP_CONF_DIR was set.然后就出现Could not build the program...

2019-07-30 11:09:12 1793

原创 Flink State

State概念state 就是流式计算中持久化了的状态。与Spark Stream中的State类似,但是功能更加强大,能存储的内容更多。Spark Stream的State是一种轻量级的。而Flink中的State则是可以和checkpoint和statebackend配合,可以存储很大一部分数据。State两种形式state有两种形式,分别为:OperatorState 以及 Ke...

2019-07-12 20:08:37 857

原创 Flink SQL实战

最近在研究Flink SQL流,这里写一个简单的实战。背景每1分钟统计过去1个小时,各个商品的购买量。数据格式为{"behavior":"cart","itemId":19,"nowTime":1562314387553}behavior:为用户行为,有cart,pv,buy。我们这里要的就是buy代码import com.alibaba.fastjson.JSON;i...

2019-07-05 16:42:33 1120

原创 Flink SavePoint的使用

checkPoint and savePoint说到savePoint,一定会想到checkPoint,先来说下两者的区别:checkpoint:应用定时触发,用户保存状态,会过期,内部应用失败重启的时候使用,默认情况下cancel时,会删除之前的checkpoint。savepoint:用户手动执行,不会过期,相当于备份,可以在cancel的时候使用。一般可以用于修改并行度,程序升级...

2019-07-02 11:33:11 16016 5

原创 CDH-API的使用

事情原由近来kafka总是时不时的出问题,出现的问题 : open too many files。我们限定的文件数已经是3W多了,一般都是维持在3K这样。然后就是原因找不到,不太清楚是kafka的bug还是磁盘或者网络的原因,现象如下。所以没办法,就搞个脚本,时不时去探测下kafka进程的打开文件数,如果文件数大于某个值,就重启该节点的broker节点。脚本编写1.查看...

2019-06-27 19:20:46 3283

原创 Flink反压机制

在说flink的反压之前,先来说下strom和spark streaming的反压。Strom 反压如图是strom的反压,是通过zookeeper来决定的,当strom感受到处理不过来的时候,就会像zookeeper增加一个znode,然后strom发现了这个znode,对应的上游数据就会阻塞,不会发送数据。Spark Streaming 反压Spark Streaming的...

2019-06-24 18:37:59 11361 3

原创 Flink Run time解析

整体架构以上是flink的整体架构,今天我们一起来学习一下Flink的Runtime这一层。Runtime架构这个是runtime的架构,基本上一目了然。图中可以看到,1.client向cluster Management(standalone、yarn、messos、K8S)提交app请求。同时,client也会完成作业的编译以及优化的过程,譬如哪些task可以连在一...

2019-06-23 17:48:37 560

原创 Flink CEP demo 实战

简介 flink cep 是flink的复杂处理库。主要用来筛选,流式数据中,符合条件的某个系列动作。譬如筛选出连续的告警,或者是用户生成订单后,规定时间内没有完成支付等。 一般cep都用于KeyedStream。一般开发流程生成一个datastream或者KeyedStream 定义一组规则 将这组规则应用于流,生成PatternStream 将生成...

2019-06-21 10:42:59 2803

原创 Flink In many cases lambda methods don't provide enough information

记个错误:The generic type parameters of 'Tuple4' are missing. In many cases lambda methods don't provide enough information for automatic type extraction when Java generics are involved.原由:这个是因为我在fl...

2019-06-13 21:32:05 1841

原创 Flink WaterMark的生成以及获取

1.什么是WaterMarkWaterMark是Flink用来处理时间乱序的一种机制。用来过滤掉由于网络或者其他原因,而迟来的脏数据。2.基本使用 WaterMark绝大部分时候是和eventTime配合使用,可能有的同学非要用Processing Time,那也是可以的,只要加上env.getConfig().setAutoWatermarkInterval(200);...

2019-06-10 19:13:06 6345 6

原创 Spark DataFrame 写入HIve 出现HiveFileFormat`. It doesn't match the specified format `ParquetFileFormat`

场景现在有一个需求,解析一个csv文件,然后写入hive已经存在的表中,就出现了这个错org.apache.spark.sql.AnalysisException: The format of the existing table arcsoft_analysis.zz_table is `HiveFileFormat`. It doesn't match the specified fo...

2019-05-30 15:46:33 8800

原创 Flink消费kafka写入HDFS初步探究

主要maven依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-filesystem_2.11</artifactId> <version>${flink.version}</ver...

2019-05-27 19:42:34 3701

原创 由ttl引发的responseTooSlow

前段时间业务反应数据查询速度慢,大批量的数据出现查询时间超过多少多少秒。看了下io,发现io一直都很高,基本上很多都达到了400M/s。有点可以飙到600M/s。然后在dn的日志出现了很多responseTooSlow的现象。但是问题是,数据量却没有很明显的增长。于是,我们初步判定是由于io的原因。     在这个hdfs上,有两个hbase实例,每个实例都有一个业务应用。     1.初

2017-11-23 09:57:13 2073

原创 hbase hbck -repair导致的rit问题

1.问题开始        前段时间作者做了个hbase hbck。做了个检查,发现有几个region出现了reference文件残留问题。具体报错信息如下,我只截取其中的一条错误:ERROR: Found lingering reference file hdfs://hacluster/hbase4/data/default/DPIQUERY_20171113/91c1225d81b1

2017-11-20 09:19:47 2957

原创 关于hbase中scan的一些总结

首先,对于scan来说,哪些会全表扫描,哪些不会全表扫描。对于这点,笔者原来有些疑惑,以为只要是对于scan来说,都会全表扫描。最近阅读了一些源码以及和咨询一些大神,稍微总结了下。                什么是scan,scan是较为底层的也是用的最多的一种获取Hbase中数据的方式,在它的上面还封装了几种基于scan的获取方式的数据,例如snapshotScanMR,TableS

2017-11-02 10:58:04 16139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除