华为云MRS服务对接集成Kylin4指导
为什么写此文章?
Apache Kylin是一个开源的、分布式的分析型数据仓库,提供 Hadoop 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据。Apache Kylin4.0 是 Apache Kylin3.x 之后一次大版本更新,它采用Parquet 替换 HBase,使用全新的 Spark 构建引擎和 Parquet 作为存储,同时使用 Spark 作为查询引擎。根据Kylin官网的说明Kylin4相对Kylin3客户的预算成本更低,性能更优,详细请登录Kylin官网查看说明;
华为云MRS服务为完全兼容大数据开源组件的大叔平台,很多使用Kylin的用户都有对接MRS的需求,或者已经在使用MRS服务的客户有对接Kylin4的需求,本文介绍和帮助客户快速对接Kylin4,帮助客户优化业务架构。
一、准备资源
1.准备集群外ECS节点:
强烈建议创建单独的ECS来部署Kylin4,方便后期的权限控制和管理;
创建好ECS时需要提前规划好网络,或者调整MRS集群和集群外ECS节点的安全组,保证ECS节点的网络和MRS集群节点的网络互通;
给ECS绑定EIP,后期访问Kylin页面使用,如果有专线公司内网可以访问ECS的私有IP,可不绑定EIP;
在节点上创建omm用户: useradd -d /home/omm omm
2.准备MySQL环境
Kylin4元数据需要存储在外部数据库,创建MySQL数据库,并和集群外ECS节点打通网络;
准备连接MySQL的java驱动包;
3.下载Kylin4安装包
下载地址:https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-4.0.1/apache-kylin-4.0.1-bin-spark2.tar.gz
4.下载Spark 2.4.7安装包
下载地址:https://archive.apache.org/dist/spark/spark-2.4.7/spark-2.4.7-bin-without-hadoop.tgz
5.下载依赖的jar包
#依赖包地址如下:
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-beeline/1.2.1.spark_2.3.2-mrs-2.0/hive-beeline-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-cli/1.2.1.spark_2.3.2-mrs-2.0/hive-cli-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-common/1.2.1.spark_2.3.2-mrs-2.0/hive-common-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-exec/1.2.1.spark_2.3.2-mrs-2.0/hive-exec-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-jdbc/1.2.1.spark_2.3.2-mrs-2.0/hive-jdbc-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-metastore/1.2.1.spark_2.3.2-mrs-2.0/hive-metastore-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-shims/1.2.1.spark_2.3.2-mrs-2.0/hive-shims-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/shims/hive-shims-common/1.2.1.spark_2.3.2-mrs-2.0/hive-shims-common-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/shims/hive-shims-0.23/1.2.1.spark_2.3.2-mrs-2.0/hive-shims-0.23-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/shims/hive-shims-scheduler/1.2.1.spark_2.3.2-mrs-2.0/hive-shims-scheduler-1.2.1.spark_2.3.2-mrs-2.0.jar
https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/org/spark-project/hive/hive-serde/1.2.1.spark_2.3.2-mrs-2.0/hive-serde-1.2.1.spark_2.3.2-mrs-2.0.jar
https://dlcdn.apache.org//commons/configuration/binaries/commons-configuration-1.10-bin.zip
https://search.maven.org/remotecontent?filepath=org/apache/spark/spark-hive_2.11/2.4.7/spark-hive_2.11-2.4.7.jar
https://search.maven.org/remotecontent?filepath=org/apache/spark/spark-hive-thriftserver_2.11/2.4.7/spark-hive-thriftserver_2.11-2.4.7.jar
二、安装MRS客户端
MRS集群客户端提供了访问各组件的环境信息,使用方便简单;
在集群外ECS节点上安装MRS客户端,具体安装方法见MRS官网:https://support.huaweicloud.com/function-mrs/index.html
三、部署Kylin4对接MRS集群
1.上传压缩包
这里假设MRS客户端安装在路径/opt/mrsclient下面,kylin4安装在/opt/kylin4下面。
cd /opt
tar -xf spark-2.4.7-bin-without-hadoop.tgz
tar -xf apache-kylin-4.0.1-bin-spark2.tar.gz
tar -xf kylin4_adapter.tar.gz
mv apache-kylin-4.0.1-bin-spark2 kylin4
2.上传依赖jar
上传前面步骤下载的依赖包到路径/opt/kylin4_adapter/jars/下面;
[root@node-ana-corePtck0001 kylin4_adapter]#
[root@node-ana-corePtck0001 kylin4_adapter]# cd /opt/kylin4_adapter/jars/
[root@node-ana-corePtck0001 jars]# ll
total 23700
-rw-r-----. 1 root root 362679 Jun 7 20:23 commons-configuration-1.10.jar
-rw-r-----. 1 root root 148419 Jun 7 20:23 hive-beeline-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 42990 Jun 7 20:23 hive-cli-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 345200 Jun 7 20:23 hive-common-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 11869495 Jun 7 20:23 hive-exec-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 158085 Jun 7 20:23 hive-jdbc-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 5977527 Jun 7 20:23 hive-metastore-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 933877 Jun 7 20:23 hive-serde-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 68125 Jun 7 20:23 hive-shims-0.23-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 10731 Jun 7 20:23 hive-shims-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 121525 Jun 7 20:23 hive-shims-common-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 14214 Jun 7 20:23 hive-shims-scheduler-1.2.1.spark_2.3.2-mrs-2.0.jar
-rw-r-----. 1 root root 232248 Jun 7 20:23 jackson-core-asl-1.9.13.jar
-rw-r-----. 1 root root 780664 Jun 7 20:23 jackson-mapper-asl-1.9.13.jar
-rw-r-----. 1 root root 1358988 Jun 7 20:23 spark-hive_2.11-2.4.7.jar
-rw-r-----. 1 root root 1815976 Jun 7 20:23 spark-hive-thriftserver_2.11-2.4.7.jar
[root@node-ana-corePtck0001 jars]#
[root@node-ana-corePtck0001 jars]#
3.执行适配脚本
sh install.sh MRS客户端路径 kylin路径 spark开源解压包路径
例如:sh install.sh /opt/auto/mrsclient /opt/auto/apache-kylin-4.0.1-bin-spark2 /opt/auto/spark-2.4.7-bin-without-hadoop
cd /opt/kylin4_adapter
sh install.sh /opt/client /opt/kylin4 /opt/spark-2.4.7-bin-without-hadoop
脚本执行完成提示如下信息,需要按照提示进行操作,具体见本文下一小节描述;
4.配置Kylin4环境
如下,获取spark.yarn.archive配置项值,把当前路径(/opt/kylin4_adapter)下面的spark-archive-247_kylin.zip上传到hdfs://hacluster/user/spark2x/jars/8.1.0/目录下。
[root@node-ana-corePtck0001 kylin4_adapter]# grep "spark.yarn.archive" /opt/client/Spark2x/spark/conf/spark-defaults.conf
spark.yarn.archive = hdfs://hacluster/user/spark2x/jars/8.1.0/spark-archive-2x.zip
[root@node-ana-corePtck0001 kylin4_adapter]#
[root@node-ana-corePtck0001 kylin4_adapter]# pwd
/opt/kylin4_adapter
[root@node-ana-corePtck0001 kylin4_adapter]#
[root@node-ana-corePtck0001 kylin4_adapter]# ll
total 214412
-rwxr-xr-x. 1 8806457 1049089 6766 May 7 15:37 install.sh
drwxr-xr-x. 2 8806457 1049089 4096 Jun 7 20:23 jars
-rw-r-----. 1 root root 219544017 Jun 7 20:28 spark-archive-247_kylin.zip
[root@node-ana-corePtck0001 kylin4_adapter]#
[root@node-ana-corePtck0001 kylin4_adapter]# source /opt/client/bigdata_env
[root@node-ana-corePtck0001 kylin4_adapter]# hdfs dfs -put spark-archive-247_kylin.zip hdfs://hacluster/user/spark2x/jars/8.1.0/
[root@node-ana-corePtck0001 kylin4_adapter]#
[root@node-ana-corePtck0001 kylin4_adapter]# hdfs dfs -ls hdfs://hacluster/user/spark2x/jars/8.1.0/spark-archive-247_kylin.zip
-rw-r--r-- 3 root hadoop 219544017 2022-06-07 20:36 hdfs://hacluster/user/spark2x/jars/8.1.0/spark-archive-247_kylin.zip
[root@node-ana-corePtck0001 kylin4_adapter]#
把mysql驱动包放入/opt/kylin4/ext目录下,并修改文件权限。
[root@node-ana-corePtck0001 ext]# pwd
/opt/kylin4/ext
[root@node-ana-corePtck0001 ext]# chown omm:wheel -R ./*
[root@node-ana-corePtck0001 ext]# ll
total 3064
-rw-r-----. 1 omm wheel 362679 Jun 7 20:27 commons-configuration-1.10.jar
-rw-r-----. 1 omm wheel 676712 Jun 7 20:43 com.mysql.jdbc_5.1.5.jar
-rwxr-x---. 1 omm wheel 326356 Jun 7 20:27 httpcore-4.4.10.jar
-rwxr-x---. 1 omm wheel 369320 Jun 7 20:27 httpcore-nio-4.4.13.jar
-rwxr-x---. 1 omm wheel 1116670 Jun 7 20:27 zookeeper-3.5.6-hw-ei-310012.jar
-rwxr-x---. 1 omm wheel 270636 Jun 7 20:27 zookeeper-jute-3.5.6-hw-ei-310012.jar
[root@node-ana-corePtck0001 ext]#
修改/opt/kylin4/conf/kylin.properties中的mysql及hive的配置项
四、使用Kylin4
1.执行如下命令加载环境变量,及启动Kylin
source /xxx/xxx/bigdata_env
$KYLIN_HOME/bin/kylin.sh start
2.访问kylin页面地址
通过地址 http://xxx.xxx.xxx.xxx:7070/kylin/jobs访问Kylin页面,xxx.xxx.xxx.xxx替换为ECS的EIP或者私有IP。
五、使用说明:
1.根据Kylin官网文档描述,最新Kylin 4.0.1版本软件要求Spark版本为2.4.6,MRS_305/MRS_3.1.0版本Spark版本为2.4.5版本,故提供此文档指导客户用对接Kylin4。
2.MRS_3.1.2及之后版本Spark版本已经升级为3.x,对接会更加方便。
3.此文档使用没有开启KerberOS的集群集成kylin的文档。
4.此文档默认是用omm作为执行用户,如果更改用户需要保证用户有Kylin配置的HDFS路径的权限。
- 点赞
- 收藏
- 关注作者
评论(0)