在Linux上安装Flink以及编写打包WordCount程序

在Linux上安装Flink以及编写打包WordCount程序

0. 预备知识

想要了解任何Apache下的平台框架,官网一直都是一个不错的学习途径。

  • Flink是什么

    Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。

    • 无界流和有界流

      任何类型的数据都可以形成一种事件流。信用卡交易、传感器测量、机器日志、网站或移动应用程序上的用户交互记录,所有这些数据都形成一种流。

      • 无界流:有定义流的开始,但没有定义流的结束。它们会无休止地产生数据。无界流的数据必须持续处理,需要以特定顺序摄取事件(如事件发生的顺序),并且数据被摄取之后需要立刻处理。

      • 有界流:有定义流的开始,也有定义流的结束。有界流可以在摄取所有数据后再进行计算。有界流所有数据可以被排序,所以并不需要有序摄取。有界流处理通常被称为批处理。

  • 应用场景

    • 实时数仓与ETL

    • 实时报表分析

    • 实时智能推荐

    • 流数据分析

  • 基本组件

    Flink架构体系基本上分三层(自顶向下)

    • API&Libraries层 : 提供支撑流计算和批计算的接口,同时在此基础上抽象出不同的应用类型的组件库。
    • Runtime核心层:Flink分布式计算框架的核心实现层,支持分布式Stream作业的执行、JobGraph到ExecutionGraph的映射转换、任务调度等。将DataStream和DataSet转成同意的可执行的Task Operator。
    • 物理部署层: 目前Flink支持本地、集群、云、容器部署,Flink通过盖层能够支持不同平台的部署,用户可以根据需要选择使用对应的部署模式。

    Flink集群

    • Client客户端 负责将任务提交到集群,与JobManager构建Akka连接,然后将任务提交到JobManager,通过和JobManager之间进行交互获取任务执行状态。
    • JobManager 负责整个Flink集群任务的调度以及资源的管理。
    • TaskManager 相当于整个集群的Slave节点,负责具体的任务执行和对应任务在每个节点上的资源申请与管理。

1. 下载安装

本案例相关的运行环境

  • 系统: Ubuntu 18.04
  • Java环境: Java8
  • Flink-7.6.1
  • Maven-3.3.9

1.1 安装Flink

到Flink官网(https://flink.apache.org/downloads.html)下载安装包,这里我们选择的版本是flink-1.9.1-bin-scala_2.11.tgz,如果官网网速太慢也可以点击我分享的云盘链接(链接:https://pan.baidu.com/s/1TtwXJxfBjjuY4bULoikttg 密码:0e0y)进行下载。默认下载文件在用户主目录的Downloads中。然后,使用如下命令进行解压:

cd /home/silver/Downloads
sudo tar -zxvf flink-1.9.1-bin-scala_2.11.tgz -C /usr/local

修改目录名称,并设置权限,命令如下:

cd /usr/local
sudo mv ./ flink-1.9.1 ./flink
sudo chown -R silver:silver ./flink

Flink对于本地模式是开箱即用的,如果要修改Java运行环境,可以修改“/usr/local/flink/conf/flink-conf.yaml”文件中的env.java.home参数,设置为本地Java的绝对路径。
使用如下命令添加环境变量:

vim ~/.bashrc

在.bashrc文件中添加如下内容:

export FLNK_HOME=/usr/local/flink
export PATH=$FLINK_HOME/bin:$PATH

保存并退出.bashrc文件,然后执行如下命令让配置文件生效:

source ~/.bashrc

使用如下命令启动Flink:

cd /usr/local/flink
./bin/start-cluster.sh

使用jps命令查看进程:

/usr/local/flink$ jps
13936 Jps
13400 StandaloneSessionClusterEntrypoint
13854 TaskManagerRunner

如果能够看到TaskManagerRunner和StandaloneSessionClusterEntrypoint这两个进程,就说明启动成功。
Flink的JobManager同时会在8081端口上启动一个Web前端,可以在浏览器中输入“http://localhost:8081”来访问。

1.2 检查安装是否成功_自带WordCount测试样例

Flink安装包中自带了测试样例,这里可以运行WordCount样例程序来测试Flink的运行效果,具体命令如下:

cd /usr/local/flink/bin
./flink run /usr/local/flink/examples/batch/WordCount.jar

执行成功,可以看到如下输出结果:

2. 编程实现WordCount程序

2.1 安装Maven

Ubuntu中没有自带安装Maven,需要手动安装Maven。可以访问Maven官网下载安装文件,官网下载链接:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux安装Flink,您可以按照以下步骤进行操作: 1. 首先,确保您的Linux系统已经安装了Java Development Kit(JDK)。您可以通过运行以下命令来检查是否已安装JDK: ``` java -version ``` 如果未安装JDK,请根据您的发行版文档或使用包管理器进行安装。 2. 接下来,您需要下载Flink的二进制发行版。您可以在Flink的官方网站(https://flink.apache.org/downloads.html)上找到最新的稳定版本。 3. 下载完成后,解压缩Flink的压缩包。您可以使用以下命令将其解压缩到您选择的目录: ``` tar xzf flink-<version>.tgz ``` 4. 进入解压缩后的Flink目录: ``` cd flink-<version> ``` 5. 在Flink目录,您将找到一个名为`conf`的子目录。在该目录,复制默认配置文件: ``` cp flink-conf.yaml.template flink-conf.yaml ``` 6. 打开`flink-conf.yaml`文件,并根据您的需求进行配置。特别是,您可能需要修改以下属性: - `jobmanager.rpc.address`:设置Flink JobManager的RPC地址。 - `jobmanager.rpc.port`:设置Flink JobManager的RPC端口。 - `taskmanager.numberOfTaskSlots`:设置每个TaskManager的任务槽数量。 7. 保存并关闭`flink-conf.yaml`文件。 8. 现在,您可以启动Flink集群。在Flink目录,运行以下命令: ``` ./bin/start-cluster.sh ``` 9. Flink集群启动后,您可以通过浏览器访问Flink的Web界面。默认情况下,它在`http://localhost:8081`上运行。 现在,您已成功在Linux安装Flink。您可以使用Flink的命令行工具或编写和提交Flink作业来开始使用它。有关更多详细信息,请参阅Flink的官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值