本文共 6124 字,大约阅读时间需要 20 分钟。
最近在学习kylin,在安装的时候遇到一些坑,特意记录起来,也希望同样在学习kylin的人,少踩一些坑(要是连安装都过不去,还怎么学!!!)。
我选的kylin版本是1.5.4,因为买了一本叫《Apache kylin权威指南》,书中以1.5.x为蓝本,为了避免少踩坑,保持和书中版本一致。
关于kylin安装环境,参考,下面是我自己的环境,只是为了学习,所有的安装都是伪分布式的,也没有关注高可用
特别注意点:
export JAVA_HOME=/root/jdk1.8.0_172export HADOOP_HOME=/root/hadoop-2.7.1export HIVE_HOME=/root/hive-1.2.1export HBASE_HOME=/root/hbase-1.2.5export KYLIN_HOME=/root/kylin-1.5.4export 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目录内)()
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
然后,format namenode bin/hdfs namenode -format
,启动hdfssbin/start-dfs.sh
,启动yarnsbin/start-yarn.sh
,
安装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中的${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()
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 -1fiIFS=$'\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=$idoneecho $result
## 修改后的文件if [ $# != 1 ]then echo 'invalid input' exit -1fi#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#doneecho $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压缩功能,所以要么把压缩相关的配置注释掉,或者重新打包hadoopkylin.hbase.default.compression.codec=none
之后,运行bin/kylin.sh satrt
,启动成功后,访问,用户名是ADMIN,密码是KYLIN。然后可以运行bin/sample.sh
,体验下kylin,运行完sample.sh
后重启kylin,就可以build cube了。
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.
转载地址:http://nixqa.baihongyu.com/