flink学习笔记-Flink的standAlone轻松搞定啦

Flink的standAlone模式环境安装

使用standalone模式,需要启动flink的主节点JobManager以及从节点taskManager

服务及地址 node1 node2 node3
JobManager
TaskManager
  • 第一步:更改配置文件
    • 修改node01服务器配置文件flink-conf.yaml
    • node01执行以下命令更改从节点slaves配置文件
cd /opt/install/flink-1.8.1/conf/
vim flink-conf.yaml
# 更改这个配置,指定jobmanager所在的服务器为node01
jobmanager.rpc.address: node01

vim slaves
# 修改为
node01
node02
node03
  • 第二步:安装包分发
    • 将node01服务器的flink安装包分发到其他机器上面去
cd /opt/install
scp -r flink-1.8.1/ node02:$PWD
scp -r flink-1.8.1/ node03:$PWD
  • 第三步:启动flink集群
    • node01执行以下命令启动flink集群
cd /opt/install/flink-1.8.1
bin/start-cluster.sh
  • 第四步:页面访问
    • http://node01:8081/#/overview
  • 第五步:运行flink自带的测试用例
# node01执行以下命令启动socket服务,输入单词
nc -lk 8000
# 启动flink的自带的单词统计程序,接受输入的socket数据并进行统计
cd /opt/install/flink-1.8.1
bin/flink run examples/streaming/SocketWindowWordCount.jar   --hostname node01  --port 8000
# node01服务器执行以下命令查看统计结果
cd /kkb/install/flink-1.8.1/log
tail -200f flink-hadoop-taskexecutor-0-node01.out

Flink的standAlone模式的HA环境

  • 我们实现了flink的standAlone模式的环境安装,并且能够正常提交任务到集群上面去,我们的主节点是jobManager,但是唯一的问题是jobmanager是单节点的,必然会有单节点故障问题的产生,所以我们也可以在standAlone模式下,借助于zk,将我们的jobManager实现成为高可用的模式
  • 第一步:node01执行以下命令修改Flink的配置文件
cd /opt/install/flink-1.8.1/conf
vim flink-conf.yaml
# 修改为
jobmanager.rpc.address: node01
high-availability: zookeeper
high-availability.storageDir: hdfs://node01:8020/flink
high-availability.zookeeper.path.root: /flink
high-availability.zookeeper.quorum: node01:2181,node02:2181,node03:218

vim masters
# 修改为
node01:8081
node02:8081

vim slaves
node01
node02
node03
  • 第二步:hdfs上面创建flink对应的文件夹
hdfs dfs -mkdir -p /flink
  • 第三步:拷贝配置文件
# 将node01服务器修改后的配置文件拷贝到其他服务器上面去
cd /opt/install/flink-1.8.1/conf
scp flink-conf.yaml  masters  slaves  node02:$PWD
scp flink-conf.yaml  masters  slaves  node03:$PWD
  • 第四步:启动flink集群
# node01执行以下命令启动flink集群
cd /opt/install/flink-1.8.1
bin/start-cluster.sh
  • 第五步:页面访问
    • http://node01:8081/#/overview 或 http://node02:8081/#/overview
      注意:一旦访问node02的web界面,会发现我们的web界面会自动跳转到node01的web界面上,因为此时,我们的node01服务器才是真正的active状态的节点
  • 第六步:模拟故障宕机实现自动切换
    • 将node01服务器的jobManager进程杀死,然后过一段时间之后查看node02的jobManager是否能够访问
      注意: JobManager发生切换时,TaskManager也会跟着发生重启,这其实是一个隐患问题
  • 第七步:flink的standAlone模式在HA下提交任务
    • 在HA这种模式下,提交任务与standAlone单节点模式提交任务是一样的,即使JobManager服务器宕机了也没有关系,会自动进行切换
# node01执行以下命令启动socket服务,输入单词
nc -lk 8000
# node01启动flink的自带的单词统计程序,接受输入的socket数据并进行统计
cd /opt/install/flink-1.8.1
bin/flink run examples/streaming/SocketWindowWordCount.jar   --hostname node01  --port 8000
# node01服务器执行以下命令查看统计结果
cd /opt/install/flink-1.8.1/log
tail -100f flink-hadoop-taskexecutor-0-node01.out
发布了40 篇原创文章 · 获赞 59 · 访问量 1406

猜你喜欢

转载自blog.csdn.net/qq_26719997/article/details/104999822