前提要素
- 已有CDH6.3.2集群,准备好对应版本的parcel包(CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel)
- 一台与CDH集群网络互通的CentOS7.9虚机(4C16G起)
- 下载spark包Spark4.2.7(备用,因为本文是在新客户端节点安装Kylin)
- 下载kylin包Kylin-4.0.1
- 下载KylinOnCDH6依赖包
官网地址
Kylin官网
https://kylin.apache.org/cn/docs/gettingstarted/kylin-quickstart.html
Kylin安装
官方说明:Kylin 可以在 Hadoop 集群的任意节点上启动。方便起见,您可以在 master 节点上运行 Kylin。但为了更好的稳定性,我们建议您将 Kylin 部署在一个干净的 Hadoop client 节点上。
所以本文选择在一个干净的 Hadoop client 节点上安装Kylin。
Hadoop客户端节点环境配置
准备工作
- CentOS7.9
- JDK1.8
- cdh的parcels上传到服务器随便建个目录
敲命令
mkdir -p /opt/cloudera/parcels
cd /opt/cloudera/parcels
把CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel这个包移动到这个目录下
tar -zxvf CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
ln -s CDH-6.3.2-1.cdh6.3.2.p0.1605554 CDH
效果图如下
下载CDH配置
从已有的CDH集群中下载配置文件,并上传服务器
- 下载hive-clientconfig.zip(hive配置文件中已经包含了hdfs和yarn、mapreduce等)
配置cdh客户端
mkdir -p /opt/cloudera/etc/
cd /opt/cloudera/etc/
把hive-clientconfig.zip传到这个目录下
unizp hive-clientconfig.zip
配置环境变量profile文件
# hadoop env
export HADOOP_HOME=/opt/cloudera/parcels/CDH
export HADOOP_CONF_DIR=/opt/cloudera/etc/hive-conf
export CDH_MR2_HOME=$HADOOP_HOME/lib/hadoop-mapreduce
export JAVA_LIBRAY_PATH=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
export HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/jars/*
# hive env
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
export HCAT_HOME=/opt/cloudera/parcels/CDH
export HIVE_CONF_DIR=/opt/cloudera/etc/hive-conf
export HIVE_CONF=/opt/cloudera/etc/hive-conf
# yarn env
export YARN_CONF_DIR=/opt/cloudera/etc/hive-conf
# spark env
export SPARK_HOME=/data/apache-kylin-4.0.1-bin-spark2/spark
# kafka env
export KAFKA_HOME=/opt/cloudera/parcels/CDH/lib/kafka
# zookeeper env
export ZOOKEEPER_HOME=/opt/cloudera/parcels/CDH/lib/zookeeper
# kylin env
export KYLIN_HOME=/data/apache-kylin-4.0.1-bin-spark2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_CONF_DIR:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HCAT_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$KAFKA_HOME/bin:$ZOOKEEPER_HOME/bin:/$KYLIN_HOME/bin
unset HADOOP_HOME
其中kylin和spark环境是之后才配置上的,请注意路径
使用命令使之生效
source /etc/profile
验证cdh客户端配置
hadoop fs -ls /
hive
show databases;
命令效果如图
安装KYLIN程序
准备好依赖包
- hive-exec-1.21.2.3.1.0.0-78.jar
- stax2-api-3.1.4.jar
- commons-configuration-1.10.jar
- mysql-connector-java-5.1.49.jar
解压 kylin的tar 包,配置环境变量 $KYLIN_HOME 指向 Kylin 文件夹(配置环境变量profile文件)。
tar -zxvf apache-kylin-4.0.1-bin-spark2.tar.gz
cd apache-kylin-4.0.1-bin-spark2
export KYLIN_HOME=`pwd`
依赖包放到各自位置
cd $KYLIN_HOME
### 1. Prepare specific jars for CDH6
mkdir -p bin/hadoop3_jars/cdh6
cp commons-configuration-1.10.jar lib/
cp hive-exec-1.21.2.3.1.0.0-78.jar bin/hadoop3_jars/cdh6
cp stax2-api-3.1.4.jar bin/hadoop3_jars/cdh6
### 2. Prepare mysql driver
mkdir ext
cp mysql-connector-java-5.1.49.jar ext/
将下载的spark 二进制包解压后放置在 KYLIN_HOME目录下,并重命名为 spark。
配置SPARK_HOME指向环境中的 spark2.4.7(配置环境变量profile文件)。
修改配置文件
vim conf/kylin.properties
kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://localhost:3306/kylin,username=root,password=Root_123456,maxActive=10,maxIdle=10
kylin.env.hdfs-working-dir=/kylin
kylin.env.zookeeper-base-path=/kylin
kylin.env.zookeeper-is-local=false
kylin.env.zookeeper-connect-string=master:2181
kylin.env.hadoop-conf-dir=/opt/cloudera/etc/hive-conf
kylin.metadata.url中记得按实际情况改url、username和password
Kylin环境检测
$KYLIN_HOME/bin/check-env.sh
以上基本完成部署,过程中可能会出现一些问题,部分可能碰到过的可以看QA(已踩过的坑)。
使用步骤请看官网
https://kylin.apache.org/cn/docs/tutorial/web.html
QA
Q: 验证的时候出现权限问题,如无法新建kylin文件夹
A: 权限问题,加一个HADOOP_USER_NAME=hdfs的环境
vim /etc/profile
export HADOOP_USER_NAME=hdfs
source /etc/profile