Kylin (二) --------- Kylin 环境搭建


一、Kylin 依赖环境

在这里插入图片描述

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

注意:目前集群中 hadoop3.1.3 和 hive3.1.2 是可以满足 Kylin4.0 安装和使用的,但是经测试 Spark3.0.0 不能满足 Kylin4.0 对 Spark3 最低版本的要求,因此我们需要先升级 Spark 的版本为 3.1.1。

二、Spark 安装和部署

A、上传 Spark 安装包 spark-3.1.1-bin-hadoop3.2.tgz

B、解压 spark-3.1.1-bin-hadoop3.2.tgz 到 /opt/module

[fancy@hadoop102 sorfware]$ tar -zxvf spark-3.1.1-binhadoop3.2.tgz -C /opt/module/
[fancy@hadoop102 module]$ mv /opt/module/spark-3.1.1-binhadoop3.2/ /opt/module/spark-3.1.1

C、设置 SPARK_HOME,然后 source 使其生效

[fancy@hadoop102 module]$ sudo vim /etc/profile.d/my_env.sh
#SPARK_HOME
export SPARK_HOME=/opt/module/spark-3.1.1
export PATH=$PATH:$SPARK_HOME/bin
[fancy@hadoop102 module]$ source /etc/profile

D、修改配置文件 spark_env.sh,让 spark 程序能够正常进入 yarn 集群

[fancy@hadoop102 spark-3.1.1]$ cd conf/
[fancy@hadoop102conf]$ mv spark-env.sh.template spark-env.sh
[fancy@hadoop102 conf]$ vim spark-env.sh
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

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

[fancy@hadoop102 spark-3.1.1]$ cd jars/
[fancy@hadoop102 jars]$ cp /opt/software/mysql/mysql-connectorjava-5.1.48.jar /opt/module/spark-3.1.1/jars/

三、Kylin 安装和部署

A、上传 Kylin 安装包 apache-kylin-4.0.1-bin-spark3.tar.gz

B、解压 apache-kylin-4.0.1-bin-spark3.tar.gz 到 /opt/module

[fancy@hadoop102 sorfware]$ tar -zxvf apache-kylin-4.0.1-binspark3.tar.gz -C /opt/module/
[fancy@hadoop102 module]$ mv /opt/module/apache-kylin-4.0.1-binspark3/ /opt/module/kylin-4.0.1/

C、将 mysql 连接驱动拷贝一份到 Kylin 的 ext 目录下,方便 Kylin 存储元数据

[fancy@hadoop102 kylin-4.0.1]$ mkdir ext
[fancy@hadoop102 kylin-4.0.1]$ cp /opt/software/mysql/mysqlconnector-java-5.1.48.jar /opt/module/kylin-4.0.1/ext/

D、修改 Kylin 配置文件 kylin.properties,根据实际情况修改以下参数

[fancy@hadoop102 conf]$ cd /opt/module/kylin-4.0.1/conf/
[fancy@hadoop102 conf]$ vim kylin.properties
#### METADATA | ENV ###
# 元数据存储,用的 mysql

kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://hadoop102
:3306/kylin,username=root,password=123456,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-connectstring=hadoop102:2181,hadoop103:2181,hadoop104:2181
#### SPARK BUILD ENGINE CONFIGS ###
# hadoop conf 目录位置
kylin.env.hadoop-conf-dir=/opt/module/hadoop-3.1.3/etc/hadoop

四、Kylin 启动环境准备

A、Yarn 内存设置

Kylin4.0 使用 Spark 作为计算引擎和查询引擎,因此对 spark 任务运行的 yarn 容器内存有所要求,要求 yarn 容器内存不能低于 4G,因此需要将 Yarn 容器内存调为 8G,否则 kylin 启动会报错。

注意:yarn 容器内存都调为了 8G,所以三台虚拟机内存一定要大于 8G,否则 Kylin 运行会报错,此处建议学者将三台虚拟机内存设置为 12G,8G,8G。

[fancy@hadoop102 ~]$ cd /opt/module/hadoop-3.1.3/etc/hadoop/
[fancy@hadoop102 hadoop]$ vim yarn-site.xml
<!-- yarn 容器允许分配的最大最小内存 -->
<property>
	<name>yarn.scheduler.minimum-allocation-mb</name>
	<value>512</value>
</property>
<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>
<!-- 关闭 yarn 对物理内存和虚拟内存的限制检查 -->
<property>
	<name>yarn.nodemanager.pmem-check-enabled</name>
	<value>false</value>
</property>
<property>
	<name>yarn.nodemanager.vmem-check-enabled</name>
	<value>false</value>
</property>

修改保存以后,记得分发三台节点。

[fancy@hadoop102 hadoop]$ xsync /opt/module/hadoop3.1.3/etc/hadoop/yarn-site.xml

B、增加 ApplicationMaster 资源比例

容量调度器对每个资源队列中同时运行的 Application Master 占用的资源进行了限制,该限制通过 yarn.scheduler.capacity.maximum-am-resource-percent 参数实现,其默认值是 0.1,表示每个资源队列上 Application Master 最多可使用的资源为该队列总资源的 10%,目的是防止大部分资源都被Application Master 占用,而导致 Map/Reduce Task 无法执行。

生产环境该参数可使用默认值。但学习环境,集群资源总数很少,如果只分配 10%的资源给 Application Master,则可能出现,同一队列在同一时刻只能运行一个 Job 的情况,因为一个 Application Master 使用的资源就可能已经达到 10%的上限了。故此处可将该值适当调大。

