【写在前面】本文是在真正的生产环境上实操安装kylin,虽然遇到不少小问题,但也还算都顺利的解决了。因为前文在本机虚拟机上安装,清楚所有环境参数设置,而这次是在已经稳定运行的大数据平台上安装,所有会多很多环境检查步骤,也会写的更详细些。

start

01

Kylin环境准备

一、软件环境要求

    · Hadoop: 2.7+, 3.1+ (since v2.5)

    · Hive: 0.13 - 1.2.1+

    · HBase: 1.1+, 2.0 (since v2.5)

    · Spark (可选) 2.3.0+

    · Kafka (可选) 1.0.0+ (since v2.5)

    · JDK: 1.8+ (since v2.5)

    · OS: Linux only, CentOS 6.5+ or Ubuntu 16.0.4+

二、硬件环境要求

运行Kylin的服务器的最低配置为4 core CPU,16GB 内存和 100GB 磁盘。对于高负载的场景,建议使用24 core CPU,64GB 内存或更高的配置。

三、Hadoop环

Kylin依赖于Hadoop 集群处理大量的数据集。需要准备一个配置好HDFS,YARN,MapReduce,Hive, HBase,Zookeeper 和其他服务的Hadoop 集群供Kylin运行。部署kylin的节点上Hive,HBase,HDFS 等命令行已安装好且client配置(如core-site.xml,hive-site.xml,hbase-site.xml及其它)也已经合理的配置且其可以自动和其它节点同步。

运行Kylin 的Linux 账户要有访问 Hadoop 集群的权限,包括创建/写入HDFS 文件夹,读写Hive表,读写HBase表和提交MapReduce任务的权限。

四、境检查

在安装kylin前需要检查一些环境信息,例如是否开启时钟同步,hive和hbase是否可以免密登录。如果环境检查不到位,kylin安装完成后,会出现各种问题。

1)检查安装kylin的机器是否开启时钟同步(root用户)

## 查看状态
systemctl status ntpd
## 如果状态是active,则跳过后面的步骤,执行检查 2)
## 状态为inactive,执行如下步骤,先启动
systemctl start ntpd 
## 设置开机自启动ntp服务
systemctl enable ntpd
## 再次检查
systemctl status ntpd
## 如果状态是ntpd.service没找到,则需要安装再启动
su root 
sudo yum install ntp 

## 查看状态
systemctl status ntpd
## 如果状态是active,则跳过后面的步骤,执行检查 2)
## 状态为inactive,执行如下步骤,先启动
systemctl start ntpd 
## 设置开机自启动ntp服务
systemctl enable ntpd
## 再次检查
systemctl status ntpd
## 如果状态是ntpd.service没找到,则需要安装再启动
su root 
sudo yum install ntp

2)安装net-tools(root用户)

## 安装net-tools,否则后面执行kylin环境检查./check-env.sh会报错
yum install -y net-tools

## 安装net-tools,否则后面执行kylin环境检查./check-env.sh会报错
yum install -y net-tools

3)检查hive是否可用(使用即将用来安装kylin的用户去检查)

## 进入habse,如果需要输入密码,请配置成免密登录
hbase shell
## 进入后使用list命令
list
## 查看desc命令是否可用
desc '[namespacename:]tablename' 

## 进入habse,如果需要输入密码,请配置成免密登录
hbase shell
## 进入后使用list命令
list
## 查看desc命令是否可用
desc '[namespacename:]tablename'

有时候会出现scan或者desc命令不能使用,考虑权限不够,需要修改权限。

4)检查hbase是否可用(使用即将用来安装kylin的用户去检查)

## 进入hive,如果需要输入密码,请配置成免密登录
hive
## 进入后使用show databases命令
show databases 
## 检查hive的default库有没有增删改查权限

## 进入hive,如果需要输入密码,请配置成免密登录
hive
## 进入后使用show databases命令
show databases 
## 检查hive的default库有没有增删改查权限

5)检查hive的hive-site.xml是否配置了如下属性,如果没有,请配置。

<property>  
<name>hive.security.authorization.sqlstd.confwhitelist.appendname>
<value>mapred.*|hive.*|mapreduce.*|spark.*value>
property>
<property>
<name>hive.security.authorization.sqlstd.confwhitelistname>
<value>mapred.*|hive.*|mapreduce.*|spark.*value>
property>
<property>
<name>hive.server2.builtin.udf.blacklistname>
<value>emptyvalue>
property>

<property>  
<name>hive.security.authorization.sqlstd.confwhitelist.appendname>
<value>mapred.*|hive.*|mapreduce.*|spark.*value>
property>
<property>
<name>hive.security.authorization.sqlstd.confwhitelistname>
<value>mapred.*|hive.*|mapreduce.*|spark.*value>
property>
<property>
<name>hive.server2.builtin.udf.blacklistname>
<value>emptyvalue>
property>

注意:如果使用的是KDE金山云,修改需要在KDE界面上添加,直接去服务器上的配置文件修改的话,重启后会被删除,导致无法生效!

02

Kylin单机部署


一、安装

环境准备就绪后,直接开始kylin安装!安装的kylin版本是:apache-kylin-3.0.0-bin-hadoop3.tar.gz,直接在kylin的官网上下载即可。

