Skip to content

Kylin安装

1. Kylin依赖环境

1.1 软件要求

Hadoop: cdh5.x, cdh6.x, hdp2.x, EMR5.x, EMR6.x, HDI4.x
Hive: 0.13 - 1.2.1+
Spark: 2.4.7/3.1.1
Mysql: 5.1.7+
JDK: 1.8+
OS: Linux only, CentOS6.5+ or Ubuntu 16.0.4+

1.2 硬件要求

机器最小配置为4核16G内存100GB硬盘。

2. Kylin安装

2.1 环境准备

安装kylin前需先部署好Hadoop、Hive、Zookeeper、Spark,并且需要在/etc/profile中配置以下环境变量 HADOOP_HOME,HIVE_HOME,ZOOKEEPER_HOME,SPARK_HOME记得source使其生效。

2.2 拷贝MySQL连接驱动到spark的jars目录下,让Spark能够正常连接MySQL

sh
[jack@hadoop102 module]$ cd spark-3.4.2
[jack@hadoop102 spark-3.4.2]$ cp /opt/software/mysql-connector-java-8.0.28.jar ./jars/

2.3 下载kylin

sh
[jack@hadoop102 software]$ wget https://dlcdn.apache.org/kylin/apache-kylin-4.0.4/apache-kylin-4.0.4-bin-spark3.tar.gz 
[jack@hadoop102 software]$ tar -xvf apache-kylin-4.0.4-bin-spark3.tar.gz -C ../module/
[jack@hadoop102 software]$ cd ../module
## 重命名
[jack@hadoop102 software]$ mv apache-kylin-4.0.4-bin-spark3 kylin-4.0.4

2.4 拷贝MySQL连接驱动到ext目录下

sh
[jack@hadoop102 kylin-4.0.4]$ mkdir ext
[jack@hadoop102 kylin-4.0.4]$ cp /opt/software/mysql-connector-java-8.0.28.jar ext/

2.5 修改配置

  1. 修改conf/kylin.properties
sh
# 修改以下内容

# 元数据存储 使用mysql
kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://hadoop102:3306/kylin_metadata,username=kylin,password=kylin,maxActive=10,maxIdle=10
# hdfs的工作空间
kylin.env.hdfs-working-dir=/kylin
# kylin在zk的工作目录
kylin.env.zookeeper-base-path=/kylin
# 不用kylin自带的zk
kylin.env.zookeeper-is-local=false
# 外部zk的地址
kylin.env.zookeeper-connect-string=hadoop102:2181,hadoop103:2181,hadoop104:2181
## hadoop conf的工作目录
kylin.env.hadoop-conf-dir=/opt/module/hadoop-3.3.6/etc/hadoop
  1. Kylin4.0使用Spark作为计算引擎和查询引擎,因此对spark任务运行的yarn容器内存有所要求,要求yarn容器内存不能低于4G,因此需要将Yarn容器内存调为8G,否则kylin启动会报错。
    编辑yarn-site.xml文件:
xml
 <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>8192</value>
    </property>    
    <!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>8192</value>
    </property>

修改完毕,分发配置到三个节点

2.6 增加ApplicationMaster资源比例

容量调度器对每个资源队列中同时运行的Application Master占用的资源进行了限制,该限制通过yarn.scheduler.capacity.maximum-am-resource-percent参数实现,其默认值是0.1,表示每个资源队列上Application Master最多可使用的资源为该队列总资源的10%,目的是防止大部分资源都被Application Master 占用,而导致Map/Reduce Task无法执行。
生产环境该参数可使用默认值。但学习环境,集群资源总数很少,如果只分配10%的资源给ApplicationMaster,则可能出现,同一队列在同一时刻只能运行一个Job的情况,因为一个Application Master使用的资源就可能已经达到10%的上限了。故此处可将该值适当调大。因为Kylin4.0的查询会生成一个在后台长期运行的Sparder任务,占用 Default队列,因此一定要调大此参数,否则Kylin4.0无法正常使用。

  1. 修改xml文件
sh
[jack@hadoop102 hadoop]$ vim /opt/module/hadoop-3.3.6/etc/hadoop/capacity-scheduler.xml
## 修该队列占用资源比例

<property>
    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
    <value>0.8</value>
</property>

修改完毕,分发配置到三个节点,并重启yarn。

