CDH(Cloudera’s Distribution, including Apache Hadoop)是众多Hadoop发行版本中的一种,最新版本CDH6.0.1中的Hadoop3.0.0版本已经支持OSS,但CDH5中的Hadoop2.6版本不支持OSS 。本文介绍如何配置CDH5支持OSS读写 。
前提条件拥有一个已搭建好的CDH5集群(本文以CDH 5.14.4版本为例) 。如何搭建CDH5集群,请参见官方文档 。
背景信息由于CDH5的httpclient和httpcore这两个组件版本较低(4.2.5),Resource Manager要求的httpclient和httpcore必须是低版本,而OSS SDK要求这两个组件的版本较高 。因此,本文提供了一个workaround方案 。
步骤一:增加OSS配置您需要在所有的CDH节点执行以下操作:
- 查看CDH5安装目录${CDH_HOME}的结构:
[root@cdh-master CDH-5.14.4-1.cdh5.14.4.p0.3]# ls -lh
总用量 100K
drwxr-xr-x2 root root 4.0K 6月12 21:03 bin
drwxr-xr-x 27 root root 4.0K 6月12 20:57 etc
drwxr-xr-x5 root root 4.0K 6月12 20:57 include
drwxr-xr-x2 root root68K 6月12 21:09 jars
drwxr-xr-x 38 root root 4.0K 6月12 21:03 lib
drwxr-xr-x3 root root 4.0K 6月12 20:57 lib64
drwxr-xr-x3 root root 4.0K 6月12 20:51 libexec
drwxr-xr-x2 root root 4.0K 6月12 21:02 meta
drwxr-xr-x4 root root 4.0K 6月12 21:03 share
说明 本文中所有${}的内容为环境变量,请根据您实际的环境修改 。
- 下载CDH 5.14.4版本支持OSS的支持包至CDH5的安装目录中的jars文件夹中 。
该支持包是根据CDH 5.14.4中Hadoop的版本,并增加Apache Hadoop对OSS支持的补丁后编译得到的 。其他版本支持包下载地址,请参见:
- CDH 5.8.5
- CDH 5.4.4
- CDH 6.3.2
说明 对于CDH 6.3.2版本,您需要将支持包的文件复制到CDH6安装目录的jars文件夹中,然后参考以下步骤进行部署(主要更新aliyun-sdk-oss-3.4.1.jar以及将aliyun-java-sdk-*.jar符号链接到对应的位置) 。
- CDH 5.8.5
- 解压支持包 。
[root@cdh-master CDH-5.14.4-1.cdh5.14.4.p0.3]# tar -tvf hadoop-oss-cdh-5.14.4.tar.gz
drwxr-xr-x root/root 0 2018-10-08 18:16 hadoop-oss-cdh-5.14.4/
-rw-r--r-- root/root 13277 2018-10-08 17:36 hadoop-oss-cdh-5.14.4/aliyun-java-sdk-sts-3.0.0.jar
-rw-r--r-- root/root 326724 2018-10-08 18:16 hadoop-oss-cdh-5.14.4/httpcore-4.4.4.jar
-rw-r--r-- root/root 524927 2018-10-08 17:36 hadoop-oss-cdh-5.14.4/aliyun-sdk-oss-3.4.1.jar
-rw-r--r-- root/root 116337 2018-10-08 17:36 hadoop-oss-cdh-5.14.4/aliyun-java-sdk-core-3.4.0.jar
-rw-r--r-- root/root 215492 2018-10-08 17:36 hadoop-oss-cdh-5.14.4/aliyun-java-sdk-ram-3.0.0.jar
-rw-r--r-- root/root 788137 2018-10-08 17:36 hadoop-oss-cdh-5.14.4/aliyun-java-sdk-ecs-4.2.0.jar
-rw-r--r-- root/root 70017 2018-10-08 17:36 hadoop-oss-cdh-5.14.4/hadoop-aliyun-2.6.0-cdh5.14.4.jar
-rw-r--r-- root/root 736658 2018-10-08 18:16 hadoop-oss-cdh-5.14.4/httpclient-4.5.2.jar - 进入${CDH_HOME}/lib/hadoop目录,执行如下命令:
[root@cdh-master hadoop]# rm -f lib/httpclient-4.2.5.jar
[root@cdh-master hadoop]# rm -f lib/httpcore-4.2.5.jar
[root@cdh-master hadoop]# ln -s ../../jars/hadoop-aliyun-2.6.0-cdh5.14.4.jar hadoop-aliyun-2.6.0-cdh5.14.4.jar
[root@cdh-master hadoop]# ln -s hadoop-aliyun-2.6.0-cdh5.14.4.jar hadoop-aliyun.jar
[root@cdh-master hadoop]# cd lib
[root@cdh-master lib]# ln -s ../../../jars/aliyun-java-sdk-core-3.4.0.jar aliyun-java-sdk-core-3.4.0.jar
[root@cdh-master lib]# ln -s ../../../jars/aliyun-java-sdk-ecs-4.2.0.jar aliyun-java-sdk-ecs-4.2.0.jar
[root@cdh-master lib]# ln -s ../../../jars/aliyun-java-sdk-ram-3.0.0.jar aliyun-java-sdk-ram-3.0.0.jar
[root@cdh-master lib]# ln -s ../../../jars/aliyun-java-sdk-sts-3.0.0.jar aliyun-java-sdk-sts-3.0.0.jar
[root@cdh-master lib]# ln -s ../../../jars/aliyun-sdk-oss-3.4.1.jar aliyun-sdk-oss-3.4.1.jar推荐阅读
- 如何通过对方手机号定位对方位置 手机号定位在线查询位置
- 如何通过对方手机号定位对方位置 手机号定位查询位置免费
- 红米手机如何通过数据线连接电脑
- 通过电压判断电池电量,手机如何判断电池电量
- 通过身份证号码可以查照片吗 手机号码可以查找定位吗
- 怎么通过手机号定位对方位置 通过手机号查询对方位置
- 联通手机怎样查询剩余流量
- woop,我oppo官网
- 纯水机,什么是纯水机
- 苹果笔记本通过命令行怎么查看mac地址