一.伪分布式安装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

一.Kylin的伪分布式安装的更多相关文章

  1. HBase基础和伪分布式安装配置

    一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...

  2. Zookeeper 初体验之——伪分布式安装(转)

    原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...

  3. Hadoop单机和伪分布式安装

    本教程为单机版+伪分布式的Hadoop,安装过程写的有些简单,只作为笔记方便自己研究Hadoop用. 环境 操作系统 Centos 6.5_64bit   本机名称 hadoop001   本机IP ...

  4. hbase伪分布式安装(单节点安装)

    hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart   1.    前提配置好java,环境java变量     上传jdk ...

  5. ZooKeeper:win7上安装单机及伪分布式安装

    zookeeper是一个为分布式应用所设计的分布式的.开源的调度服务,它主要用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用,协调及其管理的难度,提高性能的分布式服务. 本章的目的:如何 ...

  6. Hbase伪分布式安装

    前面的文章已经讲过hadoop伪分布式安装,这里直接介绍hbase伪分布式安装. 1. 下载hbase 版本hbase 1.2.6 2. 解压hbase 3. 修改hbase-env.sh 新增如下内 ...

  7. 伪分布式安装core-site.xml和hdfs-site.xml配置文件

    hadoop的伪分布式安装流程如下所示: 其中core-site.xml和hdfs-site.xml是两个很重要的配置文件. core-site.xml <configuration> & ...

  8. 指导手册02:伪分布式安装Hadoop(ubuntuLinux)

    指导手册02:伪分布式安装Hadoop(ubuntuLinux)   Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...

  9. hadoop伪分布式安装之Linux环境准备

    Hadoop伪分布式安装之Linux环境准备 一.软件版本 VMare Workstation Pro 14 CentOS 7 32/64位 二.实现Linux服务器联网功能 网络适配器双击选择VMn ...

随机推荐

  1. 在使用Qt5.8完成程序动态语言切换时遇到的问题

    因为之前了解过一些Qt国际化的东西,所以在写程序的时候需要显示给用户的字符都使用了 tr(" ")的形式,然后使用 Qt Linguist得到相应的 qm(Qt message)文 ...

  2. Java作业-多线程

    未完成,占位以后补 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 书面作业 本次PTA作业题集多线程 源代码阅读:多线程程序BounceThread 1.1 Ball ...

  3. Alpha冲刺Day9

    Alpha冲刺Day9 一:站立式会议 今日安排: 经过为期5天的冲刺,基本完成企业人员模块的开发.因第三方机构与企业存在委托的关系.第三方人员对于风险的自查.风险列表的展示以及自查风险的统计展示(包 ...

  4. C程序第二次作业

    2-1删除字符串中数字字符 1.设计思路 (1)主要描述题目算法 第一步:遍历指针s所指的s数组. 第二步:如果 * (s+i)在0至9之间的话,则跳过此 * (s+i). 第三步:如果* (s+i) ...

  5. bisect 二分查找

    先说明的是,使用这个模块的函数前先确保操作的列表是已排序的. 先看看 insort  函数: 其插入的结果是不会影响原有的排序. 再看看 bisect  函数: 其目的在于查找该数值将会插入的位置并返 ...

  6. 201621123043 《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 源代码阅读:多线程程序BounceThread 1.1 BallR ...

  7. 库函数strstr的实现

    没什么说的,常规思路: 函数原型:const char* StrStr(const char *str1, const char *str2) 方法一: str1:源字符串: str2:需要查找的目的 ...

  8. Flask 学习 八 用户角色

    角色在数据库中表示 app/models.py class Role(db.Model): __tablename__='roles' id = db.Column(db.Integer,primar ...

  9. jquery基本使用和实例

    一.寻找元素 表单选择器 $(":input") //匹配所有 input, textarea, select 和 button 元素 $(":text") / ...

  10. 【iOS】swift-如何理解 if let 与guard?

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:黄兢成 链接:http://www.zhihu.com/question/36448325/answer/68614858 ...