1. 背景

最近在学习kylin,在安装的时候遇到一些坑,特意记录起来,也希望同样在学习kylin的人,少踩一些坑(要是连安装都过不去,还怎么学!!!)。

2. 环境

我选的kylin版本是1.5.4,因为买了一本叫《Apache kylin权威指南》,书中以1.5.x为蓝本,为了避免少踩坑,保持和书中版本一致。

关于kylin安装环境,参考

,下面是我自己的环境,只是为了学习,所有的安装都是伪分布式的,也没有关注高可用

Ubuntu 14.04.5 LTS

hadoop-2.7.1.tar.gz

jdk-8u172-linux-x64.tar.gz

hbase-1.2.5-bin.tar.gz

apache-kylin-1.5.4-HBase1.x-bin.tar.gz

apache-hive-1.2.1-bin.tar.gz

特别注意点

kylin的版本要和hbase的版本对应,具体参考官网说明(

),其实kylin打包的名字也能看出来

注意hadoop和hbase的版本(

)

jdk和hbase的版本(

)

hive和jdk版本(

)

最好在linux环境下安装,在mac下,启动kylin的时候,脚本会报错,当然可以改脚本 (

)。此外,在Ubuntu下安装也不省心,启动kylin也会报错,改脚本吧。那么,最好使用centos,我尝试了,不会报错。

3. 安装

下载安装包,这个链接可以下载到apache所有的安装包,但速度不快,有些找不到的安装包,可以在这里下载(

),解压

设置环境变量

export JAVA_HOME=/root/jdk1.8.0_172

export HADOOP_HOME=/root/hadoop-2.7.1

export HIVE_HOME=/root/hive-1.2.1

export HBASE_HOME=/root/hbase-1.2.5

export KYLIN_HOME=/root/kylin-1.5.4

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin:$KYLIN_HOME/bin

安装hadoop,主要编辑的文件有:core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml(都在$HADOOP_HOME/etc/hadoop目录内)(

)

然后,format namenode

bin/hdfs namenode -format

,启动hdfs

sbin/start-dfs.sh

,启动yarn

sbin/start-yarn.sh

,

可以查namenode的情况,

可以查看resourcemanager情况ssh to localhost without a passphrase, execute the following commands

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 0600 ~/.ssh/authorized_keys

hadoop-env.sh,加一行JAVA_HOME

export JAVA_HOME=/root/jdk1.8.0_172

core.xml

fs.defaultFS

hdfs://localhost:9000

hadoop.tmp.dir

/root/tmp

hdfs-site.xml

dfs.replication

1

mapred-site.xml:jobhistory记得也要配置,我之前没有配置,导致使用kylin的sampldata构建cube失败

mapreduce.framework.name

yarn

mapreduce.jobhistory.address

localhost:10020

mapreduce.jobhistory.webapp.address

localhost:19888

yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

安装hive:主要编辑的文件为hive-site.xml,此文件通过copy hive-default.xml.template而来(

)

在hdfs上面创建目录

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

修改hive-site.xml,主要改的地方为

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

hive

javax.jdo.option.ConnectionPassword

hive

上面就是使用mysql存储hive的元数据,如果出现SSL问题,就把useSSL置为false,

特别注意,不要使用默认的derby,否则在运行kylin的sampledata时,无法在hive中创建表

,此外,还需要把hive-site.xml中的

s

y

s

t

e

m

:

j

a

v

a

.

i

o

.

t

m

p

d

i

r

system:java.io.tmpdir和

{system:user.name}分别替换成/tmp和${user.name},当然还需要把mysql-connector-java.x.jar二方包加入hive的lib目录中,

特别注意,使用5.x版本,不要使用6.x版本

。最后,运行

bin/hive

安装hbase:主要修改的文件为hbase-env.sh、hbase-site.xml(

)

修改hbase-env.sh,添加

export JAVA_HOME=/root/jdk1.8.0_172

修改hbase-site.xml

hbase.rootdir

hdfs://localhost:9000/hbase

hbase.cluster.distributed

true

hbase.zookeeper.property.dataDir

/root/tmp/hbase/zookeeper

特别注意,对于伪分布式安装,hbase.cluster.distributed要设置为true。此外,这里使用hbase内置的zookeeper。

最后,执行bin/satrt-hbase.sh,启动hbase

安装kylin

修改check-env.sh:可以先执行

bin/check-env.sh

,一般来说配置了上面所述的环境变量,是可以通过check,但是这个脚本在mac和ubuntu下执行还是有问题,mac下的问题我没有解决,Ubuntu下面问题解了。原因是

get-properties.sh

内容在Ubuntu下执行有问题。不过在centos下没有这个问题(

)

## 原始文件

