【写在前面】本文是在真正的生产环境上实操安装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
## 注释掉如下属性
还要查看一下kylin的安装目录中的tomcat目录下是否有如下jar包,没有的话请从百度下载后添加(没有这个jar包,可能会出现启动成功但是无法打开web页面的错误)。
接着检查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
离成功已经很近啦,接下来进行下一个步骤。
03
Kylin启动测试
现在可以执行kylin的启动:
## 进入目录
cd /home/etl/kylin/bin
## 执行启动
./kylin.sh start
## 进入目录
cd /home/etl/kylin/bin
## 执行启动
./kylin.sh start
启动成功会出现的信息如下:
在页面上输入http://:7070/kylin即可出现登录页面。输入账号:ADMIN 密码:KYLIN。
服务器启动,可以通过查看/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
如果窗口的尾部出现如下页面则表示成功。
然后进入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页面重新加载元数据。
2)选择learn_kylin项目,点击model,出现如下页面。
3)进行cube构建。
4)选择构建的表的数据的结束日期,然后点击submit。
5)查看构建的进度,当进度达到100%的时候,表示成功。此处大概至少需要十几二十分钟进行构建。
6)如果此处出现error,可以点击如下页面的按钮查看日志,也可以通过页面查看执行到哪个步骤。
7)当进度达到100%的时候,点击model查看cube的状态变成了ready。
8)进行简单的查询操作:select count(*) from KYLIN_SALES
9)结果的status为success即可
Tips: cube构建时,一直卡在第一步很久,log显示no data avaliable。请查看hive是否可以正常使用:包括输入hive命令后,正常进入数据库,无需输入用户名和密码!以及show databases; select,drop等权限都正常。
本文的介绍到此结束,下一篇文章记录一下kylin的分布式集群部署~
end