开源Kylin 3.x与MRS 1.9.3对接时存在Jetty兼容性问题如何处理?
出于安全考虑,MRS对部分存在严重安全漏洞的开源三方组件进行了版本升级,导致开源Kylin与MRS 1.9.3版本进行对接时存在Jetty版本的兼容性问题。
按以下步骤进行操作可以完成部署和对接。
- 在一个ECS节点进行MRS Client安装,具体请参考集群外节点使用MRS客户端。本操作以MRS客户端安装路径为“/srv/client/”为例进行说明。
- 安装完成后执行如下命令导入MRS客户端环境变量bigdata_env和Kylin所需的环境变量:HIVE_CONF、HCAT_HOME。
source /srv/client/bigdata_env
export HIVE_CONF=/srv/client/Hive/config/
export HCAT_HOME=/srv/client/Hive/HCatalog
- 参照Kylin官方链接在MRS Client安装节点上安装Kylin,并指定KYLIN_HOME。MRS 1.9.3版本选择Kylin for HBase 1.x版本进行对接。
export KYLIN_HOME=/srv/client/apache-kylin-3.0.2-bin-hbase1x
- 移除Hive客户端目录下/srv/client/Hive/Beeline/lib/目录中jetty相关jar包以避免版本冲突。
jetty相关jar包:
javax-websocket-server-impl-9.4.26.v20200117.jar websocket-server-9.4.26.v20200117.jar jetty-all-9.4.26.v20200117-uber.jar jetty-runner-9.4.26.v20200117.jar apache-jsp-9.4.26.v20200117.jar
- 启动Kylin服务,观察Kylin日志,正常情况下日志中不会再出现java.lang.NoSuchMethodException或java.lang.ClassNotFoundException等兼容性异常。
- 访问Kylin原生页面http://<hostname>:7070/kylin并运行样例Cube脚本${KYLIN_HOME}/bin/sample.sh验证kylin是否正常运行。
在华为云严选商城中有提供基于Apache Kylin的企业级大数据智能分析平台Kyligence Enterprise,您可以根据需要选择使用。