@malloc

导航

Flink简单介绍

一、优势

1、高吞吐、低延迟、高性能

  spark:高吞吐、高性能,用微批处理实现流式计算,无法达到低延迟;

  storm:低延迟、高性能,无法达到高吞吐

2、支持事件时间(event time)

  spark streaming只支持系统时间(process time),即消息到达计算框架处理时的系统主机时间,不支持事件发生的时间。

3、有状态计算

  流式计算中将中间结果保存在内存或文件系统中,无需每次读取全部原始数据,提高性能,可支持TB级的状态管理。

4、窗口(Windows)操作

  基于Time、Count、Session、Data-driven等类型窗口操作,可以自定义窗口触发机制。

5、基于轻量级分布式快照(snapshot)实现的容错

  基于snapshot的checkpoint,设置检查点时间,可周期性地将状态信息持久化存储,实现容错。默认只保留最新的checkpoint,应用结束时会删除,可设置保留份数和不删除。

6、独立的内存管理

  减少JVM GC对系统的影响,数据序列化存储在内存,利用率更高效。

7、Save Point(保存点) savepoint和checkpoint(https://blog.csdn.net/qq_26654727/article/details/83833517)

  手动创建,应用终止时,将应用执行的快照保存在存储介质中,用于更改job,版本更新时手动创建保存点,便于恢复之前状态。

 8、log路径修改:

  

#/bin/config.sh 若flink-conf.yaml配置了env.log.dir,则使用配置的路径,否则默认log目录为FLINK_ROOT_DIR/log
FLINK_CONF_FILE="flink-conf.yaml"
YAML_CONF=${FLINK_CONF_DIR}/${FLINK_CONF_FILE}
KEY_ENV_LOG_DIR="env.log.dir"
DEFAULT_FLINK_LOG_DIR=$FLINK_ROOT_DIR_MANGLED/log
FLINK_LOG_DIR=$(readFromConfig ${KEY_ENV_LOG_DIR} "${DEFAULT_FLINK_LOG_DIR}" "${YAML_CONF}")

#docker运行flink 默认taskmanager不写入日志文件,需修改docker-entrypoint.sh脚本中 start-foreground 为start
$FLINK_HOME/bin/taskmanager.sh start "$@"
View Code

 

posted on 2019-08-28 13:50  malloc+  阅读(210)  评论(0编辑  收藏  举报