Kylin集群部署
基础环境
软件版本
软件名称 | 版本 |
---|---|
jdk | 1.8.171 |
hadoop | 2.6.5 |
zookeeper | 3.5.4 |
hbase | 1.2.5 |
kylin | 2.6.4 |
hive | 2.1.1 |
节点准备
IP | 主机名 | 节点 |
---|---|---|
10.196.11.133 | node1 | all |
10.196.11.134 | node2 | query |
10.196.11.135 | node3 | query |
kylin安装配置
其它基础软件默认你已经安装并配置好,此处只涉及kylin
以下所有操作均在hadoop用户下进行
所有节点之间配置hadoop免密登陆
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kylin/apache-kylin-2.6.4/apache-kylin-2.6.4-bin-hbase1x.tar.gz
解压
tar xf apache-kylin-2.6.4-bin.tar.gz -C /web/soft/
添加 Kylin 相关环境变量
这里为了方便kylin依赖的完整组件的环境变量,贴出我的全部环境变量配置:
~/.bashrc
# zookeeper
export PATH=$PATH:/web/soft/zookeeper-3.5.4-beta/bin
# hadoop
export HADOOP_HOME=/web/soft/hadoop-2.6.5
export HADOOP_PREFIX=/web/soft/hadoop-2.6.5
export PATH=$PATH:$HADOOP_PREFIX/bin
export PATH=$PATH:$HADOOP_PREFIX/sbin
export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
export YARN_HOME=${HADOOP_PREFIX}
####hadoop-env####
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_PREFIX}/lib:${HADOOP_PREFIX}/lib/native"
# hbase
export HBASE_HOME=/web/soft/hbase-1.2.5
export PATH=$PATH:$HBASE_HOME/bin
#set hive
export HIVE_HOME=/web/soft/apache-hive-2.1.1-bin
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
# KYLIN
export KYLIN_HOME=/web/soft/apache-kylin-2.6.4-bin
export KYLIN_CONF_HOME=$KYLIN_HOME/conf
export PATH=:$PATH:$KYLIN_HOME/bin:$CATALINE_HOME/bin
export tomcat_root=$KYLIN_HOME/tomcat
export hive_dependency=$HIVE_HOME/conf:$HIVE_HOME/lib/*:$HIVE_HOME/hcatalog/share/hcatalog/hive-hcatalog-core-2.1.1.jar
source ~/.bashrc
使环境变量生效
bin/kylin.sh
export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX
修改 kylin.properties 配置文件
# hbase上存储kylin元数据
kylin.metadata.url=kylin_metadata@hbase
# hdfs上kylin工作目录
kylin.env.hdfs-working-dir=/kylin
# kylin主节点模式,从节点的模式为query
kylin.server.mode=all
# 集群信息
kylin.rest.servers=node1:7070,node2:7070,node3:7070
# 时区
kylin.web.timezone=GMT+8
kylin.job.retry=2
kylin.job.mapreduce.default.reduce.input.mb=500
kylin.job.concurrent.max.limit=10
kylin.job.yarn.app.rest.check.interval.seconds=10
# build cube 产生的Hive中间表存放的数据库
kylin.job.hive.database.for.intermediatetable=kylin_flat_db
# 不采用压缩
kylin.hbase.default.compression.codec=none
kylin.job.cubing.inmem.sampling.percent=100
kylin.hbase.regin.cut=5
kylin.hbase.hfile.size.gb=2
# 定义kylin用于MR jobs的job.jar包和hbase的协处理jar包,用于提升性能(添加项)
kylin.job.jar=/web/soft/apache-kylin-2.6.4-bin/lib/kylin-job-2.6.4.jar
kylin.coprocessor.local.jar=/web/soft/apache-kylin-2.6.4-bin/lib/kylin-coprocessor-2.6.4.jar
将上面配置好的kylin目录scp到rzx2,rzx3节点上
将 conf/kylin.properties
的kylin.server.mode改为query
并配置好node2 node3的环境变量
启动
启动前进行依赖检查
# 执行下面的检查命令会在 hdfs 上创建 kylin 目录
check-env.sh
# 检查数据源 hive 和数据存储 hbase
find-hive-dependency.sh
find-hbase-dependency.sh
说明:如果环境变量配置不正确,依赖组件不能正常启动,检测是不会通过的,只能一项项去排查了
在每个节点上都启动kylin集群
kylin.sh start
在这里我碰到一个问题,虽然前面检测虽然过了但是这里会启动失败,提示让你安装spark,由于不安装的话检测不通过所以我还是下载了一个 并配置了环境 不过没有启动
# 使用脚本会自动下载解压到 ${KYLIN_HOME}/spark
down-spark.sh
配置环境变量 ~/.bashrc
# set_kylin_soark
export SPARK_HOME=/web/soft/apache-kylin-2.6.4-bin/spark
export PATH=$SPARK_HOME/bin:$PATH
验证
启动时看到有如下提示,表示启动成功
A new Kylin instance is started by hadoop, stop it using "kylin.sh stop"
Please visit http://<ip>:7070/kylin
You can check the log at /web/soft/apache-kylin-2.6.4-bin/logs/kylin.log
其它信息可根据提示通过图形化界面确认,访问地址:http://node1:7070/kylin(其他节点也可以访问) 默认秘钥:admin/KYLIN
加入数据及模型
Kylin提供了一个实例化kylin三个核心Models,Datasour,Cubes的脚本,该脚本在kylin目录下bin目录下
bin/sample.sh
正确启动后再执行bin/sample.sh,这个过程需要一些时间,根据提示,需要重启kylin实例才能生效,所以重启kylin
kylin.sh stop
kylin.sh start
注意是每个节点,进行如上操作后再查看可视化界面: