Flink-Local模式环境搭建

一、前置准备

CentOS7、jdk1.8、flink-1.10.1

想要完成本期视频中所有操作,需要以下准备:

Linux下jdk的安装

Scala环境搭建-视频教程

大数据常用shell脚本之zk脚本编写-视频教程

二、环境搭建

2.1 下载并解压

下载 Flink 安装包,这里我下载的是flink-1.10.1-bin-scala_2.11.tgz。下载地址:https://flink.apache.org/zh/downloads.html

# 解压
[xiaokang@hadoop ~]$ tar -zxvf flink-1.10.1-bin-scala_2.11.tgz -C /opt/software/

2.2 配置环境变量

[xiaokang@hadoop ~]$ sudo vim /etc/profile.d/env.sh

在原来基础上更新配置环境变量:

export FLINK_HOME=/opt/software/flink-1.10.1
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZOOKEEPER_HOME}/bin:${HIVE_HOME}/bin:${ZEPPELIN_HOME}/bin:${HBASE_HOME}/bin:${SQOOP_HOME}/bin:${FLUME_HOME}/bin:${PYTHON_HOME}/bin:${SCALA_HOME}/bin:${MAVEN_HOME}/bin:${GRADLE_HOME}/bin:${KAFKA_HOME}/bin:${SPARK_HOME}/bin:${FLINK_HOME}/bin:$PATH

执行 source 命令,使得配置的环境变量立即生效:

[xiaokang@hadoop ~]$ source /etc/profile.d/env.sh

2.3 shell启动测试

[xiaokang@hadoop ~]$ start-scala-shell.sh local

2.4 wordcount案例

准备一个需要统计词频的小文件,部分词频数据:

xiaokang	Hive	Hadoop	Flink	微信公众号:小康新鲜事儿	MapReduce	Spark
HBase	Spark	微信公众号:小康新鲜事儿
HBase	Spark	微信公众号:小康新鲜事儿	Hadoop	MapReduce	Hive
xiaokang	MapReduce	HBase	Flink	Spark	Hadoop
Flink	Hadoop	Spark	xiaokang
xiaokang	MapReduce	Hive	HBase	Spark
微信公众号:小康新鲜事儿	HBase	MapReduce	Hive	Spark	xiaokang

Flink之批处理WordCount案例实操:

scala> val result1=benv.readTextFile("file:///home/xiaokang/wordcount-xiaokang.txt").flatMap(_.split("\t")).map((_,1)).groupBy(0).sum(1)
result1: org.apache.flink.api.scala.AggregateDataSet[(String, Int)] = org.apache.flink.api.scala.AggregateDataSet@4159c66d

scala> result1.print
(Flink,617)
(HBase,642)
(Hadoop,644)
(Hive,636)
(MapReduce,631)
(Spark,614)
(xiaokang,647)
(微信公众号:小康新鲜事儿,647)

查看 Flink Web UI 界面,端口为8081

三、作业提交

3.1 启动Flink

# 启动
[xiaokang@hadoop ~]$ start-cluster.sh

# 查看进程
[xiaokang@hadoop ~]$ jps
4533 Jps
4456 TaskManagerRunner
4122 StandaloneSessionClusterEntrypoint

3.2 提交作业

使用安装包中自带的jar包来做流计算词频统计案例

# 1.虚拟机内开启端口
nc -lk 1124
# 2.提交作业
[xiaokang@hadoop ~]$ flink run /opt/software/flink-1.10.1/examples/streaming/SocketWindowWordCount.jar --port 1124

该 jar 包的源码在 Flink 官方的 GitHub 仓库中可以找到,地址:SocketWindowWordCount ,可选传参有 hostname、port,对应的词频数据需要使用空格进行分割。

输入测试数据

[xiaokang@hadoop conf]$ nc -lk 1124
xiaokang 微信公众号:小康新鲜事儿 xiaokangxxs xiaokang hive
spark xiaokang hive hadoop flink
flink xiaokang flink

3.3 查看结果

通过 WEB UI 的控制台查看作业统运行情况:

通过 WEB 控制台查看到统计结果:


版权声明:本文为weixin_42341823原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。