2.7 创建Kylin元数据库

sql
create database kylin_metadata;
create user kylin@'%' identified WITH mysql_native_password BY 'kylin';
GRANT ALL PRIVILEGES ON kylin_metadata.* TO 'kylin'@'%';
flush privileges;

2.7 启动Kylin

sh
[jack@hadoop102 kylin-4.0.4]$ cd bin
[jack@hadoop102 bin]$ ll
总用量 136
-rwxr-xr-x. 1 jack jack  1829 1月  28 2024 build-incremental-cube.sh
-rw-rw-r--. 1 jack jack    65 11月 15 14:44 cached-hadoop-conf-dir.sh
-rwxr-xr-x. 1 jack jack  4376 1月  28 2024 check-env.sh
-rwxr-xr-x. 1 jack jack  2556 1月  28 2024 check-hadoop-env.sh
-rwxr-xr-x. 1 jack jack  1301 1月  28 2024 check-hive-usability.sh
-rwxr-xr-x. 1 jack jack  1544 1月  28 2024 check-migration-acl.sh
-rwxr-xr-x. 1 jack jack  1511 1月  28 2024 check-port-availability.sh
-rwxr-xr-x. 1 jack jack  3349 1月  28 2024 diag.sh
-rwxr-xr-x. 1 jack jack  2402 1月  28 2024 download-spark.sh
-rwxr-xr-x. 1 jack jack  4985 1月  28 2024 find-hadoop-conf-dir.sh
-rwxr-xr-x. 1 jack jack  1379 1月  28 2024 find-hbase-dependency.sh
-rwxr-xr-x. 1 jack jack  2119 1月  28 2024 find-kafka-dependency.sh
-rwxr-xr-x. 1 jack jack  1355 1月  28 2024 find-spark-dependency.sh
-rwxr-xr-x. 1 jack jack  1165 1月  28 2024 get-properties.sh
-rwxr-xr-x. 1 jack jack  2206 1月  28 2024 header.sh
-rwxr-xr-x. 1 jack jack  1638 1月  28 2024 health-check.sh
-rwxr-xr-x. 1 jack jack  1584 1月  28 2024 kill-process-tree.sh
-rwxr-xr-x. 1 jack jack  4068 1月  28 2024 kylin-port-replace-util.sh
-rwxr-xr-x. 1 jack jack 11421 1月  28 2024 kylin.sh
-rwxr-xr-x. 1 jack jack  1461 1月  28 2024 load-hive-conf.sh
-rwxr-xr-x. 1 jack jack  3462 1月  28 2024 metastore.sh
-rwxr-xr-x. 1 jack jack  7307 1月  28 2024 prepare-hadoop-dependency.sh
-rwxr-xr-x. 1 jack jack  6029 1月  28 2024 sample.sh
-rwxr-xr-x. 1 jack jack  1324 1月  28 2024 sample-streaming.sh
-rwxr-xr-x. 1 jack jack  1280 1月  28 2024 set-java-home.sh
-rwxr-xr-x. 1 jack jack  6983 1月  28 2024 system-cube.sh
-rwxr-xr-x. 1 jack jack   904 1月  28 2024 util.sh
## kylin.sh里面会调用其他脚本比较检查hadoop环境等
[jack@hadoop102 kylin-4.0.4]$ ./kylin.sh start
Retrieving hadoop conf dir...
...................................................[PASS]
KYLIN_HOME is set to /opt/module/kylin-4.0.4
Checking hive
...................................................[PASS]
Checking hadoop shell
...................................................[PASS]
Checking hdfs working dir
WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
...................................................[PASS]
.......

启动完毕,发现日志报错: Alt text 分析原因应该是Kylin4.0和Hadoop或者Hive版本不兼容所致,因此需要手动补充两个Commons的jar包。上传提前准备好的两个commons的jar包到Kylin的指定目录下否则Kylin启动会报错,目的是为了解决Kylin和Hive的版本冲突。

sh
mv commons-configuration-1.10.jar /opt/module/kylin-4.0.4/tomcat/webapps/kylin/WEB-INF/lib/

重启kylin

sh
[jack@hadoop102 bin]$ ./kylin.sh restart

访问kylin地址:http://hadoop102:7070/kylinAlt text 默认用户名密码为ADMIN/KYLIN(都是大写) Alt text