最详细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_
1.3主要⽬录介绍
进⼊conf配置⽂件⽬录下,⽬录结构如下,主要配置⽂件为flink-conf.yaml和slaves
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的内存管理提⾼了鲁棒性和系统的速度;下⾯就介绍管理内存的配置⽂件:
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
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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论