- 博客(53)
- 收藏
- 关注
原创 flink sql upsert kafka对于changelogNormalize state解读
flink sql upsert kafka对于changelogNormalize state解读原文:https://www.jianshu.com/p/5ffe5aa0dc59这里说一点:flink sql - upsert kafka 去重并非在kafka-connector中实现,而是在这个DeduplicateFunctionBase父类中的ValueState进行keyby状态去重的,因此为何upsert-kafka需要在kafka的message中带有key;/** * B
2021-07-20 23:47:37
1817
2
原创 Centos 7 出现2个 inet 解决方法
问题描述:[hadoop@n2 hdfs]$ ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_l
2021-01-03 15:38:22
5666
1
原创 Elastic 极客时间 阮一鸣 学习笔记_入门
资料链接:https://github.com/geektime-geekbang/geektime-ELK版本迭代插件在线安装(中文ik分词器)启停Kibana 快捷键documnetindexES masterES nodeES other node各个节点角色分片7.0 主分片数5 -> 1机器健康cerebrohttps://github.com/lmenezes/cerebro/releasesCRUD
2020-11-02 18:40:06
1068
2
原创 Kubernetes Pod 提示 : Init:ImagePullBackOff
如果有pod提示Init:ImagePullBackOff,说明这个pod的镜像在对应节点上拉取失败,我们可以通过 kubectl describe pod 查看 Pod 具体情况,以确认拉取失败的镜像:[root@master ~]# kubectl get pods -n kube-systemNAME READY STATUS RESTARTS AGEcoredns-7ff77c879f-lssvc
2020-10-11 17:15:31
7475
原创 Kubernetes 添加新节点时 couldn‘t validate the identity of the API Server
在k8s添加新节点时,发生如下错误couldn't validate the identity of the API Server: expected a 32 byte SHA-256 hash, found 31 bytes报错原因:kubeadm init生成的token有效期只有1天解决方法:# master 查看节点检查token是否有效kubeadm token list# 生成新的token和命令。然后在node重新执行kubeadm token create --print
2020-10-11 16:52:12
5807
原创 Flink 异步IO时 java.util.concurrent.TimeoutException: Async function call has timed out.
Flink 异步IO时 timeout报错java.lang.Exception: An async function call terminated with an exception. Failing the AsyncWaitOperator. at org.apache.flink.streaming.api.operators.async.Emitter.output(Emitter.java:137) at org.apache.flink.streaming.api.operators.
2020-09-29 18:59:19
3879
3
转载 Logstash写入ElasticSearch的Mapping Template
我们使用ElasticSearch时一般需要自己创建ElasticSearch的索引的Mapping,当索引非常多的时候,可能需要配置一个索引模板Template来对类似的索引做统一配置,让索引模板Template中配置匹配索引的规则,来确定该Template会被应用到哪些索引上。Template配置方式当Logstash在整合ElasticSearch的时候,会有下面三种方式的Template配置:1. 使用ElasticSearch默认自带的索引模板ElasticSearch默认自带了一个名.
2020-08-23 20:51:04
1080
原创 Flink使用托管算子状态ListCheckpointed
要使用托管算子状态,有状态函数可以实现更通用的CheckpointedFunction接口或ListCheckpointed<T extends Serializable>接口。官方参考链接:https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/state.html#listcheckpointed此文使用ListCheckpointed,如下是官网的案例class CounterSou
2020-06-18 14:27:04
590
原创 字符串匹配问题 暴力求解、KMP算法、BM算法、Sunday算法简述
1.暴力匹配算法假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢?如果用暴力匹配的思路,并假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置,则有:如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符;如果失配(即S[i]! = P[j]),令i = i - (j - 1),j = 0。相当于每次匹配失败时,i 回溯,j 被置为0。理清楚了暴力匹配算法的流程及内在的逻辑,咱们可以写出暴力匹配的代码,如
2020-05-31 09:00:24
460
原创 动态规划算法
动态规划算法介绍动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。( 即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)动态规划可以通过填表的方式来逐步推进,得到最优解.动态规划算法最佳实
2020-05-26 23:09:47
201
原创 分治算法
分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……分治算法可以求解的一些经典问题 二分搜索 大整数乘法 棋盘覆盖 合并排序 快速排序 线性时间选择 最接近点对问题 循环赛日程表 汉诺塔分治算法的基
2020-05-25 23:53:12
222
原创 Spark on yarn 源码分析
sparksubmit阶段首先运行sparksubmit脚本,找到SparkSubmit类,运行main方法,然后进入submit方法里,准备好提交环境(prepareSubmitEnvironment(args)),得到““org.apache.spark.deploy.yarn.Client””,运行runMain(childArgs, childClasspath, sysProps, childMainClass, args.verbose),反射Clinet类运行main方法在Clien
2020-05-22 21:43:54
569
原创 Hive On Spark编译
环境说明:versionCentOS6.8JDK1.8Maven3.6.3Scala2.11.8Hadoop2.7.2Hive2.3.6Spark2.1.1源码编译Hive和Spark的版本兼容性https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3a+Getting+Started1.下载Spark源码包:https://archive.apac
2020-05-15 00:14:11
783
转载 Scala 合并两个Map
把Scala的两个Map合并,合并的时候会遇到相同的键和不同的键,对与相同的键,合并后的值是两个Map的值的和,对于只存在于一个Map中的键保留其值不变,对于下面两个map的合并scala> val m1 = Map(1->10, 2->4)m1: scala.collection.immutable.Map[Int,Int] = Map(1 -> 10, 2 -> 4)scala> val m2 = Map(2->5, 4->8)m2: s
2020-05-11 20:33:53
1645
原创 Spark 常用算子
Spark的算子的分类从大方向来说,Spark 算子大致可以分为以下两类:1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。2)Action 行动算子:这类算子会触发 ...
2020-05-11 20:18:16
591
原创 Spark 项目导入Hbase依赖后,查看spark监控页面报错。WARN HttpChannel: / javax.servlet.http.HttpServletRequest.isAsync
错误如下:当我们导入Hbase依赖后,再次打开localhost:4040页面时,控制台打印信息如下:错误原因:一般由 jetty servlet版本冲突 跟HttpServlet包中的servlet版本冲突解决方案: <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</art
2020-05-10 15:30:40
331
转载 Scala 排序函数 sorted sortBy sortWith
排序方法在实际的应用场景中非常常见,Scala里面有三种排序方法,分别是: sorted,sortBy ,sortWith分别介绍下他们的功能:(1)sorted对一个集合进行自然排序,通过传递隐式的Ordering(2)sortBy对一个属性或多个属性进行排序,通过它的类型。(3)sortWith基于函数的排序,通过一个comparator函数,实现自定义排序的逻辑。...
2020-05-05 16:06:53
7629
原创 Spark On Yarn集群搭建
Spark 客户端可以直接连接 Yarn,不需要额外构建Spark集群。有 client 和 cluster 两种模式,主要区别在于:Driver 程序的运行节点不同。client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出cluster:Driver程序运行在由 RM(ResourceManager)启动的 AM(AplicationMaster)上, 适用...
2020-05-05 12:57:24
449
原创 HIVE 内置函数&操作
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inFunctions上方官方文档具有以下函数或操作Hive运算符和用户定义的函数(UDF)内置运算符运算符优先级关系运算符算术运算符逻辑运算符字符串运算符复杂类型构造函数复杂类型上的运算符...
2020-04-11 11:01:20
179
原创 Hadoop、Hbase、Hive和zookeeper版本兼容关系
Hadoop和HbaseHadoop和Hbase的匹配关系可以查看Hbase官方文档,搜索‘Hadoop version support matrix’: http://hbase.apache.org/book.html#basic.prerequisitesHadoop和HiveHadoop和Hive的匹配关系查看Hive的下载页面:http://hive.apache.org/dow...
2020-03-27 10:16:38
9102
5
转载 强制卸载阿里云盾(安骑士)监控及屏蔽云盾IP检测教程
我们在阿里云购买的云服务器开机后进程里都会自带AliYunDun、aliyun-service、AliYunDunUpdate程序。其实它就是阿里云盾(安骑士),是用来监控咱们的云服务器是购安全,可用以起到自动扫描查杀病毒的作用,同时还可以检测你的服务器是否有违规进程,那么云盾IP又是做什么的?云盾IP是来自阿里云漏洞扫描机,主要是检测你的服务器是否存在已知漏洞。阿里云盾(安骑士)有好处,也...
2020-03-26 14:20:53
3664
原创 Kafka API操作
一、Kafka的简介1.核心概念Topic: 主题只是逻辑上的分类,实际上数据在存储时必须存储在某个主题的分区下Partition: 分区是数据真正的物理上数据存储的路径!分区在磁盘上就是一个目录!目录名由主题名-分区名组成! 消费者在消费主题中的数据时,一个分区只能被同一个组中的一个消费者线程所消费!2.安装2.1环境的配置kafka使用scala语言编写,scala也需...
2020-03-19 10:43:48
474
转载 拜占庭将军-分布式领域的幽灵
拜占庭将军问题(Byzantine Generals Problem),是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。在分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有时候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。拜占庭将军问...
2020-03-16 19:21:36
211
原创 Flume产生java.lang.IllegalStateException: begin() called when transaction is COMPLETED!
错误信息如下:2020-03-13 23:56:29,230 (lifecycleSupervisor-1-0) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.start(MonitoredCounterGroup.java:95)] Component type: CHANNEL, name: c1 started...
2020-03-14 00:19:16
2314
原创 使用jmxtrans+influxdb+grafana监控JMX指标
参考链接来源:https://www.lagou.com/lgeduarticle/8153.html使用jmxtrans+influxdb+grafana监控JMX指标环境信息以Flume为例:1. 开启FlumeJMX端口2. 安装InfluxDB3. 安装jmxtrans4. 安装Grafana环境信息CentOS 6.8jdk 1.8.144以Flume为例:需要的环境和...
2020-03-13 21:00:27
1480
原创 Linux的Login Shell & Non-Login shell
登录脚本的执行顺序:【注:仅适用于 bash shell】Login Shell 是指登录时,需要提供用户名密码的shell,如:su – user1 , 图形登录, ctrl+alt+F2-6进入的登录界面。 这种Login shell 执行脚本的顺序: 1. /etc/profile 【全局profile文件;它定义了LoginUser的 PATH, USER, ...
2020-03-09 10:51:15
470
原创 Hive的操作
一、Hive DDL官网参考链接 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL1.1 库操作Create DatabaseCREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOC...
2020-03-08 20:25:19
684
原创 Hive的安装
1. 环境要求 hive1.x版本兼容hadoop1.x和2.x①必须已经安装JDK,在环境变量中有JAVA_HOME②必须已经安装了HADOOP,在环境变量中有HADOOP_HOME③hive解压即可④建议配置HIVE_HOME到/etc/profile a)可以直接在任意路径使用bin目录下的工具 b)默认hive在启动时,读取HIVE_HOME/conf中的配置文件...
2020-03-04 19:58:11
277
原创 Hadoop的HA配置
一、HA-HDFS1.1 HA的核心 HA(high avalibility):高可用 Hadoop集群有HDFS和YARN!Hadoop的HA指HDFS和YARN必须保证可用性强(不能轻易故障,保持24h可用)! 以HDFS为例: 必须进程:Namenode(1个) Danonode(N个) 可选进程: Secondar...
2020-03-04 01:11:34
392
原创 Yarn的调度器
一、调度器1.调度器的分类FIFO、Capacity Scheduler 和 Fair Scheduleryarn-default.xml<property> <description>The class to use as the resource scheduler.</description> <name>yarn....
2020-03-03 23:56:06
299
原创 MapReducer全流程
一、MR的宏观流程1.两个阶段 Map阶段和Reduce阶段2.一个MapReduce任务为一个Job,一个Job在执行不同的阶段时,启动若干TaskMap阶段启动的进程称为MapTaskMapTask启动的数量取决于切片数,切N片,启动N个MapTaskReduce阶段启动的进程称为ReduceTaskReduceTask启动的进程数量由开发人员自己设置Job.setNumRedu...
2020-03-03 12:48:40
719
原创 Hadoop数据压缩
压缩原则MR支持的压缩编码压缩方式选择1. Gzip压缩2. Bzip2压缩3. Lzo压缩4. Snappy压缩压缩位置选择压缩参数配置参数默认值阶段建议io.compression.codecs(在core-site.xml中配置)org.apache.hadoop.io.compress.DefaultCodec, org.apac...
2020-03-01 19:57:13
740
原创 MapReducer中自定义OutputFormat
OutputFormat 接口实现类OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口。文本输出TextOutputFormat默认的输出格式是TextOutputFormat,它把每条记录写为文本行。它的键值可以是任何类型,因为TextOutputFormat调用toString()方法把他们转换为字符串。Se...
2020-03-01 19:34:23
163
原创 mapreduce中自定义GroupingComparator
GroupingComparator 辅助排序对Reduce阶段的key根据某一个或几个字段进行分组应用场景:在接收对象的key为bean时,想让一个或者多个字段相同(全属性字段值不同)的key进入到同一个reducer方法时,可以采用分组排序。GroupingComparator是在reduce阶段分组来使用的,由于reduce阶段,如果key 相同的一组,只取第一个key作为...
2020-03-01 16:56:35
241
转载 MapReducer中的自定义Combiner
转载于https://www.cnblogs.com/edisonchou/p/4297786.html
2020-02-27 23:43:39
263
原创 MapReducer中自定义Partitioner
默认的分区器public class HashPartitioner<K, V> extends Partitioner<K, V> { /** Use {@link Object#hashCode()} to partition. */ public int getPartition(K key, V value, ...
2020-02-27 23:26:01
202
原创 MapReduce中自定义InputFormat
Hadoop内置的输入文件格式类有:1)FileInputFormat<K,V> 这个是基本的父类,自定义就直接使用它作为父类。2)TextInputFormat<LongWritable,Text> 这个是默认的数据格式类。key代表当前行数据距离文件开始的偏移量,value代码当前行字符串。3)SequenceFileInputFormat<K,V> ...
2020-02-27 22:10:53
464
原创 使用HDFS API遍历HDFS目录树结构
/** * 递归遍历打印HDFS的目录树 * @param fs * @param path * @throws IOException */ public static void iteratorShowFiles(FileSystem fs, Path path) throws IOException { if (fs...
2020-02-19 22:01:25
778
原创 Hadoop分布式批量处理脚本xcall.sh
#!/bin/bashparams=$@i=1for((i=101 ;i<=103 ;i=$i+1 ));do echo ==========hadoop$i $params========== ssh hadoop$i "source /etc/profile;$params"donechmod 777 xcall.sh使用:xcall.sh jps
2020-02-19 00:05:40
314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人