第一章 HDP 3.1.5 自定义服务之集成Kylin 4.0.1 Spark 3.1.1
文章目录
前言
Ambari2.7.5 + HDP 3.1.5 自定义集成 Kylin 4.0.1
前期环境准备
- 创建Kylin源
- 创建Spark3源
- 创建Kylin源
讲下列包上传至hdp源 /var/www/html/kylin 目录下 没有则创建
-rw-r--r-- 1 root root 198005223 Jul 11 17:13 apache-kylin-4.0.1-bin-spark3.tar.gz
-rw-r--r-- 1 root root 588337 Jul 12 09:08 commons-collections-3.2.2.jar
-rw-r--r-- 1 root root 232915 Jul 12 09:08 commons-configuration-1.3.jar
-rw-r--r-- 1 root root 2321 Jul 11 17:11 download-spark3.sh
-rw-r--r-- 1 root root 872303 Jul 12 09:07 mysql-connector-java.jar
其中apache-kylin-4.0.1-bin-spark3.tar.gz 可通过官网下载
其他包可以资源中获取,或自己的maven中获取
- 创建Spark3源
将spark-3.1.1-bin-hadoop3.2.tgz 安装包上传至/var/www/html/spark3 目录下 没有则创建
-rw-r--r-- 1 root root 228721937 Feb 22 2021 spark-3.1.1-bin-hadoop3.2.tgz
spark 安装包可通过官网获取
一、创建Kylin用户
#创建 kylin linux用户和组
pssh -h /node.list -i 'groupadd kylin'
pssh -h /node.list -i 'useradd -d /home/kylin -g hadoop'
pssh -h /node.list -i 'echo "Kylin@123" | passwd --stdin kylin'
#创建kylin kerberos用户
kadmin.local -q "addprinc kylin"
#输入密码 Kylin@123 保持和操作系统密码一直
#下载kylin.keytab文件
cd /etc/security/keytabs/
kadmin.local -q "ktadd -norandkey -k kylin.keytab kylin@HADOOP.COM"
#复制kylin.keytab至需要安装的服务器
scp kylin.keytab hd03:/etc/security/keytabs/
#登录hd03
cd /etc/security/keytabs/
chown kylin:hadoop kylin.keytab
二、在安装kylin的服务器上配置认证
2.1.配置kylin kinit定时脚本
vim /opt/kylin/init_kt.sh
#!/bin/bash
kinit -kt /etc/security/keytabs/kylin.keytab kylin
chmod 775 init_kt.sh
2.2.添加定时任务
crontab -e
# 添加以下内容
0 1 * * * kylin /opt/kylin/init_kt.sh > /tmp/kylin-ktinit.log 2>&1
# 查看定时任务
crontab -l
三、创建HDFS目录并配置Ranger权限
3.1.创建HDFS目录
echo "Hdfs@123" | kinit hdfs
hdfs dfs -mkdir /kylin
hdfs dfs -chown kylin:hdfs /kylin
3.2.Ranger授权创建HDFS目录
1.如图所示,给/kylin,/user目录 kylin用户 读写执行权限
2. Ranger授权kylin用户yarn default队列,提交权限
3. Ranger授权kylin用户hive all databases 权限
4. 认证测试 kylin用户 对与/kylin目录的权限
echo "Kylin@123" | kinit kylin
hdfs dfs -mkdir /kylin/testhahah
hdfs dfs -rm -r /kylin/testhahah
四、创建Kylin源和安装配置
4.1.创建Kylin源
将下载好的kylin 4.0.1 版本软件包放入 /var/www/html/kylin 目录下,没有则创建
4.2.将KYLIN 文件夹 放入stacks目录
目录位置:
/var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/
版本$VERSION 查看
[root@hd01 ~]# VERSION=`hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\.[0-9]\).*/\1/'`
[root@hd01 ~]# echo $VERSION
/var/lib/ambari-server/resources/stacks/HDP/$VERSION/services/
4.3.修改KYLIN/configuration/kylin-ambari-config.xml
4.3.1 修改下载路径
<property>
<name>kylin_download_url</name>
<value>http://hd01/kylin/apache-kylin-4.0.0-bin.tar.gz</value>
<description>Snapshot download location. Downloaded when setup_prebuilt is true</description>
</property>
4.3.2 修改kylin.properties 的 kylin_properties_content 配置 为自己的配置
<name>kylin_properties_content</name>
kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://hd01:3306/kylin,username=root,password=Huawei12#$,maxActive=10,maxIdle=10
kylin.env.hdfs-working-dir=/kylin/kylin
kylin.env.zookeeper-base-path=/kylin
kylin.env.zookeeper-is-local=false
kylin.env.zookeeper-connect-string=hd01:2181,hd02:2181,hd03:2181
kylin.env.hadoop-conf-dir=/etc/hadoop/conf
kylin.engine.submit-hadoop-conf-dir=/etc/hadoop/conf
五、重启ambari-server并配置
5.1.重启 ambari-server
ambari-server安装服务器执行:
ambari-server restart
5.2.页面进行Kylin服务安装
修改配置,并安装到上述 配置认证脚本的服务器。
六、问题处理
6.1. kylin 查询不支持 hive的acid表
报错:
Caused by: MetaException(message:Your client does not appear to support insert-only tables. To skip capability checks, please set metastore.client.capability.check to false. This setting can be set globally, or on the client for the current metastore session. Note that this may lead to incorrect results, data loss, undefined behavior, etc. if your client is actually incompatible. You can also specify custom client capabilities via get_table_req API.)
解决方式一:
参考:https://blog.csdn.net/qq_42035364/article/details/98880836
修改
– hive.strict.managed.tables=false
metastore.create.as.acid 为 false
hive.create.as.insert.only 为 false
解决方式二:
创建非事务表
创建表时指定
TBLPROPERTIES (
"transactional"="false"
);
总结
安装后点击链接可以正常跳转至kylin页面:
介绍了Kylin服务的集成安装,其中Kylin中使用的stacks文件
链接