「最佳实践」Cloudera CDP如何对接XSKY HDFS Client?

2020年10月 · XSKY

前言

CDP 私有云基础版是 Cloudera Data Platform 的 on-premises 版本。该新产品结合了 Cloudera Enterprise Data Hub 和 Hortonworks Data Platform Enterprise 的优点以及新功能和增强功能。

微信图片_20201016150759.jpg

图片来源:Cloudera 官网

 CDP 私有云基础支持各种混合解决方案,将计算任务与数据存储分开,并且可以从远程集群访问数据,包括使用 CDP 私有云体验创建的工作负载。 这种混合方法通过管理存储,表架构,身份验证,授权和管理为容器化应用程序提供了基础。

 微信图片_20201016150806.jpg

图片来源:Cloudera 官网

那么,CDP 如何安装使用起来呢?

环境

•          OS:CentOS 7.4

•          JDK:1.8.0_181

•          MariaDB:5.5.65

下载 & 制作 local repo

由于 Cloudera 官方的镜像速度不理想,这里需要自行下载 rpm 以及 paracel;

1.        下载 CDP 7(Cloudera Data Platform)的相关文件

•          创建目录

# cd ~

# mkdir cdp7

# cd cdp7

•          下载如下的文件

https://archive.cloudera.com/cdh7/7.1.3.0/parcels/manifest.json

https://archive.cloudera.com/cdh7/7.1.3.0/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530-el7.parcel

https://archive.cloudera.com/cdh7/7.1.3.0/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530-el7.parcel.sha1

https://archive.cloudera.com/cdh7/7.1.3.0/parcels/CDH-7.1.3-1.cdh7.1.3.p0.4992530-el7.parcel.sha256

微信图片_20201016150816.jpg

 

2.        下载 CM 7 (ClouderaManager) 的相关文件

•          创建目录

# cd ~

# mkdir cm7

# cd cm7

•          下载如下的文件

https://archive.cloudera.com/cm7/7.1.3/allkeys.asc

https://archive.cloudera.com/cm7/7.1.3/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-7.1.3-4999720.el7.x86_64.rpm

https://archive.cloudera.com/cm7/7.1.3/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-7.1.3-4999720.el7.x86_64.rpm

https://archive.cloudera.com/cm7/7.1.3/redhat7/yum/RPMS/x86_64/cloudera-manager-server-7.1.3-4999720.el7.x86_64.rpm

 微信图片_20201016150826.jpg

下载完成之后,执行 createrepo 命令生成 rpm 元数据;

# createrepo .

注意:

这里需要将 allkeys.asc 文件也下载下来,否则后面在安装 cloudera-agent 的时候会报错。

3.        安装并启动 httpd 服务

# yum -y install httpd

# systemctl start httpd

# systemctl status httpd

4.        将步骤 1、2 下载的文件移动到 /var/www/html/目录下

# mv ~/cp7 ~/cm7 /var/www/html

5.        制作 Cloudera Manager 的 repo 源

# cat /etc/yum.repos.d/cloudera-cm7.repo

[cloudera-cm]

name=Cloudera's Distribution for cm, Version 7

baseurl=http://10.252.90.47/cm/7.1.3

gpgcheck = 0

安装 Cloudera Manager Server

1.        通过 yum 安装 Cloudera Manager Server

# yum -y install cloudera-manager-server

2.        初始化数据库

# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm cm password

3.        启动 Cloudera Manager Server

# systemctl start cloudera-scm-server

# systemctl status cloudera-scm-server

4.        等待 2~3 分钟之后,通过 http://IP:7180 访问,输入默认用户与密码:admin/admin,即可进入 CM 的欢迎界面,如下:

微信图片_20201016150835.jpg

 

安装 CDP

1.        设置集群名称,然后点击继续。

微信图片_20201016150840.jpg

 

2.        添加节点,这里节点的 hostname 为 cdh1、cdh2、cdh3,输入 cdh[1-3]点击搜索找到主机后,点击继续。

微信图片_20201016150844.jpg

 

3.        在自定义存储库中,输入制作的 local repo:http://IP/cm7,在 Parcel Repository & Network Settings,配置已制作的 parcel 库:http://IP/cdp7,并删掉其他所有地址,点击继续

微信图片_20201016150848.jpg

微信图片_20201016150851.jpg

 

 

4.        已安装了 JDK ,这里选择Manually manage JDK,然后点击继续。

微信图片_20201016150855.jpg

 

5.        输入添加节点的 ssh 凭证,这里选择密码方式访问,也可以使用私钥的方式。输入密码之后,点击继续。

微信图片_20201016150859.jpg

6.        等待节点安装完成,然后点击继续。

 微信图片_20201016150903.jpg

7.        选择I understand the risks of…,然后点击继续。

微信图片_20201016150906.jpg

 

8.        选择想要的服务,配置安装。

微信图片_20201016150910.jpg

 

安装XHC(XSKY HDFS Client)

1.        下载 XHC 安装包 xflash-1.0-EOS.tar.gz,解压,配置计算节点 ip,通过命令实现一键安装。

# tar xzvf xflash-1.0-EOS.tar.gz

# ./install.sh -i xflash.hosts

2.        在 CDP 集群添加 XHC相关配置;

测试

1.        计算圆周率

# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 100 100

微信图片_20201016150915.jpg

2.        WordCount

创建文件

# cat create-file.sh

#!/bin/sh

for ((i=0;i<10000;i++))

do

echo "henry jim suse lusy tom jerry" >>./wordcount.txt

done

# sh create-file.sh

上传文件

# hadoop fs -mkdir -p xhc://localhost/spark-test/

# hadoop fs -put wordcount.txt xhc://localhost/spark-test/

# hadoop fs -ls xhc://localhost/spark-test/

Found 1 items

-rw-r–r–   1 root root     300000 2020-10-12 17:22 xhc://localhost/spark-test/wordcount.txt

使用spark-shell执行如下代码:

val testFile = sc.textFile("xhc://localhost/spark-test/wordcount.txt")

val count = testFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)

count.collect

微信图片_20201016150919.jpg

             

兼容度

XHC(XSKY HDFS Client)除了支持 CDP,还支持其他的 CDH or HDP 版本,具体兼容性如下表:

微信图片_20201016152316.png

注:以上版本为 CDH or HDP 的主流版本,均已支持,如有不在列表内的版本,也不一定不支持,需要进一步做对接测试。

总结

从整个安装对接过程来看,CDP 7.1.3 的安装过程与 CDH 6 的安装过程并无太大区别。 自 CDH 6.2 就提出来的存算分离概念更是在 CDP 这个版本上落到了实处。而 XHC(XSKY HDFS Client)更是从一开始就坚持存算分离,致力为客户提供了一个无限扩展、持续保护、高效访问的存储系统。