• Kylin系列之一:Kylin的伪分布式安装


    一.伪分布式安装kylin

    2018年4月15日

    15:06

    安装需要的环境

    1. hadoop集群环境:由于安装的是CDH5.14.0的版本,所以相关组件都是跟5.14.0相关

    2. spark采用的是2.2.1版本,是根据hadoop2.6.0进行编译的

    3. kylin采用的是2.3.1,根据cdh5.7进行编译的

    安装过程

    启动hadoop集群以及hiveserver2和metastore服务(否则kylin无法访问hive的元数据)

    nohup hive --service hiveserver2 2>>~/log 1>>/dev/null &

    nohup hive --service metastore >> ~/abc.log &

    注意:此时hive-site.xml文件中必须有如下配置:

      <property>

        <name>hive.metastore.uris</name>

        <value>thrift://huabingood:9083</value>

        <description>远程访问的metastore所在的地址于端口</description>

      </property>

    下载解压

    配置环境变量

    1. 将kylin_home的路径添加到配置文件中

    2. 将Hcatalog_HOME的配置,这个配置在hive安装目录下的hcatalog文件夹中

    export hive_dependency=/home/hadoop/hive/conf:/home/hadoop/hive/lib/*:/home/hadoop/hive/hcatalog/share/hcatalog/hive-hcatalog-core-2.0.0.jar

    3. 注意:是每个节点的配置文件都要添加

    配置kylin.sh

    1. 在kylin安装目录下的bin/kylin.sh

    2. export KYLIN_HOME=    // 显式声明kylin_home

    3. export export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX    //在HBASE_CLASSPATH_PREFIX中显示增加$hive_dependency依赖

    配置kylin_hive_conf.xml文件

    1. 只需要将hive表的元数据信息的服务的地址在哪里开启即可(是启动metastore服务的那台主机IP)

      <property>

        <name>hive.metastore.uris</name>

        <value>thrift://huabingood:9083</value>

        <description>远程访问的metastore所在的地址于端口</description>

      </property>

    修改kylin.properties配置文件(这个不配置也能使用,不建议配置

    1. 注意,网上流传的这些配置的修改都落后了

    kylin.rest.servers=master:7070

    #定义kylin用于MR jobs的job.jar包和hbase的协处理jar包,用于提升性能。

    kylin.job.jar=/home/hadoop/kylin/lib/kylin-job-1.6.0-SNAPSHOT.jar

    kylin.coprocessor.local.jar=/home/hadoop/kylin/lib/kylin-coprocessor-1.6.0-SNAPSHOT.jar

    2. 真正的配置是这些

    kylin.server.cluster-servers=

    kylin.engine.mr.job-jar=

    kylin.storage.hbase.coprocessor-local-jar=

    检查配置环境(实际上就是创建在hdfs上的路径)

    1. ${kylin_home}/bin/check-env.sh

    启动kylin

    1. ${kylin_home}/bin/kylin.sh start

    2. ${kylin_home}/bin/kylin.sh stop

    webUI访问

    1. http://hostname:7070/kylin

    安装过程中的报错

    java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf

    1. 这个错误完全是kylin找不到hive的jar包导致的。我们只需将hive安装目录下lib中的jar包放到kylin安装目录下的lib中即可

    2. 网上有说需要修改hadoop-env.sh配置文件,添加如下内容:

    export HBASE_HOME=/data/hbase

    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/    # 添加classpath时,要将以前的加上,否则就是覆盖,会导致问题

    java.lang.RuntimeException: cannot get HiveTableMeta

    1. 查看表名是否写错

    2. 如果表名没错的话,hiveserver2以及metastore是否开启;是否在hive-site.xml中配置了hive.metastore.uris属性

    3. 将hive-stie.xml放到(建议使用软连接)kylin安装目录下的conf中,即使已经有了kylin_hive_conf.xml

    org.apache.kylin.job.exception.ExecuteException: org.apache.kylin.job.exception.ExecuteException: java.lang.NoClassDefFoundError: org/apache/hive/hcatalog/mapreduce/HCatInputFormat

    1. 网上说是HBASE_HOME别的设置覆盖掉了,导致系统找不到hbase的路径,就会报这个错误。

    2. 相关的官方解答

    A. http://apache-kylin.74782.x6.nabble.com/NoClassDefFoundError-org-apache-hive-hcatalog-mapreduce-HCatInputFormat-td1156.html

    参考文献

    https://segmentfault.com/a/1190000011506398

  • 相关阅读:
    [转]tomcat启动报错too low setting for -Xss
    linux(centos) tomcat设置开机启动
    docker--centos镜像安装tomcat jdk1.8 mysql部署java web项目
    docker--常用命令
    docker--容器和镜像的导入导出及部署
    docker--在centos镜像安装mysql
    docker--(MAC ubuntu centos)安装
    js常用判断和语法
    linux命令-crontab
    ajax的另一种成功和失败回调函数
  • 原文地址:https://www.cnblogs.com/yanghuabin/p/8893445.html
Copyright © 2020-2023  润新知