整合 Tachyon 运行 Apache Flink
本人详述了如何基于Tachyon 运行 Apache Flink, 这样在 Tachyon 中可以很便捷的处理文件存储。
前提
首先,得存在 Java 环境。 我们也假设你已经根据 Local Mode 或 Cluster Mode 指导安装了 Tachyon 和 Flink 。
请在 Apache Flink website 查找指导设置Flink。
配置
Apache Flink 允许通过文件系统包装Hadoop文件系统使用Tachyon。所有,配置Tachyonn主要是在 Hadoop 配置文件中。
在 core-site.xml
配置属性
如果你已经有 Hadoop 配置,接下来 Flink 安装,添加如下属性在 core-site.xml 配置文件:
<property>
<name>fs.tachyon.impl</name>
<value>tachyon.hadoop.TFS</value>
</property>
如果你没有配置 hadoop,你必须要创建 core-site.xml 并且添加下面的Property:
<configuration>
<property>
<name>fs.tachyon.impl</name>
<value>tachyon.hadoop.TFS</value>
</property>
</configuration>
确保 core-site.xml 的路径在 conf/flink-config.yaml
接下来,你必须在在Flink中指定Hadoop配置的路径, 在 Flink 根目录下打开 conf/flink-config.yaml, 到含有 core-site.xml directory 设置配置 fs.hdfs.hadoopconf 的值。在 Hadoop 更新版本中,该目录通常以 etc/hadoop/ 结尾。
确保 Flink 对于 tachyon-0.7.1.jar
是可用的
在最后一步中,我们需要确保 Tachyon jar 文件对于 Flink 是可用的,因为它包含 tachyon.hadoop.TFS 类的配置。
有以下几种不同方式来实现:
将
tachyon-0.7.1.jar
文件放入Flink 的lib/
的目录下 (为本地和伪集群配置)将
tachyon-0.7.1.jar 文件放入Flink 对于 YARN 的
ship/
目录下在HADOOP_CLASSPAH 环境变量中指定 jar 文件位置 (确保所有集群节点都是可用的). 例如像这样:
export HADOOP_CLASSPATH=/pathToTachyon/client/target/tachyon-client-0.7.1-jar-with-dependencies.jar
结合Tachyon 使用 Flink
为了结合 Tachyon 使用 Flink,仅仅需要使用 tachyon://scheme 。
如果Tachyon是本地安装,有效的路径是类似这样:tachyon://localhost:19998/user/hduser/gutenberg。