Linux-Flink集群安装配置 (非HA模式)

Linux-Flink集群安装配置  (非HA模式)

Flink version:flink-1.9.1-bin-scala_2.12.tgz

服务器:203.3.235.176,203.3.235.177,203.3.235.178(后续文档中IP用node1/node2/node3代替)

部署目录:/home/admin/flink(后续文档中目录用$flink_path代替)

搭建集群:node1为JobManager,node1、node2、node3为TaskManager

!在java1.8安装成功后

1. 解压Flink压缩包到目录$flink_path

  >tar -zxvf flink-1.9.1-bin-scala_2.12.tgz

2. 进入flink目录,编辑conf/masters,conf/slaves,(三个node都一样)

  Masters

node1:8081

  Slaves

node1   #不用加端口

node2

node3

3. 修改flink-conf.yaml文件参数(三个node都一样)

jobmanager.rpc.address: node1  #Job manager是node1

jobmanager.rpc.port: 6379

jobmanager.heap.size: 1024m

jobmanager.web.tmpdir: $flink_path/flink-web 

jobmanager.web.upload.dir: $flink_path/flink-web   #重启flink后之前所上传的jar包会重新自动上传

taskmanager.numberOfTaskSlots: 8   #每个taskmanager所拥有的slots数量(建议和cpu数量一致)

parallelism.default: 1  #默认并行度(即一个计算包需要用几个slot执行)

io.tmp.dirs: $flink_path/logs

4. 修改conf目录下zoo.cfg文件(三个node都一样,当flink用zookeeper管理时配置,否则可以不用配置此文件)

server.1 = zknode1:2888:3888

server.2 = zknode2:2888:3888

server.3 = zknode3:2888:3888

5. 通过scp指令将以上配置文件发给其他节点(如有需要请输入密码)

  >scp -r $flink_path/ admin@node2:$flink_path

  >scp -r $flink_path/ admin@node3:$flink_path

6. 在node1上启动zookeeper的quorum和flink,其他两台不用启动,启动时需要输入密码

  启动:> start-zookeeper-quorum.sh (当步骤4没配置时,不用执行此命令)

     >start-cluster.sh

  停止:>stop-cluster.sh

     >stop-zookeeper-quorum.sh(当步骤4没配置时,不用执行此命令)

7. 验证

  浏览器打开node1:8081,若看见Flink管理界面则启动成功,即可

 

相关知识:

1.一个TaskManager中包含多个slot,flink计算包中设置并行度即需要占用几个slot

2.JobManger只做TaskManger调度

3.Flink的默认计算包分配策略为,1台机器的所有slot用完后,才会分配到其他机器的slot中执行计算包

举例:如现在有3个node作为TaskManager服务器,每个TaskManager有8个slot,共3*8=24个slot,此时如Flink的配置文件flink-conf.yaml中parallelism.default属性为3(即一个计算包开3个并行度),则上传第一个计算包会占用node1的3个slot,上传第二个计算包任然会占用node1的3个slot,上传第三个计算包会占用node1的2个slot和node2的一个slot。

 

posted @ 2020-06-12 19:53  =馨=星=  阅读(717)  评论(0)    收藏  举报