博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu部署flink集群 ,运行wordcount 例子
阅读量:2087 次
发布时间:2019-04-29

本文共 2515 字,大约阅读时间需要 8 分钟。

说明:事先完成了以下的准备工作:

ubuntu16
安装了hadoop集群(完全分布式)
hadoop集群有5个节点:hadoop1~hadoop6(没有hadoop2)
每个节点都安装了flink-1.12.0(略),flink有六个节点

运行的代码jar包获取方式:

  在windows上的IntelliJ IDEA上编写代码,打包成jar包提交到ubuntu上的集群上运行
  运行flink自带的例子

@[TOC]1、standlone模式

  @[TOC]1.1 standlone模式:

  独立的flink集群,不需要依赖于其他的资源管理平台,自己有节点就可以启动。
  @[TOC]1.2 standlone模式配置:
  hadoop6节点上安装好flink后(到配置环境变量这一步),部署standlone模式。
  (1) 修改flink安装目录下conf/flink-conf.yaml 文件

jobmanager.rpc.address: hadoop6

  (2) 修改conf/workes文件

hadoop1hadoop3hadoop4hadoop5

  (3) hadoop6节点上执行以下命令,把flink安装文件分发到其他节点上,如把flink安装文件分发到hadoop1节点上。(注意也要分发到其他节点,此处举例子分发到hadoop1节点),分发到其他节点后要添加Flink的环境变量,此处略。

scp -r /home/ubuntu/Hadoop/flink-1.12.0 hadoop1:/home/ubuntu

  (3) 启动集群

  在hadoop6上执行命令:

start-cluster.sh

  访问hadoop6:8081可以看到web界面。

  1.3运行wordcount例子

  (1) 运行flink自带的批处理的例子
  在hadoop6节点上执行命令:

./bin/flink run ./examples/batch/WordCount.jar

  运行结果:

  @[TOC]2、 Flink on Yarn

  @[TOC]2.1 Session-Cluster模式

  (1) 启动hadoop集群(yarn hdfs)

  (2) 启动yarn-session

  在hadoop1节点(节点任选),进入flink安装目录,执行以下命令创建flink集群:

./bin/yarn-session.sh -n 2 -s 2 -jm 1024 -tm 1024 -nm test

  集群创建成功之后可以看到下面的效果,给出的网址可以用来查看web UI界面,查看任务运行的情况。此时我们可以在YARN的web页面查看到application_1611892734589_0002这个应用。

  用jps命令,在hadoop1节点上可以看到FlinkYarnSessionCli这个进程,在hadoop5节点上可以看到YarnSessionClusterEntrypoint进程。

  (3) 执行任务

流处理:执行windows提交的jar包

  hadoop4节点(节点任选),输入以下命令,用于输入数据。

nc -l 9000

  hadoop3节点(节点任选)执行以下命令,-m后是第二步创建集群命令得到的地址,–host后是执行nc -l 9000命令的节点

  

./bin/flink run -m hadoop5:45373 -c com.wc.StreamWordCount /home/ubuntu/patchstream.jar --host hadoop4 --port 9000

  hadoop3节点上的执行结果:

  然后再执行nc -l 命令的那个窗口输入数据,可以在UI界面上看到结果

批处理 :任选节点执行命令,运行flink自带的例子,输入输出文件放在hdfs上。(注意:保持hadoop1节点状态不变,因为是在hadoop1节点上执行命令创建的flink集群)

./bin/flink run ./examples/batch/WordCount.jar --input 输入文件在hdfs上的路径 --output 输出文件的hdfs路径

  @[TOC]2.2 Ser-Job-Cluster模式

  (1) 开启hadoop集群(hdfs yarn)

  (2) 执行job

流处理: windows提交的jar包

  hadoop6节点(节点任选),执行以下命令,用于输入数据。

nc -l 9000

  在hadoop1节点执行以下命令:

./bin/flink run -m yarn-cluster -yjm 1024 -ytm 1024 -c com.wc.StreamWordCount /home/ubuntu/patchstream.jar --host hadoop6 --port 9000

  执行命令后的结果,用jps命令查看各个节点,节点hadoop5上有YarnTaskExecutorRunner进程。

  在执行nc -l 9000命令的窗口输入数据,运行结果:

批处理: 任选节点, 运行flink自带的例子。(先把流处理把在hadoop1上创建的flink集群停掉)。输入输出文件放在hdfs上

./bin/flink run -m yarn-cluster -yjm 1024 -ytm 1024 -c com.wc.WordCount /home/ubuntu/FlinkWCProj-1.0-SNAPSHOT.jar --input hdfs://hadoop1:8020/input/flink/wordcount/wordcount.txt --output hdfs://hadoop1:8020/output/flink/wordcount/wordcountyarnmod2_batch_3

  运行结果:

刚刚接触flink,有不对的地方希望大家指正。

转载地址:http://rslqf.baihongyu.com/

你可能感兴趣的文章
建议42: 让工具类不可实例化
查看>>
Java 异步机制与同步机制的区别
查看>>
hibernate的对象三种状态说明
查看>>
什么是N+1查询?
查看>>
直插,快排,堆排,归并排序的分析
查看>>
二叉树的各种操作(面试必备)
查看>>
oracle
查看>>
Struts2中的session、request、respsonse获取方法
查看>>
如何理解MVC模型
查看>>
SpringMVC中乱码解决方案
查看>>
SpringMVC中时间格式转换的解决方案
查看>>
post和get请求相关知识点
查看>>
关于try finally 中的return语句的问题
查看>>
RequestBody/ResponseBody处理Json数据
查看>>
springmvc请求参数获取的几种方法
查看>>
在eclipse中创建和myeclipse一样的包结构
查看>>
Java中的IO流
查看>>
java中的关键字
查看>>
如果某个方法是静态的,它的行为就不具有多态性
查看>>
Java 8系列之重新认识HashMap
查看>>