自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不是一枚开发

借鉴了书籍、视频、他人博客,先致歉

  • 博客(218)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 hive 数据库用户权限授权

【代码】hive 数据库用户权限授权。

2024-03-07 10:04:00 295

原创 flink 设置空闲等待推进水位线,避免子任务上游最小的水位线迟迟未达到触发时间

此时,如果有其中一个子任务没有数据,导致当前Task的水位线无法推进,窗口无法触发,需要等待上游最小的水位线达到触发时间。于是,flink添加了。多并行度的flink作业,watermark水位线的传递遵循。checkIfIdle()方法用于判断是否触发水位线推进。在设置WatermarkStrategy时,添加。

2024-03-03 12:16:03 264

原创 flink 报错ByteArraySerializer is not an instance of org.apache.kafka.common.serialization.Serializer

存在依赖冲突,把conf目录下flink-conf.yml中的classloader.resolve-order参数由默认的child-first改成parent-first。代码逻辑为从socket流中读取数据写入kafka。查看flink作业日志。提交到yarn集群后报错。

2024-03-02 19:48:05 398

原创 生产环境下,应用模式部署flink任务,通过hdfs提交

通过通过yarn.provided.lib.dirs配置选项指定位置,将flink的依赖上传到hdfs文件管理系统。

2024-02-19 21:03:24 480

原创 ktutil编写生成keytab文件的脚本、通过keytab文件认证用户

示例:为密码123456的hive用户,生成名称为hive.keytab的认证文件。生成keytab文件的脚本。

2024-02-18 23:23:53 582

原创 Nginx 正向代理、反向代理

正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用。

2024-02-18 10:44:49 439

原创 Nginx 缓存集成、清除、设置不缓存资源

使用缓存的优点在于减少数据传输,节省网络流量,加快响应速度;减轻服务器压力;提供服务端的高可用性;缺点在于数据的不一致问题;增加成本Nginx作为Web缓存服务器,介于客户端和应用服务器之间,当用户通过浏览器访问一个URL时,web缓存服务器会去应用服务器获取要展示给用户的内容,将内容缓存到自己的服务器上,当下一次请求到来时,如果访问的是同一个URL,web缓存服务器就会直接将之前缓存的内容返回给客户端。

2024-02-08 18:36:51 1427 1

原创 NGINX upstream、stream、四/七层负载均衡以及案例示例

伴随单台服务器性能及单点故障问题的凸显,一方面需要增加系统的硬件处理能力,另一方面需要添加机器构建应用集群应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理并返回响应的数据负载均衡器:将用户访问的请求根据对应的负载均衡算法,分发到集群中的一台服务器进行处理。

2024-02-08 11:30:19 1591

原创 Nginx 安全控制实践

把原来的http请求改造为https。

2024-02-06 11:06:53 281

原创 每隔一段时间重试,重试n次 java 工具类

若代码出现异常,则每隔一段时间重试一下,重试n次。

2023-06-21 15:02:17 372

原创 flink 从savepoint、checkpoint中恢复数据

flink作业因为故障导致restart strategy失败或升级flink版本重新发布任务,这时就需要从最近的checkpoint恢复。一般而言有两种方案,第一种方案是开启checkpoint且任务取消时不删除checkpoint(调整参数execution.checkpointing.externalized-checkpoint-retention),第二种方案是定时触发savepoint(编写代码调用flink rest api)。

2023-04-01 10:58:22 2047 1

原创 yum install报错 cyrus-sasl-devel-2.1.26-23.el7.x86 64 was supposed to be installed but is not!

在正常的服务器上把rpm包下载到本地目录(注意:只有在当前服务器未安装时有效,已经安装可yum remove后重新安装)自制的yum源,在一台服务器上安装cdh客户端时,执行。在其他节点上安装正常,大概率是服务器环境的问题。scp命令分发到对应服务器上。

2023-03-28 10:24:32 1012

原创 flink sql作业报错Timeout of 60000ms expired before the position for partition xxx could be determined

新增流作业,将kafka集群的数据通过flink sql写入hdfs,所有的flink作业均出现订阅的topic某个分区超时;(3)查看页面,找到出现异常的taskmanager所对应的域名,通过ping和telnet命令测试是否网络正常,发现不通,生产环境存在2套网络,(一套管理ip、一套服务ip),域名映射出错。(2)连接kafka对应的zookeeper客户端,找到kafka连接超时分区的leader对应的服务器ip。打通此节点和cdh集群之间的网络,配置正确的域名映射。

