最详细Flink安装以及案例之WordCount

前言:本文主要介绍如何将Flink以本地模式运行在单机上。

运行环境

  • Linux-CentOS6.8
  • JDK-1.8
  • hadoop-2.7.5 (本过程无需)
  • flink-1.7.1-bin-hadoop27-scala_2.11

flink安装配置过程

1.下载

1.1进入下载页面。如果你想让Flink与Hadoop进行交互(如HDFS或者HBase),请选择一个与你的Hadoop版本相匹配的Flink包。当你不确定或者只是想运行在本地文件系统上,请选择Hadoop 1.2.x对应的包。(因为我的hadoop是2.7.5,因此我选择的是下面1.7.1)
在这里插入图片描述
1.2解压安装包

tar -zxvf flink-1.7.1-bin-hadoop27-scala_2.11.tgz

1.3主要目录介绍
进入conf配置文件目录下,目录结构如下,主要配置文件为flink-conf.yamlslaves
在这里插入图片描述
1.3.1配置flink-conf.yaml解析如下:

 jobmanager.rpc.address: localhost1   --jobManager 的IP地址

 jobmanager.rpc.port: 6123   --jobManager 的端口,默认为6123

 jobmanager.heap.mb --jobManager 的JVM heap大小  

 taskmanager.heap.mb  --taskManager的jvm heap大小设置

 taskmanager.numberOfTaskSlots  --taskManager中taskSlots个数,最好设置成work节点的CPU个数相等

 parallelism.default  --并行计算数

 fs.default-scheme --文件系统来源

 fs.hdfs.hadoopconf:  --hdfs置文件路径

 jobmanager.web.port    -- jobmanager的页面监控端口

1.3.2 内存管理配置

Flink默认上分配taskmanager.heap.mb配置值得70%留它管理,内存的管理让flinK批量处理效果很高;并且flink不会出现OutMemoryException的问题,因为flink知道预留多少内存来执行程序;如果flink运行的程序所需要的内存超过了它所管理的内存,Flink就可以利用磁盘;总而言之,flink的内存管理提高了鲁棒性和系统的速度;下面就介绍管理内存的配置文件:

  taskmanager.memory.fraction  --管理内存的百分比,默认0.7
  taskmanager.memory.size    --taskManager 具体管理内存的大小;此配置重写
  taskmanager.memory.fraction的配置
  taskmanager.memory.segment-size --内存管理器所使用的内存缓冲区的大小和网络堆栈字节
  taskmanager.memory.preallocate  --taskmanager是否启动时管理所有的内存

1.3.3 slaves 中配置节点机器的ip主机名

2.环境准备

2.1你可以执行下面的命令来查看是否已经正确安装了Java了。

java -version

这条命令会输出类似于下面的信息:

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

3.配置

对于本地模式,Flink是可以开箱即用的,在第一步配置文件介绍的配置中,你不用去更改任何的默认配置

开箱即用的配置会使用默认的Java环境。如果你想更改Java的运行环境,你可以手动地设置环境变量JAVA_HOME或者conf/flink-conf.yaml中的配置项env.java.home

4.启动Flink

你现在就可以开始运行Flink了。解压已经下载的压缩包,然后进入新创建的flink目录。在那里,你就可以本地模式运行Flink了:
启动前防火墙关闭
在bin目录下,输入命令 ./start-cluster.sh

[root@master2 bin]# ./start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host master2.
Starting taskexecutor daemon on host master2.

5.测试

5.1JSP查看进程

[root@master2 bin]# jps
2342 StandaloneSessionClusterEntrypoint
2795 TaskManagerRunner
2814 Jps

5.2在web页面查看 http://192.168.10.3:8081(主机ip:8081)

6.练习

若见到上图页面,就说明flink配置成功了,下面就以wordcount为案例运行,案例代码在下载的flink目录下面的自带案例

/usr/local/flink-1.7.1/examples/streaming/SocketWindowWordCount.jar

6.1、在控制台窗口1中启动一个本地服务

nc -l -p 9000

6.2、在控制台窗口2中提交flink程序

bin/flink run examples/streaming/SocketWindowWordCount.jar   --hostname localhost   
Starting execution of program

说明:该程序每隔5秒统计一次接收的数据中的单词个数
6.3、在控制台窗口3中打开out日志文件
log目录下的out文件会统计flink的执行结果。

cd /opt/flink-1.6.1/log
tail -f flink-root-taskexecutor-0-localhost.localdomain.out

out文件更新后会控制台中会自动显示新增的数据。

6.4、在控制台1中输入语句,在控制台3中查看统计结果,如下图所示:
在这里插入图片描述
6.5、在flink的web中查看运行的job
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脸ル粉嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值