zoukankan      html  css  js  c++  java
  • Kylin下载安装及部分报错解决

    1.Kylin下载和安装

    1.1 Kylin下载

    Kylin 下载地址
    慢速度:https://archive.apache.org/dist/kylin/
    快速度:https://repo.huaweicloud.com/apache/kylin/

    1.2 Kylin安装

    Kylin解压

    tar -zxvf apache-kylin-2.6.5-bin-hadoop3.tar.gz -C /data/soft/

    修改文件夹名

    mv apache-kylin-2.6.5-bin-hadoop3 kylin_2.6.5

    1.3 配置Kylin相关环境变量

    export JAVA_HOME=/usr/local/jdk1.8
    export HADOOP_HOME=/data/soft/hadoop-3.2.0
    export HADOOP_CONF_DIR=/data/soft/hadoop-3.2.0/etc/hadoop
    export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6
    export HIVE_HOME=/data/soft/hive-3.1.2
    export HBASE_HOME=/usr/local/hbase-2.1.0
    export KAFKA_HOME=/usr/local/kafka_2.12
    export SQOOP_HOME=/data/soft/sqoop-1.4.7
    export SCALA_HOME=/usr/local/scala-2.11.12
    export SPARK_HOME=/data/soft/spark
    export FLINK_HOME=/data/soft/flink-1.12.5
    export KYLIN_HOME=/data/soft/kylin_2.6.5
    
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$KAFKA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$FLINK_HOME/bin:$KYLIN_HOME/bin:$PATH

    1.4 修改配置文件

    修改kylin.properties配置文件,此步骤如果是单节点时可以忽略掉。

    # 配置节点类型(kylin节点模式分为all、query(查询模式)、job(任务构建模式))
    kylin.server.mode=all
    # kylin集群节点配置(这里选一台)
    kylin.server.cluster-servers=bigdata02:7070
    

    如果是集群多台节点配置的话,只能是由一台是job/all,其他台是query模式。

    注意:其中主节点选择all,从节点选择query.

    2. Kylin启动

    2.1 启动依赖

    使用kylin的前提是,kylin要有所有东西的权限。
    第一步:zookeeper启动
    第二步:hadoop集群启动,jobhistoryserver启动

    # 启动集群
    start-all.sh
    # 启动jobhistory
    mr-jobhistory-daemon.sh start historyserver

    第三步:HBase启动

    # 进入HBase HOME目录
    cd /usr/local/hbase-2.1.0/bin/
    # 启动HBase集群
     ./start-hbase.sh

    第四步:Hive启动

    # 启动hiveserver2
    nohup hive --service hiveserver2 &

    启动mysql相关服务(hive元数据)

    service mysqld start

    所有的依赖基本上启动完毕了,可以通过check-env.sh进行检查

    # $KYLIN_HOME/bin
    cd /data/soft/kylin_2.6.5/bin
    ./check-env.sh

    Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty

    解决方案:hbase脚本 CLASSPATH中添加HBase lib目录。

    cd /usr/local/hbase-2.1.0/bin/
    vi hbase
    # 找到这一行(大约是158行)
    CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
    # 修改为:(根据自己的路径地址)
    CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/usr/local/hbase-2.1.0/lib/*

    修改完毕后,check-env.sh基本上会校验通过。

    2.2 启动Kylin

    启动kylin脚本

    # 进入$KYLIN_HOME/bin目录
    cd /data/soft/kylin_2.6.5/bin
    # 执行启动脚本
    ./kylin.sh start

    报错:Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=2, exceptions:

    Exception in thread "main" java.lang.IllegalArgumentException: Failed to find metadata store by url: kylin_metadata@hbase
            at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:99)
            at org.apache.kylin.common.persistence.ResourceStore.getStore(ResourceStore.java:111)
            at org.apache.kylin.rest.service.AclTableMigrationTool.checkIfNeedMigrate(AclTableMigrationTool.java:99)
            at org.apache.kylin.tool.AclTableMigrationCLI.main(AclTableMigrationCLI.java:43)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:92)
            ... 3 more
    Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=2, exceptions:

    解决方案:检查HBase启动是否正常。节点HMaster和HRegionServer是否正常启动。 启动完毕HBase后,重启执行./kylin.sh start

    当启动后发现已经给出Web UI地址,则启动脚本已完成,需进入$KYLIN_HOME/logs/kylin.log中查看相关输出日志。

    解决问题1:缺少derbyLocale 相关语言包? 解决方案:移步到maven中心仓库,下载相关依赖jar. maven中心仓库地址:https://search.maven.org/artifact. 根据报错提示,将下载的jar包去掉版本信息,放到spark/jars目录下。

    /data/soft/spark-3.0.0-bin-hadoop3.2/jars

    解决问题2:无法找到shims-0.7.45.jar?
    将$SPARK_HOME/jar目录下的shims-0.7.45.jar 按照报错提供的位置,挪到$SPARK_HOME/jar/lib下。

    解决问题3:/apache-kylin-2.6.2-bin/tomcat/conf/.keystore (No such file)?
    进入kylin目录下的tomcat下的conf,打开server.xml文件。

    #进入SKYLIN_HOME/tomcat目录
    cd $KYLIN_HOME/tomcat 
    # 编辑server.xml
    vi conf/server.xml

    将下面红框部分注释掉即可

    解决问题4java.lang.ClassCastException: com.fasterxml.jackson.datatype.jsr310.JavaTimeModule cannot be cast to com.fasterxml.jackson.databind.Module? 由于出现jar包冲突的问题,会通过find-hive-dependency.sh找到hive和通过find-spark-dependency.sh中找到spark中的依赖,会导致与kylin中与jackson冲突,所以在找依赖的时候,需要过滤掉jackson文件。

    解决方案:

    1. 进入kylin的bin目录,修改find-hive-denpendency.sh中内容
    vi 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/:$//'`
    1. 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/:$//'`
    1. 删除cache文件
    rm -rf cache*.sh 

    解决完上述报错后,基本上就可以启动正常.
    登录地址 http://bigdata02:7070/kylin/login.

    用户名ADMIN,密码KYLIN(全大写)。就可以正常登录到Kylin中。
    解决问题5:在导入数据源的时候,遇见了连接hive数据源报错的问题?

    分析:kylin直接hive查询mysql中的元数据,在mysql中,没有catalog_name,所以没查询到数据。
    解决方案:通过第三方向hive发送(metastore端口)请求,获取元数据。

    1. 向kylin中添加hive的配置,在conf目录中新建hive-site文件夹
      
    cd /data/soft/kylin_2.6.5/conf
    # 创建hive_conf目录
    mkdir hive_conf
    1. 添加hive-site.xml中添加如下配置
    vi hive-site.xml 

    配置信息如下:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
       <property>
           <name>hive.metastore.uris</name>
           <value>thrift://bigdata02:9083</value>
       </property>
    </configuration>

    3.在find-hive-dependency.sh中,声明hive的配置路径。

    # 大约55行左右
    HIVE_CONF=/data/soft/kylin_2.6.5/conf/hive_conf

    解决问题6: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒绝连接 (Connection refused).

    Caused by: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: java.net.ConnectException: 拒绝连接 (Connection refused)
        at org.apache.thrift.transport.TSocket.open(TSocket.java:185)
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:351)
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:219)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1424)
        at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:63)
        at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:73)
        at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2625)
        at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2644)
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:365)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:689)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:633)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

    解决方案:需要先启动元数据服务。在启动hive

    bin/hive --service metastore &

    随后就可以正常显示hive中的数据

    参考文档:

    1. Kylin踩坑笔记 - 启动 Kylin 报错 org/apache/commons/configuration/ConfigurationException
    2. Kylin踩坑笔记 - 启动Kylin出现Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty
    3. MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent...
    4. Kylin常见问题汇总
  • 相关阅读:
    VC C运行时库(CRTL)的几个版本及选用
    gtest的安装和测试[good]
    【nginx】上传文件error报413 Request Entity Too Large
    mysql proxysql的简单部署读写分离
    python入门之进程与线程
    mysql主从复制之同步部分库表
    python入门之paramiko模块
    python入门之socket代码练习
    k8s的ingress使用
    【Jenkins】自动触发部署之插件Generic Webhook Trigger Plugin
  • 原文地址:https://www.cnblogs.com/shine-rainbow/p/kylin-xia-zai-an-zhuang-ji-bu-fen-bao-cuo-jie-jue.html
Copyright © 2011-2022 走看看