前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >会了也要看的flink安装部署|适合阅读

会了也要看的flink安装部署|适合阅读

作者头像
Spark学习技巧
发布2019-03-08 14:43:06
1.5K0
发布2019-03-08 14:43:06
举报
文章被收录于专栏:Spark学习技巧Spark学习技巧

Flink支持运行与所有的类linux环境,比如linux,mac os x 和cygwin(windows),要求一个master节点,一个或者多个worker节点。再部署启动flink集群之前,要准备一下环境,对每个节点的环境要求是:

  1. 需要java 1.8.x或者更高版本
  2. ssh(sshd一定要启动,因为要用flink脚本去管理集群远程的节点)

如果,你集群环境不满足这些软件要求,请及时安装和更新。

假如ssh是免密码登陆的,然后保证每个集群的安装路径都一样,这样可以方便的使用flink脚本管理集群。

JAVA_HOME配置是flink集群必须要求的,也可以通过conf/flink-conf.yaml里的env.java.home属性设置。

Flink集群配置

在下载flink

https://flink.apache.org/downloads.html

然后解压

tar -zxfflink-1.7.1-bin-hadoop27-scala_2.11.tgz

配置的要点分析

master选定

在解压之后,就可以开始编辑flink的conf/flink-conf.yaml进行配置了。

必要重要的点是选定master节点,配置属性叫做:jobmanager.rpc.address。

内存配置

根据自己的实际情况集群大小,业务繁忙度设置合理的jobmananger的jvm内存,属性是jobmanager.heap.mb 和taskmanager.heap.mb。

单位是MB。当然,有些集群可能是节点直接内存可能有大有小,这样统一flink的taskmanager配置,会导致一些节点物理内存荒废,所以建议是可以通过FLINK_TM_HEAP这个环境变量来调整,该环境变量会覆盖掉配置文件内部的taskmanager.heap.mb配置。

指定worker节点

集群的哪些节点被配置为worker节点,也是需要明确指定的,这个很类似hdfs的配置,需要编辑conf/slaves文件,然后将所有wroker节点的ip或者host写入该文件即可。然后就可以ssh到所有机器的节点上启动集群。

当然,有些人要抬杠了,我就不配置slaves,我要一台一台启动taskmanager,只能说完全没问题。

单节点无需配置,解压之后可以直接启动的。

配置案例

官网给出了一个三节点的集群(10.0.0.1到10.0.03)

再次强调,在每个节点flink的home路径要存在且统一,最简单的方式是用NFS,当然也可以scp的方式分发到每个节点。

重要配置解析

  • jobmanager.heap.mb:jobmanager的堆内存。
  • taskmanager.heap.mb:taskmanager的堆内存。
  • taskmanager.numberOfTaskSlots:每个机器slots的数量,官方说是cpu的数量一个意思一般slot数就可以设置为cpu数或者cpu数的整数倍。
  • parallelism.default :任务启动的时候的默认并行度。
  • taskmanager.tmp.dirs : taskmanager的运行临时路径,可以配置多路径,有ssd更好。

启动flink集群

bin/start-cluster.sh 脚本在是启动整个flink集群的脚本,执行的时候会现在本地启动一个jobmanager,然后使用ssh连接到slaves文件配置的所有worker节点启动taskmanager。Taskmanager通过前面配置的jobmanager的rpc端口链接到jobmanager,这样整个集群就启动了。

停止集群采用的脚本是bin/stop-cluster.sh。

上面的启动方式主要是从零启动一个正常的集群,那么很多时候我们会给集群添加机器,这个时候怎么办呢?

Flink提供了两个脚本

增加一个JobManager

代码语言:javascript
复制
bin/jobmanager.sh ((start|start-foreground)[host] [webui-port])|stop|stop-all

增加一个TaskManager

代码语言:javascript
复制
bin/taskmanager.shstart|start-foreground|stop|stop-all

执行命令所在的机器就是你要添加到集群的机器,切记啊。

但是,standalone集群用的不多,还是后面要重点讲的on yarn用的多~

更多flink教程环境加入浪尖知识星球~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浪尖聊大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档