CDH 集群 使用 JindoFS SDK 访问 OSS

Posted 醉舞斜陽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDH 集群 使用 JindoFS SDK 访问 OSS相关的知识,希望对你有一定的参考价值。

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

若没有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

若没有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

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

\'CDH

 

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

\'CDH

\'CDH

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

\'CDH

\'CDH

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

注意:

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

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

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

以下是通过JindoFS SDK

\'CDH

以上是关于CDH 集群 使用 JindoFS SDK 访问 OSS的主要内容,如果未能解决你的问题,请参考以下文章

SparkSQL远程访问CDH集群Hive数据表

0027-如何在CDH集群启用Kerberos

0027-如何在CDH集群启用Kerberos

CDH集群安装出现问题参考

CDH6.3.2 启用Kerberos 认证

0001-CDH网络要求(Lenovo参考架构)