摘要: 现实世界中,所有的数据都是以流式的形态产生的,不管是哪里产生的数据,在产生的过程中都是一条条地生成,最后经过了存储和转换处理,形成了各种类型的数据集。如下图所示,根据现实的数据产生方式和数据产生是否含有边界(具有起始点和终止点)角度,将数据分为两种类型的数据集,一种是有界数据集,另外一种是无界数据集 阅读全文
posted @ 2020-11-20 17:46 Java程序员进阶 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一、运行环境介绍 Flink执行环境主要分为本地环境和集群环境,本地环境主要为了方便用户编写和调试代码使用,而集群环境则被用于正式环境中,可以借助Hadoop Yarn、k8s 或 Mesos等不同的资源管理器部署自己的应用。环境依赖:【1】JDK环境:Flink核心模块均使用 Java开发,所以运 阅读全文
posted @ 2020-11-20 17:44 Java程序员进阶 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、什么是状态 无状态计算的例子:例如一个加法算子,第一次输入 2+3=5 那么以后我多次数据 2+3 的时候得到的结果都是5。得出的结论就是,相同的输入都会得到相同的结果,与次数无关。有状态计算的例子:访问量的统计,我们都知道 Nginx 的访问日志一个请求一条日志,基于此我们就可以统计访问量。如 阅读全文
posted @ 2020-11-20 17:41 Java程序员进阶 阅读(10) 评论(0) 推荐(0) 编辑
摘要: Flink API 总共分为4层链接这里主要整理 Table API 的使用 Table API是流处理和批处理通用的关系型 API,Table API可以基于流输入或者批输入来运行而不需要进行任何修改。Table API 是 SQL语言的超集并专门为 Apache Flink设计的,Table A 阅读全文
posted @ 2020-11-20 17:25 Java程序员进阶 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、基本组件栈 在Flink整个软件架构体系中,同样遵循着分层的架构设计理念,在降低系统耦合度的同时,也为上层用户构建 Flink应用提供了丰富且友好的接口。从下图中可以看出整个 Flink的架构体系基本上可以分为三层,由上往下依次是 API & Libraries层、Runtime核心层以及物理部 阅读全文
posted @ 2020-11-20 17:15 Java程序员进阶 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】: Could not build the program from JAR file. Use the help option (-h or --help) to get help on the command. 【产生原因】:之前 per-job启动的时候,它们都用 flink1.8 阅读全文
posted @ 2020-11-20 17:12 Java程序员进阶 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Flink 提供了丰富的客户端操作来提交任务和与任务进行交互。下面主要从Flink命令行、Scala Shell、SQL Client、Restful API 和 Web 五个方面进行整理。 在 Flink 安装目录的 bin目录下可以看到 flink,start-scala-shell.sh 和 阅读全文
posted @ 2020-11-20 17:07 Java程序员进阶 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 在介绍 Checkpoint 的执行机制前,我们需要了解一下 state 的存储,因为 state 是 Checkpoint 进行持久化备份的主要角色。Checkpoint 作为 Flink 最基础也是最关键的容错机制,Checkpoint 快照机制很好地保证了 Flink 应用从异常状态恢复后的数 阅读全文
posted @ 2020-11-20 17:02 Java程序员进阶 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Flink 的 API 大体上可以划分为三个层次:处于最底层的 ProcessFunction、中间一层的 DataStream API 和最上层的 SQL/Table API,这三层中的每一层都非常依赖于时间属性。时间在 Flink 中的地位如下图所示:​时间属性是流处理中最重要的一个方面,是流处 阅读全文
posted @ 2020-11-20 16:55 Java程序员进阶 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 负载均衡(Load Balance): 意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其他任务服务器等,从而共同完成工作任务。负载均衡建立在现有的网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的宽带、增加吞 阅读全文
posted @ 2020-11-20 16:50 Java程序员进阶 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、为什么 Nginx可以采用异步非阻塞的方式来处理 看看一个请求的完整过程:请求过来,要建立连接,然后再接收数据,接收数据后,再发送数据。 具体到系统底层,就是读写事件,而当读写事件没有准备好时,必然不可操作,如果不用非阻塞的方式来调用,那就得阻塞调用了,事件没有准 阅读全文
posted @ 2020-11-20 16:45 Java程序员进阶 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、目前常见的Web服务器 【1】 Apache(http://httpd.apache.otg):仍是世界上用的最多的web服务器,市场占有率60%左右,模块非常丰富,系统非常稳点,可移植性好,但比较消耗内存。并发能力比较差。最多支持到3千到5千。 【2】 Ligh 阅读全文
posted @ 2020-11-20 16:32 Java程序员进阶 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 优质博文 IT-BLOG-CN 虚拟主机使用的是特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台 “虚拟” 的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完成的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访 阅读全文
posted @ 2020-11-20 16:19 Java程序员进阶 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 一、RPC 服务的原理 【1】Socket 套接字:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为 Socket。可以实现不同计算机之间的通信,是网络编程接口的具体实现。Socket 套接字是客户端/服务端网络结构程序的基本组成部分。【2】RPC 的调用过程:实现透明的远程 阅读全文
posted @ 2020-11-20 14:59 Java程序员进阶 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、是什么 Docker 的理念:将运行的环境打包形成容器运行,运行可以伴随着容器,但是我们希望对数据做持久化,同时希望容器之间能够共享数据。Docker 产生的数据,如果不通过 docker commit 生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删 阅读全文
posted @ 2020-11-20 14:23 Java程序员进阶 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG-CN 一、Dockerfile 是什么? DockerFile 是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 构建三步骤: 编写 Dockerfile 文件——>docker build——>docker run例如:centos 构建文件: 阅读全文
posted @ 2020-11-20 14:21 Java程序员进阶 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 目录 一、简介 二、Docker的基本组成 三、Docker的安装 四、配置国内阿里云镜像加速 五、Hello World 上手实践 六、Docker底层原理 更多内容,前往 IT-BLOG 一、简介 Docker 是基于 Go 语言实现的云开源项目。主要目标是 “Build,Ship and Ru 阅读全文
posted @ 2020-11-20 14:18 Java程序员进阶 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、帮组命令 ● docker version :验证Docker安装的信息 ● docker info:比version更详细的Docker信息 ● docker --help:Docker帮助文档 二、Docker启动、停止、重启命令 ● service docker start:启动 ● se 阅读全文
posted @ 2020-11-20 14:13 Java程序员进阶 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 一、Redis 持久化方式(RDB) 【1】RDB(Redis DataBase): 在指定的时间间隔内将内存中的数据集以快照的形式写入磁盘,也就是行话讲的 Snapshot (快照),它恢复时是将快照文件直接读到内存里。Redis 会单独创建(Fork)一个子进程来进行持久化,会先将数据写入到一个 阅读全文
posted @ 2020-11-20 13:43 Java程序员进阶 阅读(25) 评论(0) 推荐(0) 编辑
摘要: Redis 事务:可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序串行化执行而不会被其它命令插入,一次性、顺序性、排他性的执行一系列命令。 一、常用命令 【1】:开启一个事务【2】 :执行事务中的命令。可以看到 开始到 之间,所有的命令都会被加入到一个命令队列中。当 阅读全文
posted @ 2020-11-20 13:19 Java程序员进阶 阅读(267) 评论(0) 推荐(0) 编辑