CDH 集群 使用 JindoFS SDK 访问 OSS
Posted 醉舞斜陽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDH 集群 使用 JindoFS SDK 访问 OSS相关的知识,希望对你有一定的参考价值。
CDH 集群 使用 JindoFS SDK 访问 OSSCDH(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提示重启集群和部署客户端配置。
若没有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提示重启集群和部署客户端配置。
若没有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>
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 的群集范围高级配置代码段(安全阀)
8.进入hive配置搜core-site.xml 的群集范围高级配置代码段(安全阀)
9.进入yarn搜core-site.xml 的 YARN 服务高级配置代码段(安全阀)
以上配置完之后重启整个集群。
注意:
1.重启的时候,先确认一下hdfs的namenode活动和yarn的ResourceManager活动的是哪一台。
2.重启的时候要每个组件每个组件的重启,防止全集群重启影响到任务挂起。
3.生产环境重启前要与开发确认,是否有任务在执行。
以下是通过JindoFS SDK
以上是关于CDH 集群 使用 JindoFS SDK 访问 OSS的主要内容,如果未能解决你的问题,请参考以下文章