ubuntu部署flink集群 ,运行wordcount 例子

说明:事先完成了以下的准备工作:
ubuntu16
安装了hadoop集群(完全分布式)
hadoop集群有5个节点:hadoop1~hadoop6(没有hadoop2)
每个节点都安装了flink-1.12.0(略),flink有六个节点

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

1、standlone模式

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

jobmanager.rpc.address: hadoop6

  (2) 修改conf/workes文件

hadoop1
hadoop3
hadoop4
hadoop5

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

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

  (3) 启动集群
  在hadoop6上执行命令:

start-cluster.sh 
ubuntu部署flink集群 ,运行wordcount 例子_第1张图片

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

ubuntu部署flink集群 ,运行wordcount 例子_第2张图片

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

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

  运行结果:

ubuntu部署flink集群 ,运行wordcount 例子_第3张图片

  2、 Flink on Yarn

  2.1 Session-Cluster模式

ubuntu部署flink集群 ,运行wordcount 例子_第4张图片

  (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这个应用。

ubuntu部署flink集群 ,运行wordcount 例子_第5张图片
ubuntu部署flink集群 ,运行wordcount 例子_第6张图片
ubuntu部署flink集群 ,运行wordcount 例子_第7张图片

  用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界面上看到结果

ubuntu部署flink集群 ,运行wordcount 例子_第8张图片

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

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

  2.2 Ser-Job-Cluster模式

ubuntu部署flink集群 ,运行wordcount 例子_第9张图片

  (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命令的窗口输入数据,运行结果:

ubuntu部署flink集群 ,运行wordcount 例子_第10张图片

批处理: 任选节点, 运行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

  运行结果:

ubuntu部署flink集群 ,运行wordcount 例子_第11张图片

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

你可能感兴趣的:(flink,flink,java,大数据)