if [ $# != 1 ]

then

echo 'invalid input'

exit -1

fi

IFS=$'\n'

result=

for i in `cat ${KYLIN_HOME}/conf/kylin.properties | grep -w "^$1" | grep -v '^#' | awk -F= '{ n = index($0,"="); print substr($0,n+1)}' | cut -c 1-`

do

:

result=$i

done

echo $result

## 修改后的文件

if [ $# != 1 ]

then

echo 'invalid input'

exit -1

fi

#IFS=$'\n'

result=`cat ${KYLIN_HOME}/conf/kylin.properties | grep -w "^$1" | grep -v '^#' | awk -F= '{ n = index($0,"="); print substr($0,n+1)}' | cut -c 1-`

#for i in `cat ${KYLIN_HOME}/conf/kylin.properties | grep -w "^$1" | grep -v '^#' | awk -F= '{ n = index($0,"="); print substr($0,n+1)}' | cut -c 1-`

#do

#   :

#   result=$i

#done

echo $result

我目前使用的是apache-kylin-1.5.4-HBase1.x-bin.tar.gz版本,此版本在conf目录下,把压缩相关的配置注释了,包括kylin_hive_conf.xml、kylin_job_conf_inmem.xml、 kylin_job_conf.xml、kylin.properties,我之前用1.5.3并没有注释掉,导致在运行构建cube是出现snappy不存在问题。

# Compression codec for htable, valid value [none, snappy, lzo, gzip, lz4]

# 1.5.3默认未snappy,但是我使用的hadoop的并没有snappy压缩功能,所以要么把压缩相关的配置注释掉,或者重新打包hadoop

kylin.hbase.default.compression.codec=none

之后,运行

bin/kylin.sh satrt

,启动成功后,访问

,用户名是ADMIN,密码是KYLIN。然后可以运行

bin/sample.sh

,体验下kylin,运行完

sample.sh

后重启kylin,就可以build cube了。

3. 其他

最好使用linux

build cube出现

Unexpected exception: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support.

【本文来源于云栖社区,原文链接:,作者:

徐洁阳

kylin linux 安装教程,新手入门必备:kylin安装教程介绍!相关推荐

  1. TensorFlow 教程 --新手入门--1.3 安装实例

    TensorFlow是Google的一个开源机器学习框架,官网:https://www.tensorflow.org/  里面有详细的教程和API说明,我在虚拟机上装的TensorFlow所以不支持C ...

  2. Unity新手入门必备书籍和教程推荐

    纵观整个游戏市场,Unity3D游戏开发已经称霸当下,Unity3D是一款3D游戏引擎,提供了3D游戏的大部分基础功能实现,比如物理碰撞.3D模型显示.光照等功能.市面上有超过一半以上的游戏,都是利用 ...

  3. ps基础教程新手入门第一篇:ps界面的介绍

    欢迎来到慕恬瑶平面设计,今天给大家介绍PS基础教程新手入门第一篇: ps界面的介绍.目的让第一次接触ps的小伙伴通过ps基础教程新手入门来了解ps界面的菜单栏,工具栏已方便日后使用. 首先,打开PS ...

  4. 排序算法之---堆排序(很重要的一个结构,新手入门必备)

    排序算法之---堆排序(很重要的一个结构,新手入门必备) 先来简单的介绍一下堆结构: 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlo ...

  5. 新手入门PS人像磨皮教程

    大家好我是微风,一个爱设计爱生活的平面设计师,每天学一点PS技巧,今天给大家分享新手入门PS人像磨皮教程,大家每天跟着微风学一点,看完文章之后自己进行实操,长时间积累下来自己作图肯定没问题. 微风今天 ...

  6. 视频教程-PS转手绘教程新手入门视频-Photoshop

    PS转手绘教程新手入门视频 于2005年开始从事品牌视觉传达设计,原Mindray (UK) 首席品牌设计,国家高级摄影师.主要为企业进行企业品牌文化整合及品牌塑造.包装研发.视觉导入.媒体推广.营销 ...

  7. TensorFlow 教程 --新手入门--1.2 下载安装

    下载与安装 你可以使用我们提供的二进制包, 或者使用源代码, 安装 TensorFlow. 二进制安装 TensorFlow Python API 依赖 Python 2.7 版本. 在 Linux ...

  8. GD32F103RCT6 MINI板综合开发教程(新手入门必备选择)

    前一段时间,抽了点空闲时间做了两块学习板,帮助新手入门,很多人希望能做一款比较全面应用的开发板,能够尽快学习国产芯片,现在,它来了... 接口说明: 设计图片: 尺寸图: 实际设计: 资料包: 程序注 ...

  9. pytorch安装教程新手入门

    PyTorch环境搭建 引言 PyTorch是一个开源的Python机器学习库,其前身是2002年诞生于纽约大学的Torch.它是美国Facebook公司使用python语言开发的一个深度学习的框架, ...

最新文章

  1. matlab图形用户界面设计简介
  2. git切换ssh和http协议
  3. 解析Jquery取得iframe中元素的几种方法
  4. 用贪心算法解决马踏棋盘问题
  5. UIButton-初识IOS
  6. 网站服务器断电后果,数据库服务器突然断电后果
  7. java web删除文件_Web开发为了java端程序能删除文件的解决办法
  8. 佩奇送福利:Eygle系列书籍免费下载
  9. Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
  10. 左手用R右手Python系列之——表格数据抓取之道
  11. 理论物理专题讲义(量子力学与统计物理部分)
  12. 混编Swift类和Objc类
  13. Eclipse @override报错解决
  14. 沧浪之水清兮,可以濯吾缨;沧浪之水浊兮,可以濯吾足
  15. Jquery--一个form中两个submit事件如何进行区分
  16. Web,Servlet,网络复习,超全,快来看
  17. 电感、电容、电阻基本元器件参数选型
  18. IC验证-寄存器专项测试
  19. 【JUC 并发编程】JUC 基本概念
  20. [转贴] meizz (梅花雨)的一些珍藏代码奉献

热门文章

  1. FPGA实现数字信号处理的定点运算
  2. 类和对象—对象特性—静态成员函数
  3. android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
  4. 【Verilog】基于Nexys4DDR开发板实现数字钟
  5. 陆基制导系统地面站布设策略
  6. 网络安全-XSS笔记
  7. 【364天】跃迁之路——程序员高效学习方法论探索系列(实验阶段122-2018.02.04)...
  8. 微信小程序学习:开发注意点
  9. 冒泡排序--通过冒泡算法让数组中最大的值成为数组中最后一个值
  10. 理解ThreadLocal 2