一、web页面打不开
分析
查看日志
tail -n 200 /opt/module/kylin/logs/kylin.log
报错信息:
java.lang.ClassCastException: com.fasterxml.jackson.datatype.jsr310.JavaTimeModule cannot be cast to com.fasterxml.jackson.da tabind.Module
由于出现jar包冲突的问题,会通过find-hive-dependency.sh找在hive和通过find-spark-dependency.sh找在spark中的依赖,会导致与kylin中与jackson冲突,所以在找依赖时,过滤掉jackson的文件,
解决方案
1、进入kylin的bin目录下,修改 find-hive-dependency.sh
vim find-hive-dependency.sh
#在200行的位置,添加 -name '*jackson*' !
hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*druid*' ! -name '*jackson*' ! -name '*slf4j*' ! -name '*avatica*' ! -name '*c alcite*' ! -name '*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'`
2、vim find-spark-dependency.sh
#在43行的位置 添加 -name '*jackson*' !
spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*jackson*' ! -name '*slf4j*' ! -name '*calcite*' ! -name '*doc*' ! -na me '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'`
3、find之后,会将文件保存在cached-hive-dependency.sh中,所以先删除,初始化后重新加载
rm -rf cached-hive-dependency.sh
rm -rf cached-spark-dependency.sh
最后就可以登录
二、kylin启动元数据报错
加载元数据时报错
分析
1、kylin直接连接hive查询mysql中的元数据,在mysql中,没有catalog_name,所以查不到数据,
解决方案
- 方式一、修改源码(有点难…)
- 方式二、修改连接方式,类似于presto的方式,第三方通过向hive发送(metastore端口)请求,获取元数据
1、向kylin中添加hive的配置,在conf目录下新建hive-conf文件夹,
新建
cd /opt/module/kylin/conf
mkdir myhive_conf
vim hive-site.xml
添加如下配置
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop102:9083</value>
</property>
</oonfiguration>
2、在find-hive-dependency.sh目录下,声明hive的配置路径
# 在55行左右,声明HIVE_CONF的路径,之后会读取HIVE_CONF中的内容
HIVE_CONF=/opt/module/kylin/conf/myhive_conf