我正在尝试在 S3 文件系统上设置 Tachyon。对于 HDFS,tachyon 有一个名为 TACHYON_UNDERFS_HDFS_IMPL 的参数,该参数设置为“org.apache.hadoop.hdfs.DistributedFileSystem”。有谁知道 S3 是否存在这样的参数?如果有,它的价值是什么?
提前感谢您的帮助!
我正在尝试在 S3 文件系统上设置 Tachyon。对于 HDFS,tachyon 有一个名为 TACHYON_UNDERFS_HDFS_IMPL 的参数,该参数设置为“org.apache.hadoop.hdfs.DistributedFileSystem”。有谁知道 S3 是否存在这样的参数?如果有,它的价值是什么?
提前感谢您的帮助!
您提到的 Hadoop FS 类型(org.apache.hadoop.hdfs.DistributedFileSystem)只是接口,它符合您的需求。相反,Tachyon 基于远程 dfs 的 uri 中指定的方案创建 s3n 文件系统实现,该方案配置了TACHYON_UNDERFS_ADDRESS。对于亚马逊,您需要指定如下内容:
export TACHYON_UNDERFS_ADDRESS=s3n://your_bucket
注意这里的“s3n”,而不是“s3”。
您需要使用 s3 进行 其他设置(另请参阅在文件系统和http://tachyon-project.org/Setup-UFS.html下在 S3 上设置 Tachyon 时出错):
在 ${TACHYON}/bin/tachyon-env.sh 中:将密钥 ID 和密钥添加到TACHYON_JAVA_OPTS:
-Dfs.s3n.awsAccessKeyId=123
-Dfs.s3n.awsSecretAccessKey=456
发布 s3n Hadoop FileSystem 实现所需的额外依赖项,版本取决于安装的 Hadoop 版本。它们是:commons-httpclients-* 和 jets3t-*。为此,请按照上述链接之一中的说明发布 TACHYON_CLASSPATH。这可以通过在导出 CLASSPATH 之前在 ${TACHYON}/libexec/tachyon-config.sh 中添加TACHYON_CLASSPATH的导出来完成:
export TACHYON_CLASSPATH=~/.m2/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar:~/.m2/repository/net/java/dev/jets3t/jets3t/0.9.0/jets3t-0.9.0.jar
export CLASSPATH="$TACHYON_CONF_DIR/:$TACHYON_JAR:$TACHYON_CLASSPATH":
启动 Tachyon 集群:
./bin/tachyon format
./bin/tachyon-start.sh local
通过 Web 界面检查其可用性: http://localhost:19999/
在日志中:
${TACHYON}/logs
您的core-site.xml应包含以下部分,以确保您与 Tachyon 集成(请参阅 Spark 参考http://tachyon-project.org/Running-Spark-on-Tachyon.html以获取来自 scala 的配置)
fs.s3n.awsSecretAccessKey - 亚马逊密钥
<configuration>
<property>
<name>fs.defaultFS</name>
<value>tachyon://localhost:19998</value>
</property>
<property>
<name>fs.default.name</name>
<value>tachyon://localhost:19998</value>
<description>The name of the default file system. A URI
whose scheme and authority determine the
FileSystem implementation.
</description>
</property>
<property>
<name>fs.tachyon.impl</name>
<value>tachyon.hadoop.TFS</value>
</property>
...
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>123</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>345</value>
</property>
...
</configuration>
使用 tachyon 方案和主主机端口引用任何路径:
tachyon://master_host:master_port/path
使用默认 Tachyon 主主机端口的示例:
tachyon://localhost:19998/remote_dir/remote_file.csv