-
部署注意点
在Flink
的下载界面我们可以看到大致有两种Flink的下载版本,俩者的区别就是一种是有hadoop
支持的版本,如果需要和Hadoop
来进行交互的化,就需要下载此版本
上述只是针对于较低版本的
Flink
我们可以看到较高版本的下载可选择性是少了很多的,这就需要我们在额外的组件区域去找到自己所需要的组件,然后将下载后的jar
包,放置flink/lib
目录下即可
StandAlone模式
- 将压缩包解压到指定的目录:
tar -zxvf flink-1.10.1-bin-scala_2.12.tgz -C /home/
- 将压缩后的文件重命名:
mv flink-1.10.1/ flink
- 修改配置文件:
flink-conf.yaml
jobmanager.rpc.address: a
- 修改配置文件:
slaves
b c
- 将修改后的文件发送给其他的两个节点
scp -r /home/flink/ b:/home/ scp -r /home/flink/ c:/home/
- 启动Flink:
bin/start-cluster.sh
- 查看各个节点的进程
- 查看WEBUI:
localhost:8081
- 注意:词道的数量虽然不影响搭建,但是在运行代码时,可能会出现词道不足,运行失败,一般设置和本机的CPU数一致
Flink on yarn模式
-
注意:yarn模式的搭建要求Flink是有Hadoop支持的版本
-
或者将hadoop放到flink目录下的lib目录即可
Flink 提供了两种在 yarn 上运行的模式,分别为 Session-Cluster
和 Per-Job-Cluster
模式。
Session-Cluster
- Session-Cluster 模式需要先启动集群,然后再提交作业,接着会向 yarn 申请一块空间后,资源永远保持不变。如果资源满了,下一个作业就无法提交,只能等到yarn 中的其中一个作业执行完成后, 释放了资源, 下个作业才会正常提交。所有作业共享 Dispatcher 和 ResourceManager;共享资源;适合规模小执行时间短的作业。
- 在 yarn 中初始化一个 flink 集群,开辟指定的资源,以后提交任务都向这里提交。这个 flink 集群会常驻在 yarn 集群中, 除非手工停止。
- 需要先启动Hadoop
- 启动 yarn-session:
/yarn-session.sh -n 2 -s 2 -jm 1024 -tm 1024 -nm test -d
其中:
-n(–container): TaskManager 的数量。
-s(–slots): 每个 TaskManager 的 slot 数量,默认一个 slot 一个 core,默认每个taskmanager 的 slot 的个数为 1, 有时可以多一些 taskmanager,做冗余。
-jm: JobManager 的内存( 单位 MB)。
-tm:每个 taskmanager 的内存(单位 MB)。
-nm: yarn 的 appName(现在 yarn 的 ui 上的名字)。
-d:后台执行。
- 取消Session:
yarn application --kill application_1577588252906_0001
Per-Job-Cluster
-
一个 Job 会对应一个集群,每提交一个作业会根据自身的情况,都会单独向 yarn 申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。独享 Dispatcher 和 ResourceManager,按需接受资源申请;适合规模大长时间运行的作业。
-
每次提交都会创建一个新的 flink 集群,任务之间互相独立,互不影响,方便管理。任务执行完成之后创建的集群也会消失。
-
他的运行很简单,只要启动Hadoop后就可以了
跳转顶部