本文为您介绍火山引擎 E-MapReduce(EMR)集群 proton 无缓存模式用法。
Proton加速服务访问TOS需经过TOS认证,支持3种认证方式:Assume Role、静态AKSK、环境变量配置AKSK。详细内容参考Hadoop 使用 Proton。
EMR集群会自动安装Proton SDK组件,不需要额外操作。
下载proton安装包到本地,下载地址 Proton 发行版本
# 样例:下载1.7.0版本proton安装包到本地。 wget https://proton-pkgs.tos-cn-beijing.volces.com/public/proton-1.7.0-bin.tar.gz # 样例:解压安装包到本地,解压后到目录即为PROTON_HOME目录。 tar xvf proton-1.7.0-bin.tar.gz
执行以下命令将proton hadoop bundle包拷贝到hdfs目录,其中:
PROTON_HOME
为Proton安装包解压后的目录
hadoop.major.version
是当前hadoop的版本,比如2、3分别表示hadoop2、hadoop3
proton.version
为proton版本
# 将proton hadoop bundle包拷贝到hdfs目录。 cp ${PROTON_HOME}/plugins/hadoop{hadoop.major.version}/proton-hadoop{hadoop.major.version}-bundle-{proton.version}.jar ${HADOOP_HOME}/share/hadoop/hdfs # 样例: hadoop.major.version=2,proton.version=1.7.0。 cp ${PROTON_HOME}/plugins/hadoop2/proton-hadoop2-bundle-1.7.0.jar ${HADOOP_HOME}/share/hadoop/hdfs
将下面四个properties添加到core-site.xml
中。
<configuration> <property> <name>fs.tos.impl</name> <value>io.proton.fs.ProtonFileSystem</value> </property> <property> <name>fs.AbstractFileSystem.tos.impl</name> <value>io.proton.fs.ProtonFS</value> </property> <property> <name>proton.cache.enable</name> <value>false</value> </property> <property> <name>fs.tos.endpoint</name> <value>您的TOS endpoint</value> <!-- 例如:[https://tos-cn-beijing.volces.com](https://tos-cn-beijing.volces.com) --> </property> <!-- 如果采用静态AKSK做TOS认证,需要core-site.xml中添加如下配置。采用其他认证方式则不需要配置。 其他认证方式见:https://www.volcengine.com/docs/6491/708149#_1-1-%E8%AE%A4%E8%AF%81%E9%85%8D%E7%BD%AE --> <!-- <property> <name>fs.tos.access-key-id</name> <value>您的AK</value> </property> <property> <name>fs.tos.secret-access-key</name> <value>您的SK</value> </property> --> </configuration>
使用HDFS客户端验证tos访问,能成功看到路径下的目录/文件表示访问成功。注意:bucket需要和EMR集群在同一个region。
cd $HADOOP_HOME ./bin/hdfs dfs -ls tos://bucket/a/b/c