大数据应用技术 | 使用 Docker搭建 Flink 集群 | FlinkStreaming实时数据流处理程序实现词频统计

本文详细介绍了如何使用Docker搭建Flink集群,包括环境准备、Flink安装配置、单节点测试、集群配置以及外部测试FlinkStreaming的词频统计程序。在测试过程中,通过修改配置和解决端口占用问题,成功实现了词频统计的实时数据流处理。
摘要由CSDN通过智能技术生成

运行环境


  • 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>
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值