我会不间断的更新,维护,希望可以对正在找大数据工作的朋友们有所帮助.

Flink笔记03--Flink安装部署

Flink 支持多种部署模式:本地、集群(Standalone / YARN)、云(GCE / EC2)、kubenetes。下面实现的是Standalone模式的部署(未配置高可用)。

1、环境依赖及安装规划

  • CentOS 6.9 ,三个节点分别为node1、node2、node3
    备注:在上面的环境中已经安装了Hadoop(2.7)、Spark(2.3)等软件,当然这些不是必须的
  • Java 1.8
  • Flink 1.9.1 (flink-1.9.1-bin-scala_2.11.tgz)
    下载网址:https://archive.apache.org/dist/flink/flink-1.9.1/
  • 使用普通用户安装(我使用的是Spark),软件统一安装在 /opt/modules 目录下
  • 选择node1作为主节点;node1、node2、node3作为从节点

2、安装步骤

与Spark软件的安装类似,Flink的安装并不复杂。

1、下载软件并解压缩到 /opt/modules 目录下;配置环境变量 FLINK_HOME,并使之生效;(node1)

2、修改配置文件,配置文件在 $FLINK_HOME/conf目录下(node1)



# masters 文件定义主节点,内容如下
  node1:8081
  
  # slaves 文件定义从节点,内容如下
  node1
  node2
  node3
  
  # flink-conf.yaml 配置文件
  # jobmanager的hostname
  jobmanager.rpc.address: node1
  
  # 可选
  # jobmanager的port
  jobmanager.rpc.port: 6123
  # jobmanager的可用堆内存量(单位为MB)
  jobmanager.heap.size: 1024
  # 每个taskmanager的可用内存量(单位为MB)
  taskmanager.heap.size: 1024
  # 每个taskmanager的可用cpu数量
  taskmanager.numberOfTaskSlots: 1
  # 应用程序默认并行度
  parallelism.default: 1



3、将node1上的软件分发到node2、node3

3、系统启动

1、启动/关闭 集群服务

在主节点上(node1),执行$FLINK_HOME/bin/start-cluster.sh

使用 jps 分别检查node1、node2、node3上的进程:

node1:StandaloneSessionClusterEntrypoint、TaskManagerRunner

node2:TaskManagerRunner

node3:TaskManagerRunner

关闭服务,在主节点上执行,stop-cluster.sh

2、单独 启动/关闭 jobmanager、taskmanager

taskmanager.sh (start|start-foreground|stop|stop-all)

jobmanager.sh ((start|start-foreground) host)|stop|stop-all

3、web 界面

node1:8081 【node1:主节点;8081 web服务端口号】




Ubuntu系统flink往yarn上面怎么部署 flink部署方式_hdfs


图中标注1:集群中一共有6个 Task Slots

图中标注2:集群中一共有3个 Task Manager(分别为node1、node2、node3)

图中标注3:集群运行了0个Job


Ubuntu系统flink往yarn上面怎么部署 flink部署方式_spark验证部署和_02


从Task Managers选项页上可以看见集群中有3个Task Manager

4、运行测试程序

1、使用命令行提交Flink程序。使用 $FLINK_HOME/bin/flink 命令提交Flink程序。


flink run /opt/modules/flink-1.9.1/examples/streaming/WordCount.jar 
  --input hdfs://node1:8020/user/spark/data/a.txt 
  --output hdfs://node1:8020/user/spark/data/flinkwordcount


Ubuntu系统flink往yarn上面怎么部署 flink部署方式_spark验证部署和_03


备注:

1、运行测试程序的目的是验证安装的正确性,程序如何编写后文再将;

2、程序在集群中运行,所以最好将 hdfs 作为输入、输出。不要使用本地文件系统作为输入输出;

3、在Flink 1.9.1中要使用HDFS,需要从官方网站下载对应HDFS的jar包,放在 $FLINK_HOME/lib 目录下


Ubuntu系统flink往yarn上面怎么部署 flink部署方式_配置文件_04


2、使用Web界面提交Flink应用程序


Ubuntu系统flink往yarn上面怎么部署 flink部署方式_spark验证部署和_05


按上图数字顺序点击,选择要执行的jar


Ubuntu系统flink往yarn上面怎么部署 flink部署方式_配置文件_06


最后可以看见作业运行的状态:


Ubuntu系统flink往yarn上面怎么部署 flink部署方式_spark验证部署和_07