没有合适的资源?快使用搜索试试~ 我知道了~
ubuntu系统下部署完全分布式flink平台及与平台相关的zookeeper,kafka平台的安装部署过程及遇见的问题的解决方案
资源推荐
资源详情
资源评论
简介 Apache Flink
Apache Flink 是一个面向分布式数据流处理和批量数据处理的开源计算平
台,它能够基于同一个 Flink 运行时(Flink Runtime),提供支持流处理和批处
理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种
不同的应用类型,因为他们它们所提供的 SLA 是完全不相同的:流处理一般需
要支持低延迟、Exactly-once 保证,而批处理需要支持高吞吐、高效处理,所
以在实现的时候通常是分别给出两套实现方法,或者通过一个独立的开源框架
来实现其中每一种处理方案。例如,实现批处理的开源方案有 MapReduce、
Tez、Crunch、Spark,实现流处理的开源方案有 Samza、Storm。Flink 在实现流
处理和批处理时,与传统的一些方案完全不同,它从另一个视角看待流处理和
批处理,将二者统一起来:Flink 是完全支持流处理,也就是说作为流处理看待
时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据
流被定义为有界的。基于同一个 Flink 运行时(Flink Runtime),分别提供了流
处理和批处理 API,而这两种 API 也是实现上层面向流处理、批处理类型应用
框架的基础。
流处理特性
• 支持高吞吐、低延迟、高性能的流处理
• 支持带有事件时间的窗口(Window)操作
• 支持有状态计算的 Exactly-once 语义
• 支持高度灵活的窗口(Window)操作,支持基于 time、count、session,
以及 data-driven 的窗口操作
• 支持具有 Backpressure 功能的持续流模型
• 支持基于轻量级分布式快照(Snapshot)实现的容错
• 一个运行时同时支持 Batch on Streaming 处理和 Streaming 处理
• Flink 在 JVM 内部实现了自己的内存管理
• 支持迭代计算
• 支持程序自动优化:避免特定情况下 Shuffle、排序等昂贵操作,中间结
果有必要进行缓存
JobManager 是 Flink 系统的协调者,它负责接收 Flink Job,调度组成 Job 的多
个 Task 的执行。同时,JobManager 还负责收集 Job 的状态信息,并管理 Flink
集群中从节点 TaskManager。TaskManager 也是一个 Actor,它是实际负责执行
计算的 Worker,在其上执行 Flink Job 的一组 Task。每个 TaskManager 负责管
理其所在节点上的资源信息,如内存、磁盘、网络,在启动的时候将资源的状
态向 JobManager 汇报。
当用户提交一个 Flink 程序时,会首先创建一个 Client,该 Client 首先会对
用户提交的 Flink 程序进行预处理,并提交到 Flink 集群中处理,所以 Client 需
要从用户提交的 Flink 程序配置中获取 JobManager 的地址,并建立到
JobManager 的连接,将 Flink Job 提交给 JobManager。Client 会将用户提交的
Flink 程序组装一个 JobGraph, 并且是以 JobGraph 的形式提交的。一个
JobGraph 是一个 Flink Dataflow,它由多个 JobVertex 组成的 DAG。其中,一个
JobGraph 包含了一个 Flink 程序的如下信息:JobID、Job 名称、配置信息、一
组 JobVertex 等。
ssh 免密登录
修改 hosts
输入命令:sudo vim /etc/hosts ,添加内容如下图所示,注意:ip 地址要正确
修改主机名
输入命令:sudo vim /etc/hostname ,修改后如下图所示
设置 ssh 免密登录
在 master 机器上
输入命令:ssh-keygen -t rsa 如下图所示
将公钥分别传到 slaves 下(以 slave1为例)
输入命令:ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
传输完成之后,ssh 免密登录已经完成。
安装 jdk
1、首先下载 jdk,本平台下使用的是1.8 版本,文件路径 :/
2、解压 jdk 输入命令:tar -zxvf jdk-8u151-linux-x64.tar.gz
3、将如下环境变量添加到 profile 中
输入命令:cd /etc
vim profile
export JAVA_HOME=/usr/local/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
如下图所示
4、输入命令:source ~/.profile 使修改的环境变量生效
5、查看 jdk 是否安装成功
输入命令:which java 出现下图(jdk 的版本信息)说明安装成功
6、将安装路径复制到 slave1,slave2,slave3下
scp -r /usr/local/jdk1.8.0_151/ flink@slave1:/usr/local/
scp -r /usr/local/jdk1.8.0_151/ flink@slave2:/usr/local/
scp -r /usr/local/jdk1.8.0_151/ flink@slave3:/usr/local/
至此 jdk 安装完成
配置 flink
1、首先下载 flink 安装包,本平台使用 flink1.3.2版本
2、下载 flink-1.3.2-bin-hadoop27-scala_2.10.tgz
3、解压 flink-1.3.2-bin-hadoop27-scala_2.10.tgz
输入命令:tar -zxvf flink-1.3.2-bin-hadoop27-scala_2.10.tgz
解压之后的是 flink-1.3.2文件夹
4、进入 flink-1.3.2 目录下,对 flink-conf.yaml 文件进行配置
输入命令:cd /home/flink/flink-1.3.2/conf
vim flink-conf.yaml
如下图所示:
需要配置的文件主要有以下几处
jobmanager.rpc.address :后面的 IP 地址为 master 主机的 IP
剩余19页未读,继续阅读
资源评论
sinat_28966361
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功