CDH 集群 使用 JindoFS SDK 访问 OSS
  TEZNKK3IfmPf 2023年11月12日 73 0
CDH 集群 使用 JindoFS SDK 访问 OSS

CDH(Cloudera's Distribution, including Apache Hadoop)是众多Hadoop发行版本中的一种,本文以CDH 5.16.2为例介绍如何配置CDH支持使用JindoFS SDK访问OSS。

1. 安装 jar 包

下载最新的jar包 jindofs-sdk-x.x.x.jar (下载页面),将sdk包安装到hadoop的classpath下。

cp ./jindofs-sdk-*.jar /opt/cloudera/parcels/CDH/lib/hadoop/lib/jindofs-sdk.jar

2. 配置 JindoFS OSS 实现类

通过集群管理工具Cloudera Manager增加JindoFS OSS 实现类配置,并根据Cloudera Manager提示重启集群和部署客户端配置。

CDH 集群 使用 JindoFS SDK 访问 OSS

若没有Cloudera Manager管理的集群,可以配置core-site.xml中。

<configuration>
    <property>
        <name>fs.AbstractFileSystem.oss.impl</name>
        <value>com.aliyun.emr.fs.oss.OSS</value>
    </property>
    <property>
        <name>fs.oss.impl</name>
        <value>com.aliyun.emr.fs.oss.JindoOssFileSystem</value>
    </property>
</configuration>

3. 配置 OSS Access Key

通过集群管理工具Cloudera Manager增加OSS的Access Key、Access Key Secret、Endpoint等配置,并根据Cloudera Manager提示重启集群和部署客户端配置。

CDH 集群 使用 JindoFS SDK 访问 OSS

若没有Cloudera Manager管理的集群,可以配置core-site.xml中。

<configuration>
    <property>
        <name>fs.jfs.cache.oss.accessKeyId</name>
        <value>xxx</value>
    </property>
    <property>
        <name>fs.jfs.cache.oss.accessKeySecret</name>
        <value>xxx</value>
    </property>
    <property>
        <name>fs.jfs.cache.oss.endpoint</name>
      	<!-- ECS 环境推荐使用内网 OSS Endpoint,即 oss-cn-xxx-internal.aliyuncs.com -->
        <value>oss-cn-xxx.aliyuncs.com</value>
    </property>
</configuration>

JindoFS还支持更多的OSS AccessKey的配置方式,详情参考JindoFS SDK OSS AccessKey 配置。

4. 使用 JindoFS SDK 访问 OSS

用Hadoop Shell访问OSS,下面列举了几个常用的命令。

  • put 操作
hadoop fs -put <path> oss://<bucket>/
  • ls 操作
hadoop fs -ls oss://<bucket>/
  • mkdir 操作
hadoop fs -mkdir oss://<bucket>/<path>
  • rm 操作
hadoop fs rm oss://<bucket>/<path>

CDH 集群 使用 JindoFS SDK 访问 OSS

5. 参数调优

JindoFS SDK包含一些高级调优参数,配置方式以及配置项参考文档 JindoFS SDK 配置项列表 【注:3.0 以下版本此 参考配置项列表】

6.spark、hive、impala加入此包

复制此包到cdh6.3.0的hadoop的lib文件夹下面
cp jindofs-sdk-3.7.2.jar /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hadoop/lib/jindofs-sdk.jar
进入到saprk的jars包建立软链接
cd  /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/spark/jars
ln -s ../../../lib/hadoop/lib/jindofs-sdk.jar jindofs-sdk.jar
进入到impala的jars包建立软链接
cd /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/impala/lib
ln -s ../../../lib/hadoop/lib/jindofs-sdk.jar jindofs-sdk.jar
进入到hive的jars包建立软链接
cd  /opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/lib/hive/lib/
ln -s ../../../lib/hadoop/lib/jindofs-sdk.jar jindofs-sdk.jar

注意:以上每台cdh机器都需要操作


7.进入hdfs配置搜core-site.xml 的群集范围高级配置代码段(安全阀)

CDH 集群 使用 JindoFS SDK 访问 OSS

CDH 集群 使用 JindoFS SDK 访问 OSS

 

8.进入hive配置搜core-site.xml 的群集范围高级配置代码段(安全阀)

CDH 集群 使用 JindoFS SDK 访问 OSS

CDH 集群 使用 JindoFS SDK 访问 OSS

9.进入yarn搜core-site.xml 的 YARN 服务高级配置代码段(安全阀)

CDH 集群 使用 JindoFS SDK 访问 OSS

CDH 集群 使用 JindoFS SDK 访问 OSS

以上配置完之后重启整个集群。

注意:

1.重启的时候,先确认一下hdfs的namenode活动和yarn的ResourceManager活动的是哪一台。

2.重启的时候要每个组件每个组件的重启,防止全集群重启影响到任务挂起。

3.生产环境重启前要与开发确认,是否有任务在执行。

以下是通过JindoFS SDK

CDH 集群 使用 JindoFS SDK 访问 OSS

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   49   0   0 apachehadoopjava
  TEZNKK3IfmPf   2023年11月14日   37   0   0 cdh
  TEZNKK3IfmPf   2023年11月14日   26   0   0 hdfscdh
  TEZNKK3IfmPf   2023年11月14日   32   0   0 进程hadoop
  TEZNKK3IfmPf   2023年11月14日   26   0   0 hadoop大数据
  TEZNKK3IfmPf   2023年11月15日   24   0   0 apachehadoop
  TEZNKK3IfmPf   2023年11月14日   19   0   0 hadoop
  TEZNKK3IfmPf   2023年11月14日   20   0   0 hadoopHive
  TEZNKK3IfmPf   2024年04月26日   62   0   0 hadoopHive
  TEZNKK3IfmPf   2023年11月14日   29   0   0 cdh
TEZNKK3IfmPf