将软件包,利用ftp或者其他工具上传到安装用户有操作权限的目录。开始配置安装节点的环境变量文件(可以添加在/etc/profile文件,对任意用户生效。也可以添加在安装用户的用户环境文件bashrc上,并且注意后续启动和停止kylin都需要利用安装用户操作)。本文的安装路径为/home/etl下。

## 1)或者vi /etc/profile,修改后要source /etc/profile生效
vi ~/.bashrc 
## 根据实际软件安装路径添加
export KYLIN_HOME=/home/etl/kylin  
## 保存退出
:wq                                   

## 2)修改tomcat的conf文件夹下的server.xml
## 进入配置文件目录
cd /home/etl/kylin/tomcat/conf
## 进入server.xml
vi server.xml                 
## 注释掉如下属性

## 1)或者vi /etc/profile,修改后要source /etc/profile生效
vi ~/.bashrc 
## 根据实际软件安装路径添加
export KYLIN_HOME=/home/etl/kylin  
## 保存退出
:wq                                   

## 2)修改tomcat的conf文件夹下的server.xml
## 进入配置文件目录
cd /home/etl/kylin/tomcat/conf
## 进入server.xml
vi server.xml                 
## 注释掉如下属性

datax hive卸数_hive

还要查看一下kylin的安装目录中的tomcat目录下是否有如下jar包,没有的话请从百度下载后添加(没有这个jar包,可能会出现启动成功但是无法打开web页面的错误)。

datax hive卸数_hive删除hbase数据_02

接着检查kylin的bin、logs等是否具有可执行权限:

## 进入目录
cd /home/etl/kylin/  
## 查看目录权限
ll  
## 如果没有可执行权限,修改权限
chmod -R 777 *         

## 进入目录
cd /home/etl/kylin/  
## 查看目录权限
ll  
## 如果没有可执行权限,修改权限
chmod -R 777 *

最后,进行启动前的kylin环境检查:

## 进入目录
cd /home/etl/kylin/bin    
## 执行依赖的环境检查,没有输出错误信息即可
./check-env.sh          

## 进入目录
cd /home/etl/kylin/bin    
## 执行依赖的环境检查,没有输出错误信息即可
./check-env.sh

datax hive卸数_hive_03

离成功已经很近啦,接下来进行下一个步骤。

03

Kylin启动测试


现在可以执行kylin的启动:

## 进入目录
cd /home/etl/kylin/bin    
## 执行启动
./kylin.sh start         
## 进入目录
cd /home/etl/kylin/bin    
## 执行启动
./kylin.sh start

启动成功会出现的信息如下:

datax hive卸数_xml_04

在页面上输入http://:7070/kylin即可出现登录页面。输入账号:ADMIN 密码:KYLIN。

datax hive卸数_xml_05

服务器启动,可以通过查看/logs/kylin.log 获得运行时日志进行启动失败的问题排错。

二、测试

测试kylin可用性,导入kylin的测试例子。

## 切换到安装用户 在/home/etl/kylin/bin目录下用关掉kylin
./kylin.sh stop    
## 执行
./sample.sh   

## 切换到安装用户 在/home/etl/kylin/bin目录下用关掉kylin
./kylin.sh stop    
## 执行
./sample.sh

如果窗口的尾部出现如下页面则表示成功。

datax hive卸数_datax hive卸数_06

然后进入hive查看表是否已经生成:

## 进hive
hive 
## 使用default数据库,kylin默认使用default存储
use default
## 查看表,出现kylin_account、kylin_cal_dt、kylin_category_groupings、kylin_country、kylin_sales表示成功
show tables
## 使用安装用户重新启动kylin
./kylin.sh start

## 进hive
hive 
## 使用default数据库,kylin默认使用default存储
use default
## 查看表,出现kylin_account、kylin_cal_dt、kylin_category_groupings、kylin_country、kylin_sales表示成功
show tables
## 使用安装用户重新启动kylin
./kylin.sh start

1)启动成功后,登录kylin的web页面重新加载元数据。

datax hive卸数_datax hive卸数_07

2)选择learn_kylin项目,点击model,出现如下页面。

datax hive卸数_hive删除hbase数据_08

3)进行cube构建。

datax hive卸数_hive删除hbase数据_09

4)选择构建的表的数据的结束日期,然后点击submit。

datax hive卸数_kylin_10

5)查看构建的进度,当进度达到100%的时候,表示成功。此处大概至少需要十几二十分钟进行构建。

datax hive卸数_xml_11

6)如果此处出现error,可以点击如下页面的按钮查看日志,也可以通过页面查看执行到哪个步骤。

datax hive卸数_xml_12

datax hive卸数_hive删除hbase数据_13

7)当进度达到100%的时候,点击model查看cube的状态变成了ready。

datax hive卸数_hive删除hbase数据_14

8)进行简单的查询操作:select count(*) from KYLIN_SALES

datax hive卸数_hive删除hbase数据_15

9)结果的status为success即可

datax hive卸数_kylin_16

Tips: cube构建时,一直卡在第一步很久,log显示no data avaliable。请查看hive是否可以正常使用:包括输入hive命令后,正常进入数据库,无需输入用户名和密码!以及show databases; select,drop等权限都正常。

本文的介绍到此结束,下一篇文章记录一下kylin的分布式集群部署~

end