二、Flink环境搭建


1、standalone模式搭建

standalone模式是Flink自带的分布式集群模式,不依赖其他的资源调度框架;

这里使用三台主机搭建,86可以免密登录到88、89:

172.17.28.86   cs-28-86
172.17.28.88   cs-28-88
172.17.28.89   cs-28-89


image


  • 上传flink安装包到Linux服务器上
  • 解压flink安装包
[root@cs-28-86 ~]# cd /data/wym
[root@cs-28-86 ~]# tar zxf flink-1.12.0-bin-scala_2.12.tgz


  • 修改conf目录下的flink-conf.yaml配置文件
#指定jobmanager的地址
jobmanager.rpc.address: cs-28-86

#指定taskmanager的可用槽位的数量,一般配为逻辑cpu核数或核数的2倍
taskmanager.numberOfTaskSlots: 2


  • 修改conf目录下的workers配置文件,指定taskmanager的所在节点,这里86没有使用:
[root@cs-28-86 flink-1.12.0]# cat conf/workers
cs-28-88
cs-28-89


  • 将配置好的Flink拷贝到其他节点的相同目录下
scp -r flink-1.12.0 cs-28-88:/data/wym/
scp -r flink-1.12.0 cs-28-89:/data/wym/


2、 启动flink集群和检测

  • 执行启动脚本
[root@cs-28-86 flink-1.12.0]# ./bin/start-cluster.sh
  • 执行jps命令查看Java进程
[root@cs-28-86 flink-1.12.0]# jps |grep StandaloneSessionClusterEntrypoint
15908 StandaloneSessionClusterEntrypoint

[root@cs-28-88 ~]# jps |grep TaskManagerRunner
32151 TaskManagerRunner

[root@cs-28-89 ~]# jps |grep TaskManagerRunner
14770 TaskManagerRunner


在172.17.28.86上可用看见StandaloneSessionClusterEntrypoint进程即JobManager,在其他的节点上可用看见到TaskManagerRunner 即TaskManager


  • 访问JobManager的web管理界面,端口8081

172.17.28.86:8081

image


3、 提交Flink任务

第①步:获取案例jar包,启动nc

获取案例jar包到本地:

image


在指定的节点上先启动一个socket端口服务,这里可以使用nc,如果没有可以使用 yum install -y nc 安装,我这里是在172.17.28.86节点上启动的;

nc -lk 8888

image


  • 第一种方式:通过web页面提交


第②步:方法jobManager所在节点的8081端口,点击Submint New Job

image


第③步:点击Add New 上传Jar包,这个示例jar包在官方给的example目录下

image


第④步:设置参数并点击Submit提交

image

image


此时在nc窗口中输入一些内容:

image


然后去页面中看计算结果:

image


测试完成,此时去停掉任务:

在Running Jobs中点击具体的任务,然后点Cancel Job(选OK)

image


此时资源已释放:

image


  • 第二种方式:使用命令行提交
bin/flink run -m cs-28-86:8081 -p 4 -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount jar包 --hostname cs-28-86 --port 8888


参数说明:

-m 指定主机名后面的端口为JobManager的REST的端口,而不是RPC的端口,RPC通信端口是6123

-p  指定是并行度(Slots)

-c  指定main方法的全类名


在88上提交,提交完以后这个窗口可以关掉,因为任务已经提交到集群运行了:

image

出现了一个CliFrontend进程:

image

image


第⑤步:查看执行信息

image


第⑥步:在启动nc服务的节点上输入一下测试数据

image

第⑦步:查看执行结果

image

在点击Stdout查看打印的结果

image


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM