文章目录
运行环境
- VMware
- Centos7 虚拟机操作系统
- Docker
- Jdk8
- Hadoop3.1.3
- scala 2.11.8
- flink-1.9.1
- Maven3.6.3
- IDEA
注
:在搭建Flink集群时需有Hadoop环境,尽管案例里没有用到HDFS,但通过资源调度管理的yarn组件启动Flink-shell 会有更好的效果。
关于Docker搭建Hadoop集群可以参考这篇博文 基于Docker搭建完全分布式集群
1. 安装、配置 Flink
1.1使用Xftp工具将Flink资源传入虚拟机
1.2 在虚拟机中将Flink资源传输到docker容器
$ sudo docker cp flink-1.9.1-bin-scala_2.11.tgz hadoop101:/opt/download
1.3 解压Flink资源并配置环境变量
tar -zxvf flink-1.9.1-bin-scala_2.12.tgz -C ./
mv flink-1.9.2 flink
vim /etc/profile.d/home.sh
source /etc/profile
2.Flink单节点测试
2.1 在hadoop101节点启动zookeeper 和 hadoop dfs 和 yarn
zkServer.sh start
start-dfs.sh
start-yarn.sh
2.2 以 Yarn方式启动 Flink Scala
./start-cluster.sh
./start-scala-shell.sh yarn
测试完毕后, :q
退出
3.配置 flink集群
在flink根目录下的conf文件夹中修改 masters
文件的内容为
hadoop101:8081
然后再修改workers文件夹的内容为
Hadoop101
Hadoop102
Hadoop103
配置 flink-conf.yaml
文件:
将 jobmanager.rpc.address
的属性值设置为 hadoop101
再添加一行 taskmanager.tmp.dirs: /opt/module/flink/tmp
指定flink任务的缓存目录
接下来,分发配置好的 Flink资源到其他节点,即 hadoop102 和 hadoop103
scp -r ./flink hadoop103:/opt/module/flink
scp -r ./flink hadoop102:/opt/module/flink
4. 外部测试FlinkStreaming词频统计程序
创建IDEA项目,需下载 scala
插件,给项目配置scala的SDK,笔者这里的版本号是2.11.8
4.1 配置pom.xml 依赖
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ycc</groupId>
<artifactId>wordcount</artifactId>
<name>WordCount</name>
<packaging>jar</packaging>
<version>1.0</version>
<repositories>
<repository>
<id>alimaven</id>