因为 Kylin4.0 的查询会生成一个在后台长期运行的 Sparder 任务,占用 Default 队列,因此一定要调大此参数,否则 Kylin4.0 无法正常使用。

在 hadoop102 的 /opt/module/hadoop-3.1.3/etc/hadoop/capacity-scheduler.xml 文件中,修改如下参数值

[fancy@hadoop102 hadoop]$ vim capacity-scheduler.xml
<property>
	<name>yarn.scheduler.capacity.maximum-am-resourcepercent</name>
	<value>0.8</value>
</property>

分发 capacity-scheduler.xml 配置文件,并重启 yarn。

[fancy@hadoop102 hadoop]$ xsync capacity-scheduler.xml

C、在 MySQL 里手动创建 kylin 数据库,方便 Kylin 存储元数据

[fancy@hadoop102 ~]$ mysql -uroot -p123456
mysql> create database kylin;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database 			 |
+--------------------+
| information_schema |
| dolphinscheduler   |
| gmall				 |
| gmall_report 		 |
| kylin 			 |
| maxwell 			 |
| metastore 		 |
| mysql 			 |
| performance_schema |
| sys 				 |
| test 				 |
+--------------------+
11 rows in set (0.00 sec)

D、启动 Zookeeper 集群

[fancy@hadoop102 ~]$ zk.sh start

E、启动 Hadoop 集群

[fancy@hadoop102 ~]$ myhadoop.sh start

五、Kylin 启动和关闭

A、启动 kylin

[fancy@hadoop102 kylin-4.0.1]$ bin/kylin.sh start


Retrieving hadoop conf dir...
...................................................[PASS]
KYLIN_HOME is set to /opt/module/kylin-4.0.1
Checking hive
...................................................[PASS]
Checking hadoop shell
...................................................[PASS]
Checking hdfs working dir
WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
...................................................[PASS]
WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
Checking environment finished successfully. To check again, run 'bin/check-env.sh' manually.
Retrieving hadoop conf dir...
Retrieving Spark dependency...
Skip spark which not owned by kylin. SPARK_HOME is /opt/module/spark-3.1.1 and KYLIN_HOME is /opt/module/kylin-4.0.1.
Please download the correct version of Apache Spark, unzip it, rename it to 'spark' and put it in /opt/module/kylin-4.0.1 directory.
Do not use the spark that comes with your hadoop environment.
If your hadoop environment is cdh6.x, you need to do some additional operations in advance.
Please refer to the link:
https://cwiki.apache.org/confluence/display/KYLIN/Deploy+Kylin+4+on+CDH+6.(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)
Start to check whether we need to migrate acl tables
Not HBase metadata. Skip check.
A new Kylin instance is started by atguigu. To stop it, run
'kylin.sh stop'
Check the log at /opt/module/kylin-4.0.1/logs/kylin.log
Web UI is at http://hadoop102:7070/kylin

启动之后查看各个节点进程:

[fancy@hadoop102 kylin-4.0.1]$ jpsall


=============== hadoop102 ===============
5408 Bootstrap
3825 NameNode
3974 DataNode
4539 JobHistoryServer
3499 QuorumPeerMain
4350 NodeManager
=============== hadoop103 ===============
3201 ResourceManager
3350 NodeManager
2983 DataNode
2810 QuorumPeerMain
=============== hadoop104 ===============
2819 QuorumPeerMain
3123 SecondaryNameNode
2983 DataNode
3226 NodeManager

在 /opt/module/kylin-4.0.1/logs/kylin.log 查看启动日志。
在 http://hadoop102:7070/kylin 查看 Web 页面。

在这里插入图片描述

可以使用默认用户登录,用户名为:ADMIN,密码为:KYLIN

B、关闭 Kylin

[fancy@hadoop102 kylin-4.0.1]$ bin/kylin.sh stop
Stopping Kylin: 5408
Kylin with pid 5408 has been stopped.

注意:第一次启动 Kylin,Web 页面会报 404 错误,查看 kylin 后台启动日志,发现错误日志如下:

[fancy@hadoop102 logs]$ tail -n 1000 kylin.log

在这里插入图片描述

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

[fancy@hadoop102 sorfware]$ cp commons-configuration-1.3.jar
/opt/module/kylin-4.0.1/tomcat/webapps/kylin/WEB-INF/lib/
[fancy@hadoop102 sorfware]$ cp commons-collections-3.2.2.jar
/opt/module/kylin-4.0.1/tomcat/webapps/kylin/WEB-INF/lib/
[fancy@hadoop102 software]$ ll /opt/module/kylin4.0.1/tomcat/webapps/kylin/WEB-INF/lib/ | grep commons-co
-rw-rw-r--. 1 fancy fancy 232771 56 2016 commons-codec1.6.jar
-rw-r--r--. 1 fancy fancy 588337 311 22:48 commonscollections-3.2.2.jar
-rw-rw-r--. 1 fancy fancy 71626 96 2020 commonscompiler-3.0.16.jar
-rw-rw-r--. 1 fancy fancy 591748 117 2019 commonscompress-1.18.jar
-rw-r--r--. 1 fancy fancy 232915 311 22:46 commonsconfiguration-1.3.jar

然后关闭 kylin,重新启动即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在森林中麋了鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值