Flink 集群搭建

转载连接 https://www.jianshu.com/p/44bd6b652204

Flink 集群搭建

Flink 可以选择的部署方式有:
Local、Standalone(资源利用率低)、Yarn、Mesos、Docker、Kubernetes、AWS。
我们主要对 Standalone 模式和 Yarn 模式下的 Flink 集群部署进行分析。

3.1Standalone 模式安装

我们对 standalone 模式的 Flink 集群进行安装,准备三台虚拟机,其中一台作为
JobManager(hadoop-senior01),另外两台作为 TaskManager(hadoop-senior02、
hadoop-senior03)。

  1. 在官网下载 1.6.1 版本 Flink(https://archive.apache.org/dist/flink/flink-1.6.1/)。
  2. 将安装包上传到要按照 JobManager 的节点(hadoop-senior01)。
  3. 进入 Linux 系统对安装包进行解压:


    微信截图_20190523132319.png
  4. 修改安装目录下 conf 文件夹内的 flink-conf.yaml 配置文件,指定 JobManager:


    微信截图_20190523132410.png

    微信截图_20190523132434.png
  5. 修改安装目录下 conf 文件夹内的 slave 配置文件,指定 TaskManager:


    微信截图_20190523132531.png
  6. 将配置好的 Flink 目录分发给其他的两台节点:
scp -r /opt/modules/flink-1.6.1 hadoop-senior02.itguigu.com:/opt/modules
scp -r /opt/modules/flink-1.6.1 hadoop-senior03.itguigu.com:/opt/modules
  1. 在 hadoop-senior01 节点启动集群:


    微信截图_20190523133148.png
  2. 通过 jps 查看进程信息:


    微信截图_20190523133223.png
  3. 访问集群 web 界面(8081 端口):


    微信截图_20190523133306.png

3.2Yarn 模式安装

1 在官网下载 1.6.1 版本 Flink(https://archive.apache.org/dist/flink/flink-1.6.1/)。
2 将安装包上传到要按照 JobManager 的节点(hadoop-senior01)。
3 进入 Linux 系统对安装包进行解压:

微信截图_20190523133415.png

4 修改安装目录下 conf 文件夹内的 flink-conf.yaml 配置文件,指定 JobManager:
微信截图_20190523133508.png

5 修改安装目录下 conf 文件夹内的 slave 配置文件,指定 TaskManager:
微信截图_20190523133545.png

6 将配置好的 Flink 目录分发给其他的两台节点:

scp -r /opt/modules/flink-1.6.1 hadoop-senior02.itguigu.com:/opt/modules
scp -r /opt/modules/flink-1.6.1 hadoop-senior03.itguigu.com:/opt/modules
  1. 明确虚拟机中已经设置好了环境变量 HADOOP_HOME。
  2. 启动 Hadoop 集群(HDFS 和 Yarn)。
  3. 在 hadoop-senior01 节 点 提 交 Yarn-Session, 使 用 安 装目 录 下 bin 目录中的yarn-session.sh 脚本进行提交:
/opt/modules/flink-1.6.1/bin/yarn-session.sh -n 2 -s 6 -jm 1024 -tm 1024 -nm test -d

其中:
-n(--container):TaskManager 的数量。
-s(--slots): 每个 TaskManager 的 slot 数量,默认一个 slot 一个 core,默认每个
taskmanager 的 slot 的个数为 1。
-jm:JobManager 的内存(单位 MB)。
-tm:每个 taskmanager 的内存(单位 MB)。
-nm:yarn 的 appName(现在 yarn 的 ui 上的名字)。
-d:后台执行。

  1. 启动后查看 Yarn 的 Web 页面,可以看到刚才提交的会话:


    微信截图_20190523133911.png
  2. 在提交 Session 的节点查看进程:


    微信截图_20190523133943.png
  3. 提交 Jar 到集群运行:
/opt/modules/flink-1.6.1/bin/flink run -m yarn-cluster examples/batch/WordCount.jar
  1. 提交后在 Yarn 的 Web 页面查看任务运行情况:


    微信截图_20190523134104.png
  2. 任务运行结束后在控制台打印如下输出:


    微信截图_20190523134144.png

本文链接:https://blog.csdn.net/bigtree_3721/article/details/100052503

首次集群运行查看

bin/yarn-session.sh -n 3 -s 3 -jm 1024  -tm 1024 -nm pinpoint-flink-job

在这里插入图片描述
注意上面给出了Job manager GUI地址:

Flink JobManager is now running on sltlrdwgty2.novalocal:44648 with leader id 00000000-0000-0000-0000-000000000000.
JobManager Web Interface: http://sltlrdwgty2.novalocal:44648

你的输出和你的YARN 集群配置有关。你可以根据这个GUI 地址去查看Flink Job mgr的信息了,样子如下。
Flink 集群搭建_第1张图片
注意:部署长期运行的flink on yarn实例后,在flink web上看到的TaskManager以及Slots都为0。只有在提交任务的时候,才会依据分配资源给对应的任务执行。

Step 2: 提交Job到长期运行的flink on yarn实例上

# cd <你的flink安装目录>
# wget -O LICENSE-2.0.txt http://www.apache.org/licenses/LICENSE-2.0.txt
# hadoop fs -put ./LICENSE-2.0.txt hdfs://nameservice1:/billflink/
# bin/flink run ./examples/batch/WordCount.jar --input hdfs://nameservice1:/billflink/LICENSE-2.0.txt --output  hdfs://nameservice1:/billflink/wordcount_result.txt

在这里插入图片描述
注:输出有下面的信息:2019-08-25 11:33:40,546 INFO org.apache.flink.yarn.AbstractYarnClusterDescriptor - Found application JobManager host name ‘sltlrdwgty2.novalocal’ and port ‘44648’ from supplied application id ‘application_1565019835797_0516’。

所以上面提交job时候,不需要指定job manager的地址,应该flink clinet能找到:job manager 和 application master是在同一个主机上。

去观察flink job manager GUI,如下所示。可以看到有作业提交和完成了。
Flink 集群搭建_第2张图片

# hadoop fs -text hdfs://nameservice1:/billflink/wordcount_result.txt
0 3
1 2
2 4
2004 1
3 1
4 1
5 1

可以看到有统计的结果了。

然后可以删除掉上次的统计结果,再次提交作业

# hadoop fs -rm hdfs://nameservice1:/billflink/wordcount_result.txt
# bin/flink run ./examples/batch/WordCount.jar --input hdfs://nameservice1:/billflink/LICENSE-2.0.txt --output  hdfs://nameservice1:/billflink/wordcount_result.txt
 

这时候,flink job manager 的GUI如下所示,显示有两个作业完成了。
Flink 集群搭建_第3张图片

你可能感兴趣的:(Flink,flink)