2023-03-26 11:05:52 2015

原创 ambari搭建HDP集群后修改存储元数据的mysql数据库配置

ambari搭建HDP集群后,存储元数据的mysql数据库由单点改为集群后,需要修改ambari配置。(2)修改数据库配置文件ambari.properties中mysql配置。(1) 进入参数配置目录。

2022-08-23 06:59:45 1060

原创 spark Spark Streaming、kafka数据源Direct模式、 自定义数据源

Spark Streaming广泛运用于流式数据的处理(准实时、微批次的数据处理框架)。使用离散化流(discretized stream)作为抽象表示,即DStream。DStream 是随时间推移而收到的数据的序列。在内部,每个时间区间收到的数据都作为 RDD 存在,而DStream是由这些RDD所组成的序列。典型的流式数据输入源就是kafka本文使用的spark版本3.0.0需要继承Receiver,并实现onStart、onStop方法来自定义数据源采集。...

2022-08-14 17:25:57 825 2

原创 jvm 类和类加载器 、双亲委派模型、自定义类加载器

如java.lang.Object,存放在rt.jar中,无论哪个类去加载,最终都是委派给模型最顶端的启动类加载器进行加载,因此Object类在程序的各种类加载器环境中都是同一个类,反之不使用双亲委派模型,会造成系统存在多个Object类出现混乱。其工作过程是:如果一个类加载器收到类加载的请求,首先不会自己去尝试加载这个类,而是把这个请求委派给给父类加载器去完成,每一个层次的类加载器都是如此,因此。(除了顶层的启动类加载器,其余加载器均有自己的父类加载器。每个类加载器拥有一个独立的类名称空间。...

2022-08-10 09:24:23 16221

原创 spark RDD转换算子 sample

随机数是通过复杂的数学算法得到的,随机种子(Random Seed)就是这些随机数的初始值。具体实现:根据种子和随机算法算出一个数和第二个参数设置几率比较,小于第二个参数要,大于不要。第二个参数:每条数据抽取的几率,范围在[0,1]之间,0:全不取;第二个参数:重复数据的几率,范围大于等于0.表示每一个元素被期望抽取到的次数。第一个参数:抽取的数据是否放回,false:不放回。第三个参数:随机数种子(随机数不随机:随机算法)第一个参数:抽取的数据是否放回,true:放回;第三个参数:随机数种子。...

2022-08-08 10:12:02 375

原创 scala 并行集合、并行并发、线程安全问题、ThreadLocal

ThreadLocal中填充的变量属于当前线程,对其他线程而言是隔离的。ThreadLocal。Scala提供并行集合,用于多核环境的并行计算,充分使用多核CPU。,每个线程访问自己内部的副本变量。因此不存在线程安全问题。所导致的数据冲突问题。...

2022-08-02 16:46:41 794

原创 scala reduce、reduceLeft 、reduceRight 、fold、foldLeft 、foldRight

如sum函数统计List中所有元素的和;在scala底层采用两两聚合,聚合结果的类型与reduce方法的返回值类型相同。如合并2个map并key相同的求和。,集合遍历的方向是从右到左。,对集合中的元素执行算子。,对集合中的元素执行算子。fold函数的本质是。第一个参数表示初始值。...

2022-08-02 14:44:39 336

原创 scala 转换、过滤、分组、排序

1)为集合中元素,添加前缀Int)=>{(2)flatMap()扁平化。

2022-07-28 11:03:47 20541

原创 远程调试 idea配置remote debug、在远程服务器的程序中,添加JVM启动参数-Xdebug

在本地开发的程序运行在服务器上报错且缺少日志信息甚至没有错误日志时,需要通过远程调试来调试服务器上的程序。

2022-07-27 07:16:30 61811 1

原创 scala 不可变Map 、 可变Map 、Map转换为其他数据类型

scala中Map是一种可迭代的键值对(key/value)结构。所有的值都可以通过键来获取。Map中的键都是唯一的。

2022-07-26 07:42:14 844

原创 java 继承中子类和父类同名的属性和方法的使用、重载

类当中,多个不同的方法,但是方法名一致,参数列表不一致(参数个数、参数顺序、参数类型)由于getI()是调用B1类中的,所以使用的属性i为B1类中的属性。(多态中,成员变量编译和运行参考左边(引用型变量所属的类))对对象属性的调用,是没有动态绑定技术的,上诉例子中,在实际调用重载的方法时,会。B为A的子类,若使用。,然后调用方法,即采用。...

2022-07-22 11:01:02 47014 1

原创 kafka 自定义Interceptor(通过拦截器对消息进行定制化处理)

第一个interceptor会在消息发送前将时间戳信息加到消息value的最前部;第二个interceptor会在消息发送后更新成功发送消息数或失败发送消息数到控制台。参数指定多个interceptor按序作用于同一条消息从而形成一个。producer生成消息时,interceptor使得用户在。对消息做定制化处理。注producer将按照指定顺序调用拦截器,并。,确保在消息被序列化以及计算分区前调用。方法会运行在用户主线程中,封装进。可获取配置信息,初始化调用一次。关闭拦截器,执行资源清理工作。...

2022-07-21 08:09:39 43229

原创 kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)

