Flink的安装部署

一. Flink的下载

安装包下载地址:http://flink.apache.org/downloads.html  ,选择对应Hadoop的Flink版本下载

 

 

 

 Flink 有三种部署模式,分别是 Local、Standalone Cluster 和 Yarn Cluster。

二. Local模式

对于 Local 模式来说,JobManager 和 TaskManager 会公用一个 JVM 来完成 Workload。如果要验证一个简单的应用,Local 模式是最方便的。实际应用中大多使用 Standalone 或者 Yarn Cluster,而local模式只是将安装包解压启动(./bin/start-local.sh)即可,在这里不在演示。

三. Standalone HA模式

Standalone模式顾名思义,是在本地集群上调度执行,不依赖于外部调度机制例如YARN, 一般需要配置为HA,防止Jobmanager突然挂掉,导致整个集群或者任务执行失败的情况发生。下面介绍一下Standalone HA模式的搭建安装

当Flink程序运行时,如果jobmanager崩溃,那么整个程序都会失败。为了防止jobmanager的单点故障,借助于zookeeper的协调机制,可以实现jobmanager的HA配置—-1主(leader)多从(standby)。这里的HA配置只涉及standalone模式,yarn模式暂不考虑。 

本例中规划Jobmanager:hadoop01,hadoop02(一个active,一个standby);Taskmanager:hadoop02hadoop03;zookeeper集群

1.  集群部署规划

节点名称 master worker zookeeper
hadoop01 master  worker zookeeper
hadoop02 master worker zookeeper
hadoop03   woker zookeeper

 

 

 

 

 

 

 

2. 解压

[hadoop@hadoop01 apps]$ tar -zxvf flink-1.7.2-bin-scala_2.11.tgz -C ./

  [hadoop@hadoop01 apps]$ ls
  azkaban flink-1.7.2 flink-1.7.2-bin-scala_2.11.tgz flume-1.8.0 hadoop-2.7.4 jq kafka_2.11-0.11 zkdata zookeeper-3.4.10 zookeeper.out

3. 修改配置文件

配置masters文件

  该文件用于指定主节点及其web访问端口,表示集群的Jobmanager,vi masters,添加master:8081

[hadoop@hadoop01 conf]$ vim masters 
hadoop01:8081
hadoop02:8081

配置slaves文件,该文件用于指定从节点,表示集群的taskManager。添加以下内容

[hadoop@hadoop01 conf]$ vim slaves
hadoop01
hadoop02
hadoop03

配置文件flink-conf.yaml

#jobmanager.rpc.address: hadoop01
high-availability:zookeeper                             #指定高可用模式(必须)
high-availability.zookeeper.quorum: hadoop01:2181,hadoop02:2181,hadoop03:2181  #ZooKeeper仲裁是ZooKeeper服务器的复制组,它提供分布式协调服务(必须)
high-availability.storageDir:hdfs://192.168.123.111:9000/flink-metadata/recovery/       #JobManager元数据保存在文件系统storageDir中,只有指向此状态的指针存储在ZooKeeper中(必须)
high-availability.zookeeper.path.root:/flink         #根ZooKeeper节点,在该节点下放置所有集群节点(推荐) 
high-availability.cluster-id:/flinkCluster           #自定义集群(推荐)
#检查点生成的分布式快照的保存地点,默认是jobmanager的memory,但是HA模式必须配置在hdfs上,且保存路径需要在hdfs上创建并指定路径
state.backend: filesystem
state.checkpoints.dir: hdfs://192.168.123.111:9000/flink-metadata/checkpoints
state.savepoints.dir: hdfs:///flink/checkpoints

 

 

4. 拷贝安装包到各节点

[hadoop@hadoop01 apps]$ scp -r flink-1.7.2/ hadoop@hadoop02:`pwd`
[hadoop@hadoop01 apps]$ scp -r flink-1.7.2/ hadoop@hadoop03:`pwd`

5. 配置环境变量

 配置所有节点Flink的环境变量

[hadoop@hadoop01 ~]$ vim .bashrc
export FLINK_HOME=/home/hadoop/apps/flink-1.7.2
export PATH=$PATH:$FLINK_HOME/bin
[hadoop@hadoop01 ~]$ source .bashrc

6. 启动flink

[hadoop@hadoop01 bin]$ pwd
/home/hadoop/apps/flink-1.7.2/bin
[hadoop@hadoop01 bin]$ ls
config.sh flink-daemon.sh mesos-appmaster.sh pyflink-stream.sh start-cluster.sh stop-zookeeper-quorum.sh
flink historyserver.sh mesos-taskmanager.sh sql-client.sh start-scala-shell.sh taskmanager.sh
flink.bat jobmanager.sh pyflink.bat standalone-job.sh start-zookeeper-quorum.sh yarn-session.sh
flink-console.sh mesos-appmaster-job.sh pyflink.sh start-cluster.bat stop-cluster.sh zookeeper.sh
[hadoop@hadoop01 bin]$ ./start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host hadoop01.
Starting taskexecutor daemon on host hadoop02.
Starting taskexecutor daemon on host hadoop03.

jps查看进程

 

 

 

 

7.  WebUI查看

 http://192.168.123.111:8081

 

posted @ 2020-11-09 14:01  root-kai  阅读(614)  评论(0编辑  收藏  举报