当前操作指导手册对于MRS访问OBS的内容比较分散,本文会收集比较常用的访问OBS的方法,方便用户集中查阅。

  Spark访问OBS

  1. 通过spark应用访问OBS:

  访问之前需要在spark客户端配置文件core-site.xml,默认路径为:/opt/client/Spark/spark/conf/core-site.xml中添加“fs.s3a.access.key”和“fs.s3a.secret.key”。

  注意:在文件中设置ak、sk会明文暴露在配置文件中,请谨慎使用。

  

  fs.s3a.access.key

  ak

  

  

  fs.s3a.secret.key

  sk

  

  复制代码

  2. 在spark-sql和spark-beeline中访问OBS:

  如果需要在spark-sql和spark-beeline中访问OBS,需要手动执行如下命令设置AK,SK。

  set fs.s3a.access.key=ak;

  set fs.s3a.secret.key=sk;

  复制代码

  示例:

  0: jdbc:hive2://ha-cluster/default> set fs.s3a.access.key=xxxxxxxxxxx;

  1 row selected (1.322 seconds)

  0: jdbc:hive2://ha-cluster/default> set fs.s3a.secret.key=xxxxxxxxxxxxxxxxxxxxx;

  1 row selected (0.083 seconds)

  0: jdbc:hive2://ha-cluster/default> create table test(id int) location 's3a://obs-demo-input/table/';

  +---------+--+

  | Result |

  +---------+--+

  +---------+--+

  No rows selected (1.816 seconds)

  复制代码

  HDFS访问OBS

  1. 通过命令行手动输入ak、sk访问

  hadoop fs -Dfs.s3a.access.key=ak -Dfs.s3a.secret.key=sk -ls "s3a://obs-bucket"

  复制代码

  2. 修改HDFS客户端配置文件core-site.xml,默认客户端路径为:/opt/client/HDFS/hadoop/etc/hadoop/core-site.xml,添加“fs.s3a.access.key”和“fs.s3a.secret.key”。

  

  fs.s3a.access.key

  ak

  

  

  fs.s3a.secret.key

  sk

  

  复制代码

  添加配置后无需手动添加ak、sk即可访问OBS:

  hadoop fs -ls "s3a://obs-bucket"

  复制代码

  Hive访问OBS

  1.在hive beeline里面手动设置以下参数即可访问OBS:

  set fs.s3a.access.key=ak;

  set fs.s3a.secret.key=sk;

  set metaconf:fs.s3a.access.key=ak;

  set metaconf:fs.s3a.secret.key=sk;

  复制代码

  示例:

  0: jdbc:hive2://10.10.10.10:10000/> set fs.s3a.access.key=xxxxxxxxxxxxxxxx;

  No rows affected (0.015 seconds)

  0: jdbc:hive2://10.10.10.10:10000/> set fs.s3a.secret.key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;

  No rows affected (0.017 seconds)

  0: jdbc:hive2://10.10.10.10:10000/> set metaconf:fs.s3a.access.key=xxxxxxxxxxxxxxxx;

  No rows affected (0.019 seconds)

  0: jdbc:hive2://10.10.10.10:10000/> set metaconf:fs.s3a.secret.key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;

  No rows affected (0.003 seconds)

  0: jdbc:hive2://10.10.10.10:10000/> create table aa(id string)location 's3a://obs-demo-input/table/';

  No rows affected (1.024 seconds)

复制代码

文章来源:https://www.huaweicloud.com/product/obs.html