kafka官网。

2022-07-20 17:20:40 49175

原创 scala 函数&方法、函数&方法的实现原理

可以赋值给一个变量。scala中的方法跟Java类似,方法是组成类的一部分。scala中的函数则是一个完整的对象。类中的方法可以重载和重写,而函数没有重载和重写的概念,但是函数可嵌套使用。(3)所谓的方法,就是类中方法,无需进行任何改变。把上诉scala代码(main函数内部的。(1)所谓的函数,就是在对象中生成。(2)所谓的嵌套函数,实际上是。嵌套函数test()方法,并自动增加后缀。...

2022-07-19 17:20:48 42950

原创 scala Breaks.break()、Breaks.breakable()、控制抽象

然而一旦抛出异常,逻辑无法继续执行,需要结合。scala中,函数作为参数,且无参无返回值。scala中没有break关键字,采用。注函数的参数列表,如果是。查看breakable源码。则可以传递代码逻辑,这种。跳出循环,实现原理是。抛出异常改变逻辑顺序。...

2022-07-19 15:33:48 42999

原创 scala Object关键字声明的类直接调用方法、伴生对象

静态语法不是面向对象的,所以scala中没有静态语法,为了和java兼容,所以。使用Object关键字声明的类,如Student,可。Object声明的类中伴随着类所产生的单例对象。Student,会产生2个类文件,一个就是。可以返回对象,而这个对象只有一个,称之为。,无法直接构建对象,在类的内部通过。通过类名直接访问方法。实际使用的是单例对象。...

2022-07-15 15:46:38 43097

原创 scala for循环 (循环守卫、 循环步长、循环嵌套 、引入变量、循环返回值、循环中断 Breaks)

scala所有的表达式都是有返回值的,但是返回值并不一定都是有值的,循环时可以增加条件来决定是否继续循环体的执行(建议第二种方式),yield关键字会把每次循环结果放置在一个新的结果中。若需要将for循环的结果作为返回值使用,需要采用。提供2种循环嵌套的方式(建议第二种方式)scala的集合可设定循环的增长幅度。......

2022-07-15 14:12:54 65178

原创 scala 分支控制 (单分支、双分支、多分支)、 分支判断的返回值

输入年龄,如果年龄小于18岁,则输出“童年”。如果年龄大于等于18且小于等于30,则输出“青年”,如果年龄大于30小于等于50,则输出”中年”,否则,输出“老年”scala中如果逻辑代码只有一行,花括号可省略,若需要三元运算符,可使用。(1)下面代码中的变量result类型为Any类型,用于匹配不同分支的执行结果。,需要在执行之前将数据类型确定,编译器在编译时就会考虑多种情况下的通用方案。(2)下面代码中的变量result类型为String类型。视为一个整体,返回值为Unit,被赋予变量b。...

2022-07-15 10:43:26 43323

原创 linux上 选择所需的版本,安装Node.js 、which指令在环境变量设置的目录里查找符合条件的文件

  在linux服务器上安装Nodejs  node.js官方下载,选择所需的发行版(Node.js 12.18.0)即  通过或者获取  解压  进入解压目录  设置环境变量添加   查看node的版本,观察是否安装成功注:在服务器上之前有安装node.js,需要清理,这里删除环境路径下的连接......

2022-07-12 15:47:04 62869

原创 Command execution failed.: Cannot run program fpm异常、编译ruby安装fpm工具

问题:  maven打包报错原因:  执行命令,发现没有安装fpm工具解决:  fpm打包需要用到rpmbuild工具  删除yum源安装的老版本ruby  从ruby官网下载ruby-2.5.9版本的源代码包  把下载的包编译安装到/home/software/下  建立软连接  查看对应版本  使用gem安装fpm,版本为1.9.3  建立软连接  查看对应版本...

2022-07-12 14:49:29 63589

原创 Too many files with unapproved license异常、使用-Drat.skip=true跳过 或者 对没有授权的文件开头添加授权

问题:原因:  使用apache-rat-plugin,代码中存在许多文件没有获得许可解决:  在maven命令后添加参数 或者  读取报错中的文件,找到在没有授权的文件开头添加

2022-07-12 12:19:32 64561

原创 svn svn拉取代码报错,Can‘t convert string from ‘UTF-8‘ to native encoding、修改服务器字符集设置、locale查看服务器语言设置

问题:  执行命令拉取代码报错原因:  SVN客户端解决:  修改环境变量 :  生效环境变量配置  ,查看中英文环境

2022-07-12 11:53:08 43595

原创 scala java中==和equals (String比较) 、 scala中==和equals、eq (String比较)

  java中字符串双等号比较值(引用的内存地址)是否相同;重写equals方法,比较的是   java中的,,如果2个值需要比较,只能采用双等号运算符。而Scala完全面向对象,因此都采用的方式比较对象,但是scala为了兼容其他语言,仍然保留双等号的功能,但是比较方式发生改变。如果使用双等号进行数据的比较,首先进行,然后比较。如果需要,使用注: 运算符编译scala为java代码后,如下所示...

2022-07-11 23:59:01 43660

原创 python linux下使用Conda搭建和自由切换Python环境、pip切换镜像为清华源

  conda是一个用于在同一个机器上创建不同的Python虚拟环境的包、环境管理器;下载链接本博客在centos服务器上部署的python版本为3.7  在安装包的文件夹下,执行命令进行安装,安装过程中问题回答输入yes  配置环境变量,路径为安装的路径添加  检验anaconda是否安装成功1.2 创建python版本环境,Python3.7版本  创建python版本环境  查看环境列表   激活python3.7环境  关闭python3.7环境注:  原因是:在当前的co

2022-07-11 16:38:01 65978

原创 scala socket通信、client端发送数据为对象,server端接收对象数据

  Scala进行socket 通信时,采用的是 java中的I/O类。如果需要在网络中传递对象,实际上传递对象所表示的字节码数据()java实体类client端在发送对象数据时,需要使用server端在接收对象时,需要使用...

2022-07-09 08:42:45 43306

原创 scala 字符串连接 、传值字符串、插值字符串、多行字符串(stripMargin修改顶格符)

  在 Scala 中,字符串类型实际上就是 Java中的 String类,本身没有 String 类。String 是一个,修改字符串就会产生一个新的字符串对象。拼接字符串示例:printf实际调用java的示例:示例:   采用包含的字符串 ,可在stripMargin修改顶格符示例:...

2022-07-08 16:40:58 43830

原创 scala 语法声明、变量初始化、可变变量、不可变变量

  变量是一种使用方便的占位符,用于引用计算机内存地址如注:  变量的类型如果可以,那么,Scala编译器2. 变量初始化  在Scala语法中注:如:打包后,反编译字节码文件发现在main方法中没有出现变量name的声明如:  ,称之为可变变量,但是, Scala中可变变量如4. 不可变变量  ,称之为不可变变量。Scala中不可变变量使用关键字进行声明, 类似于Java语言中的final关键字......

2022-07-08 11:33:05 43680

原创 hive 自定义函数、GenericUDF、GenericUDTF(自定义函数计算给定字符串的长度、将一个任意分割符的字符串切割成独立的单词)

  当Hive提供的内置函数无法满足业务处理需要时,可以考虑使用用户自定义函数官方文档  UDF(User-Defined-Function)   UDAF(User-Defined Aggregation Function)聚集函数,  UDTF(User-Defined Table-Generating Functions)  (1)继承Hive提供的类  (2)实现类中的抽象方法  (3)在hive的命令行窗口创建函数添加jar创建function  (4)在hive的命令行窗口删除函数

2022-07-05 23:04:18 62663

Xshell+Xftp安装包

解压后,2个安装目录Xshell+Xftp

2024-02-06

notepad文本编辑器安装包

解压缩后,执行安装文件

2024-02-06

redis客户端连接工具

解压缩后,执行exe文件,即可安装

2024-02-06

反编译工具luyten

java反编译工具

2020-09-30

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

TA关注的人

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