flink
未济2019
这个作者很懒,什么都没留下…
展开
-
[flink-001]flink的心跳机制
1.心跳接口 一个分布式集群有多个节点。节点之间有心跳机制,以确认每个节点是正常工作的。心跳机制,就是每隔N秒,一个节点向其他节点发消息,其他节点收到后,回复一个消息。超过M秒没有回复,视为TimeOut,节点被视为不能正常工作。 假设一个flink集群有3个节点:A,B1,B2。A是master节点,B1和B2是worker节点。根据flink的心跳机制,A节点每3秒向B1和B2发起心跳请求...原创 2019-08-09 22:20:55 · 2037 阅读 · 0 评论 -
[flink-014]Sink和ES6的ElasticsearchSink
Sink,水池。Flink的计算结果,最终传给Sink落地存储。 Sink支持多种存储系统,包括数据库和消息队列,比如JDBC、Kaffka、Elasticsearch、Hbase.... 从源头说起。 接口Function,位于Function.java,空接口,是所有用户自定义函数的根接口。 接口SinkFunction,继承Function,是所有用户自定义Sink函数的顶层接口。它...原创 2019-08-29 11:30:07 · 3324 阅读 · 0 评论 -
[flink-013]JobMaster:一个JobGraph执行完整流程
JobMaster负责一个JobGraph的完整执行。 JobMaster只有一个构造函数,入参包括要运行的JobGraph对象。入参包括SchedulerNGFactory,用于创建SchedulerNG调度器,安排Job的执行流程,是Job执行的重要部分。 Job执行的入口函数是startJobExecution。这个函数先调用startJobMasterServices,依次启动心跳服务...原创 2019-08-28 10:37:21 · 1092 阅读 · 0 评论 -
[flink-012]最小计算单元Task及其被用
Task(org.apache.flink.runtime.taskmanager.task)是一个最小计算单元,也是一个最小计算子任务subtask,它封装了一个算子Opetrator,实现完整的算子计算的相关功能,并跟JobManger通讯,把结果发给JobManager。 Task的行为很简单--它持有自己run函数的代码,配置信息,存储中间结果,除此之外什么都不知道,JobManger安...原创 2019-08-26 21:39:21 · 975 阅读 · 0 评论 -
[flink-010]flink的编译
1.在github上的源码,似乎有问题 https://github.com/apache/flink.git 这里编译会卡在s3项目不通过。 2.在flink主页上的源码 http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.8.1/flink-1.8.1-src.tgz 编译命令 mvn clean package -Dma...原创 2019-08-23 13:41:56 · 430 阅读 · 0 评论 -
[flink-009]jar包在flink的执行过程
1.执行java包的命令是 ./bin/flink -c MainClassName x.jar 2. bin/flink脚本,启动 类org.apache.flink.client.cli.CliFrontend 执行jar包。该类位于flink/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java ...原创 2019-08-22 15:56:09 · 4635 阅读 · 1 评论 -
[flink-008]分布式计算环境
(译改自https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/runtime.html) 在分布式环境下,flink把多个算子子任务operator subtask,chain链接成一个task。每个task由一个线程执行。 flink集群有两种角色: JobManager,也叫master,管理计算环境,包...原创 2019-08-22 10:22:33 · 498 阅读 · 0 评论 -
[flink-007]flink编程模型(dataflow programming model)
(译改自https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/programming-model.html) flink有4层抽象,从低到高,依次是:1.statfule streaming processing有状态的流处理,包括流、状态、事件时间; 2.core api核心api,包括DataSet和Data...原创 2019-08-22 09:48:17 · 753 阅读 · 0 评论 -
[flink-006]在本地flink1.8.1集群上运行一个最简单的批处理例子
1.下载flink安装包 https://www.apache.org/dyn/closer.lua/flink/flink-1.8.1/flink-1.8.1-bin-scala_2.11.tgz 2.启动本地集群 tar xvfflink-1.8.1-bin-scala_2.11.tgz cdflink-1.8.1 ./bin/start-cluster.sh 此时,在http...原创 2019-08-21 19:33:05 · 1021 阅读 · 0 评论 -
[flink-011]DataSet源码以及各算子
DataSet<String> text = env.fromElements(new String[] {"To be, or not to be,--that is the question:--", "Whether 'tis nobler in the mind to suffer"}); DataSet<Tuple2<String, Integer>&g...原创 2019-08-25 16:30:14 · 775 阅读 · 0 评论 -
[flink-015] docker搭建两节点flink集群
1 拉取centos镜像 docker pull centos:latest 2.创建两个节点 docker run --name flinkmaster -it centos /bin/bash docker run --name flinkworker -it centos /bin/bash 3.安装jdk 1.8 常规操作,不写了。 4.将flink安装包cp到容器,解压缩 dock...原创 2019-09-04 16:05:59 · 1793 阅读 · 0 评论