Flink集群搭建.
Flink可以选择的部署方式有:
Local、Standalone(资源利用率低)、Yarn、Mesos、Docker、Kubernetes、AWS。
我们主要对Standalone模式和Yarn模式下的Flink集群部署进行分析。
Standalone模式安装
(提示:您需要准备三台已经搭建好的集群,具备jdk,ssh免密登录等配置)
我们对standalone模式的Flink集群进行安装,准备三台虚拟机,其中一台作为JobManager(hadoop-senior01),另外两台作为TaskManager(hadoop-senior02、hadoop-senior03)。
- 在官网下载1.6.1版本Flink(https://archive.apache.org/dist/flink/flink-1.6.1/)。
- 将安装包上传到要按照JobManager的节点(hadoop-senior01)。
- 进入Linux系统对安装包进行解压:
$ cd /opt/software (software,module目录需提前创建)
software $ tar -zxvf flink-1.6.1-bin-hadoop27-scala_2.11.tgz -C /opt/module/
- 修改安装目录下conf文件夹内的flink-conf.yaml配置文件,指定JobManager:
cd /opt/module/flink-1.6.1/conf
vim flink-conf.yaml
注意此处节点需修改为自己的
- 修改安装目录下conf文件夹内的slave配置文件,指定TaskManager:
vim slaves
hadoop-senior02.itguigu.com
hadoop-senior03.itguigu.com
- 将配置好的Flink目录分发给其他的两台节点:
xsync flink-1.6.1
分发脚本联系我获取,或者hadoop文档会有。
- 在hadoop-senior01节点启动集群:
cd flink-1.6.1/
bin/start-cluster.sh
- 通过jps查看进程信息
[crayzjack@hadoop-senior01 flink-1.6.1]$ jps
11826 StandaloneSessionClusterEntrypoint
12146 RunJar
12319 Jps
[crayzjack@hadoop-senior02 flink-1.6.1]$ jps
3249 TaskManagerRunner
3287 Jps
[crayzjack@hadoop-senior03 flink-1.6.1]$ jps
3366 TaskManagerRunner
3322 Jps
- 访问集群web界面(8081端口):
Yarn模式安装
(提示:您需要准备三台已经搭建好的集群,具备jdk,ssh免密登录,Hadoop框架等配置)
1 在官网下载1.6.1版本Flink(https://archive.apache.org/dist/flink/flink-1.6.1/)。
2 将安装包上传到要按照JobManager的节点(hadoop-senior01)。
3 进入Linux系统对安装包进行解压:
$ cd /opt/software (software,module目录需提前创建)
software $ tar -zxvf flink-1.6.1-bin-hadoop27-scala_2.11.tgz -C /opt/module/
- 修改安装目录下conf文件夹内的flink-conf.yaml配置文件,指定JobManager:
cd /opt/module/flink-1.6.1/conf
vim flink-conf.yaml
注意此处节点需修改为自己的
- 修改安装目录下conf文件夹内的slave配置文件,指定TaskManager:
vim slaves
hadoop-senior02.itguigu.com
hadoop-senior03.itguigu.com
- 将配置好的Flink目录分发给其他的两台节点:
xsync flink-1.6.1
- 明确虚拟机中已经设置好了环境变量HADOOP_HOME。
- 启动Hadoop集群(HDFS和Yarn)。
- 在hadoop-senior01节点提交Yarn-Session,使用安装目录下bin目录中的yarn-session.sh脚本进行提交:
/opt/module/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:后台执行。
-
启动后查看Yarn的Web页面,可以看到刚才提交的会话:
- 在提交Session的节点查看进程:
[crayzjack@hadoop-senior01 flink-1.6.1]$ jps
11826 Namenode
12146 Datenode
4101 NodeManager
2230 YarnSessionClusterEntrypoint
12319 Jps
- 提交Jar到集群运行
/opt/modules/flink-1.6.1/bin/flink run -m yarn-cluster examples/batch/WordCount.jar
-
提交后在Yarn的Web页面查看任务运行情况:
-
任务运行结束后在控制台打印如下输出: