Alluxio
ProductsLanguageHome
  • Alluxio概览
  • 用户指南
    • 快速上手指南
    • 架构
    • FAQ
    • 作业服务器
    • 应用场景
  • 核心功能
    • 缓存
    • 统一命名空间
  • 部署 Alluxio
    • 在Kubernetes上部署Alluxio
    • 本地运行Alluxio
    • 在集群上独立运行Alluxio
    • 在Docker上运行Alluxio
    • 在具有HA的群集上部署Alluxio
    • 使用Docker部署AlluxioFuse加速深度学习训练(试验)
    • 基本要求
  • 云源生
    • Tencent EMR
  • 计算应用
    • Apache Spark
    • Presto
    • Spark on Kubernetes
    • Apache Flink
    • Apache Hadoop MapReduce
    • Presto on Iceberg (Experimental)
    • Trino
    • Apache Hive
    • 深度学习框架
    • Tensorflow
  • 底层存储系统
    • Alluxio集成Amazon AWS S3作为底层存储
    • Alluxio集成GCS作为底层存储
    • Alluxio集成Azure Blob Store作为底层存储
    • Azure Data Lake Storage Gen2
    • Azure 数据湖存储
    • Alluxio集成HDFS作为底层存储
    • Alluxio集成COS作为底层存储
    • Alluxio集成COSN作为底层存储
    • Alluxio集成Ceph Object Storage作为底层存储
    • Alluxio集成NFS作为底层存储
    • Alluxio集成Kodo作为底层存储
    • Alluxio集成Swift作为底层存储
    • Alluxio集成WEB作为底层存储
    • Alluxio集成Minio作为底层存储
    • 阿里云对象存储服务
    • Alluxio集成Ozone作为底层存储
    • Alluxio集成CephFS作为底层存储
  • 安全设置
    • 安全性
  • 运维指南
    • 配置项设置
    • 命令行接口
    • 管理员命令行接口
    • Web界面
    • 日志
    • 度量指标系统
    • 远程记录日志
  • 管理
    • 升级
    • 异常诊断与调试
  • APIs
    • Filesystem API
    • S3 Client
    • POSIX API
    • REST API
    • Python Client
    • 兼容Hadoop的Java
    • Go 客户端
  • 开发者资源
    • 编译Alluxio源代码
    • 开发指南
    • 代码规范
    • 如何开发单元测试
    • 文档规范
  • 参考
    • 配置项列表
    • List of Metrics
  • REST API
    • Master REST API
    • Worker REST API
    • Proxy REST API
    • Job REST API
  • Javadoc
Powered by GitBook
On this page
  • 前期准备
  • 配置
  • 在core-site.xml中设置属性
  • 在conf/flink-conf.yaml中指定core-site.xml的路径
  • 布置Alluxio客户端Jar包
  • 将Alluxio额外属性转化为Flink属性
  • 在Flink中使用Alluxio
  • Wordcount示例
  1. 计算应用

Apache Flink

Last updated 6 months ago

该指南介绍如何在Alluxio上运行,以便你在Flink中使用Alluxio的文件。

前期准备

  • 安装好Java 8 Update 161 (8u161+)或更新版本, 64-bit.。

  • 使用或构建好Alluxio。

  • 请在网站上阅读Flink安装说明。

配置

Apache Flink可以通过通用文件系统包装类(可用于Hadoop文件系统)来使用Alluxio。因此,Alluxio的配置主要在Hadoop配置文件中完成。

在core-site.xml中设置属性

如果你安装Flink的同时安装了Hadoop,将如下属性加到core-site.xml配置文件:

<property>
  <name>fs.alluxio.impl</name>
  <value>alluxio.hadoop.FileSystem</value>
</property>

如果你没有安装Hadoop,创建一个包含以下内容的core-site.xml文件

<configuration>
  <property>
    <name>fs.alluxio.impl</name>
    <value>alluxio.hadoop.FileSystem</value>
  </property>
</configuration>

在conf/flink-conf.yaml中指定core-site.xml的路径

接下来需要指定Flink中Hadoop配置的路径。打开Flink根目录下conf/flink-conf.yaml文件,设置fs.hdfs.hadoopconf的值为core-site.xml的目录(对于新的Hadoop版本,该目录通常以etc/hadoop结尾)。

布置Alluxio客户端Jar包

接下来需要让Alluxio jar文件对Flink可用,因为其中包含了配置好的alluxio.hadoop.FileSystem类。

有以下几种方式实现:

  • 将{{site.ALLUXIO_CLIENT_JAR_PATH}}文件放在Flink的lib目录下(对于本地模式以及独立集群模式)。

  • 将{{site.ALLUXIO_CLIENT_JAR_PATH}}文件放在布置在Yarn中的Flink下的ship目录下。

  • 在HADOOP_CLASSPATH环境变量中指定该jar文件的路径(要保证该路径对集群中的所有节点都有效)。例如:

$ export HADOOP_CLASSPATH={{site.ALLUXIO_CLIENT_JAR_PATH}}

将Alluxio额外属性转化为Flink属性

除此以外,如果conf/alluxio-site.properties和客户端相关的配置文件中有任何指定的属性,请在{FLINK_HOME}/conf/flink-conf .yaml文件中将这些属性转化为env.java.opts,从而方便Flink使用Alluxio的配置。例如,如果你想要将CACHE_THROUGH作为Alluxio客户端的写文件方式 ,你应该在 {FLINK_HOME}/conf/flink-conf.yaml增加如下配置

env.java.opts: -Dalluxio.user.file.writetype.default=CACHE_THROUGH

注意:如果有正在运行的Flink集群,需要将该集群停止并重新运行以应用更改后的配置。

在Flink中使用Alluxio

Flink中使用Alluxio,指定路径时使用alluxio://前缀。

如果Alluxio是本地安装,有效路径类似于: alluxio://localhost:19998/user/hduser/gutenberg。

Wordcount示例

该示例假定你已经按前文指导安装了Alluxio和Flink。

将LICENSE文件放入Alluxio中,假定当前目录为Alluxio工程的根目录:

$ ./bin/alluxio fs copyFromLocal LICENSE alluxio://localhost:19998/LICENSE

在Flink工程的根目录下运行以下命令:

$ ./bin/flink run examples/batch/WordCount.jar \
--input alluxio://localhost:19998/LICENSE \
--output alluxio://localhost:19998/output

为了与Alluxio通信,需要提供带有Alluxio核心客户端Jar包的Flink程序。我们推荐您直接从下载压缩包。另外,高级用户可以选择用源文件编译产生客户端Jar包。遵循以下步骤:[here]({{ '/en/contributor/Building-Alluxio-From-Source.html' | relative_url }}),在 {{site.ALLUXIO_CLIENT_JAR_PATH_BUILD}}路径下可以找到客户端的Jar包。

接着打开浏览器,进入,其中应存在一个output文件,该文件即为对LICENSE文件进行word count的结果。

Apache Flink
本地模式
集群模式
Apache Flink
http://www.alluxio.io/download
http://localhost:19999/browse