SmartData 3.1.x版本支持改写Jindo HDFS客户端级别的路径,以减少集群迁移时修改路径的工作量。例如,通过将HDFS地址重写至OSS地址,方便您迁移HDFS中的数据至OSS后,无需改动业务逻辑中的数据地址,即可访问数据。
使用限制
仅支持Hadoop 2.x版本,不支持Hadoop 3.x版本。
开启路径改写功能
- 进入SmartData服务。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,选择。
- 登录阿里云E-MapReduce控制台。
- 单击配置页签。
- 在服务配置区域,单击smartdata-site页签。
- 在服务配置区域,单击右侧的自定义配置。
- 在新增配置项对话框中,添加Key为fs.hdfs.impl,Value为com.aliyun.emr.fs.hdfs.JindoHdfsShimsFileSystem的配置项。
- 单击确定。
- 保存配置。
- 单击右上角的保存。
- 在确认修改对话框中,输入执行原因,开启自动更新配置。
- 单击确定。
改写配置路径
- 进入SmartData服务。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,选择。
- 登录阿里云E-MapReduce控制台。
- 单击配置页签。
- 在服务配置区域,单击smartdata-site页签。
- 在服务配置区域,单击右侧的自定义配置。
- 在新增配置项对话框中,添加如下两个配置项。
参数 描述 参数值 fs.jindo.shim.path-rewrite.<RULE-NAME>.source 路径重写的挂载点。 - HA集群
hdfs://emr-cluster/<osspath>
- 非HA集群
hdfs://<your_hostname>:9000/<osspath>
说明 <your_hostname>您可以通过SSH登录主节点,执行hostname命令获取,SSH登录主节点详情请参见登录集群。
fs.jindo.shim.path-rewrite.<RULE-NAME>.target 您实际访问的路径。 oss://<your_bucket>/<testpath> RULE-NAME需要您自定义。
- HA集群
- 单击确定。
- 保存配置。
- 单击右上角的保存。
- 在确认修改对话框中,输入执行原因,开启自动更新配置。
- 单击确定。
示例
HA集群,在smartdata-site页签,添加如下参数后,您访问hdfs://emr-cluster/osspath时实际访问的是oss://jindo-bucket/<testpath>的数据。
| 参数 | 参数值 |
| fs.jindo.shim.path-rewrite.testrule.source | hdfs://emr-cluster/osspath |
| fs.jindo.shim.path-rewrite.testrule.target | oss://jindo-bucket/<testpath> |
您可以通过SSH登录集群的主节点,执行如下命令,查看改写情况。
hadoop fs -ls /
通过如下信息,看到
osspath
已经挂载在根目录下。
[root@emr-header-1 ~]# hadoop fs -ls /
Found 7 items
drwxr-xr-x - hadoop hadoop 0 2020-11-24 21:12 /apps
drwxrwxrwx - flowagent hadoop 0 2020-11-24 21:11 /emr-flow
drwxr-x--x - root hadoop 0 2020-11-24 21:12 /emr-sparksql-udf
drwxrwxrwx - 0 2020-11-25 16:55 /osspath
drwxr-x-x - hadoop hadoop 0 2020-11-25 16:56 /spark-history
drwxrwxrwx - root hadoop 0 2020-11-25 16:55 /tmp
drwxr-x--t - hadoop hadoop 0 2020-11-24 21:14 /user