1, kylin是什么?为什么需要?
Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
两张图概括麒麟
二, Kylin安装的环境要求
1,hadoop的最低版本要求
最低的环境版本要求:
Hadoop: 2.7+
Hive: 0.13 - 1.2.1+
HBase: 0.98 - 0.99, 1.1+
JDK: 1.7+
浪尖的安装系列文章,满足,我们采用的hadoop版本是2.7.4,hive是1.2.1,hbase-1.2.0,jdk1.8
本文采用的kylin版本是apache-kylin-2.1.0-bin-hbase1x.tar.gz
2,/etc/profile
之所以单独强调这一点,是因为kylin安装的时候严格依赖于hadoop,spark,hive,hbase等环境变量配置。具体配置如下:
export JAVA_HOME=/opt/modules/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/modules/hadoop-2.7.4/
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# Hive
export HIVE_HOME=/opt/modules/hive-1.2.1
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin
# HBase
export HBASE_HOME=/opt/modules/hbase-1.2.0
export HBASE_CONF_DIR=$HBASE_HOME/conf
export PATH=$PATH:$HBASE_HOME/bin
# zookeeper
export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.5/
export ZOOKEEPER_CONF_DIR=$ZOOKEEPER_HOME/conf
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# spark
export SPARK_HOME=/opt/modules/spark-2.1.2
export SPARK_CONF_DIR=$SPARK_HOME/conf
export PATH=$PATH:$SPARK_HOME/bin
export PATH=$PATH:$SPARK_HOME/sbin
# kylin
export KYLIN_HOME=/opt/modules/kylin
export PATH=$PATH:$KYLIN_HOME/bin
3,解压apache-kylin-2.1.0-bin-hbase1x.tar.gz
检测环境,假如仅仅输出如下,说明配置正确
4,要启动的hadoop服务
hadoop集群启动命令,单个节点启动的我们的服务。
启动yarn
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
启动hadoop
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
启动Zookeeper
zkServer.sh start
启动hbase
hbase-daemon.sh start master
hbase-daemon.sh start regionserver
启动hive的metastore
nohup hive --service metastore >/dev/null 2>&1 &
启动jobhistory
mr-jobhistory-daemon.sh start historyserver
5,hadoop集群的已配置好的软件包
关注公众号,输入:配置。下载。
3, 安装kylin并启动
Kylin的启动异常简单:
kylin.sh start
在web浏览器中输入,http://luffy.onepiece.com:7070/kylin ,默认的账号密码是ADMIN/KYLIN,假如呈现如下安装页面,说明安装成功。
四, 测试kylin
测试主要是针对官网提供的demo进行的。
1, 首先生成数据
执行${KYLIN_HOME}/bin/sample.sh。假如配置没有错误,会在结尾得到如下输出
这个时候为了生效我们可以重启kylin,或者在web UI里面重新加载元数据,如下:
2, 构建cube
这时候,首先在左上角的choose project框里选择,learn_kylin工程。在web UI的model栏可以看到。
这时候,在Actions栏里点击build
在弹出框里做如下选择时间大于开始时间,然后点击submit。
在监控栏里面,可以看到cube构建的进度信息
构建结束后
3, 执行sql
在构建好cube之后,在learn_kylin被选中的时候,insight栏里,cube信息
比如,输入如下SQL
select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt
返回结果
4, Web呈现
上步骤返回的结果,实际上可以以图表的形式展示,如下:
展示实际根据,维度及该维度统计的指标。
五, 集群部署
1, kylin Server模式
kylin的实例是无状态的,运行状态存储在他的metadata store(hbase里面存储,文件kylin.properties配置kylin.metadata.url)。为了负载均衡考虑,我们可能会启动多个kylin实例,共享一份元数据(表结构的状态,job的状态,cube的状态)。
特别要提到,每个kylin的实例,我们都要配置kylin.server.mode(conf/kylin.properties),这个属性有三个值:
A,job,运行job 引擎
B,query 运行查询引擎
C,all运行两者。
值得注意的是,仅仅有一个Server可以运行job引擎,也即(处于all模式或者job模式),其它实例必须是query模式。
一个典型的kylin结构图如下:
2, 设置多个kylin REST servers
如果使用kylin的集群模式,这种情况下会有多个REST服务实例,一定要确保每个服务实例在配置文件${KYLIN_HOME}/conf/kylin.properties,有以下配置:
A, kylin.rest.servers
Web服务的地址列表,使能一个web 服务实例跟其他进行数据同步。配置格式如下:
kylin.rest.servers=sandbox1:7070,sandbox2:7070
B, kylin.server.mode
确保,仅仅有一个kylin实例的kylin.server.mode属性被设置为all或者job,其它的为query。
3, 负载均衡
使能kylin的高可用服务,需要在这些服务实例前面设置一个负载均衡器,均衡请求。客户端只需要发送请求给负载均衡器,而不是直接和kylin 服务实例交互。如Nginx1, kylin是什么?为什么需要?
Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
两张图概括麒麟
二, Kylin安装的环境要求
1,hadoop的最低版本要求
最低的环境版本要求:
Hadoop: 2.7+
Hive: 0.13 - 1.2.1+
HBase: 0.98 - 0.99, 1.1+
JDK: 1.7+
浪尖的安装系列文章,满足,我们采用的hadoop版本是2.7.4,hive是1.2.1,hbase-1.2.0,jdk1.8
本文采用的kylin版本是apache-kylin-2.1.0-bin-hbase1x.tar.gz
2,/etc/profile
之所以单独强调这一点,是因为kylin安装的时候严格依赖于hadoop,spark,hive,hbase等环境变量配置。具体配置如下:
export JAVA_HOME=/opt/modules/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/modules/hadoop-2.7.4/
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# Hive
export HIVE_HOME=/opt/modules/hive-1.2.1
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin
# HBase
export HBASE_HOME=/opt/modules/hbase-1.2.0
export HBASE_CONF_DIR=$HBASE_HOME/conf
export PATH=$PATH:$HBASE_HOME/bin
# zookeeper
export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.5/
export ZOOKEEPER_CONF_DIR=$ZOOKEEPER_HOME/conf
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# spark
export SPARK_HOME=/opt/modules/spark-2.1.2
export SPARK_CONF_DIR=$SPARK_HOME/conf
export PATH=$PATH:$SPARK_HOME/bin
export PATH=$PATH:$SPARK_HOME/sbin
# kylin
export KYLIN_HOME=/opt/modules/kylin
export PATH=$PATH:$KYLIN_HOME/bin
3,解压apache-kylin-2.1.0-bin-hbase1x.tar.gz
检测环境,假如仅仅输出如下,说明配置正确
4,要启动的hadoop服务
hadoop集群启动命令,单个节点启动的我们的服务。
启动yarn
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
启动hadoop
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
启动Zookeeper
zkServer.sh start
启动hbase
hbase-daemon.sh start master
hbase-daemon.sh start regionserver
启动hive的metastore
nohup hive --service metastore >/dev/null 2>&1 &
启动jobhistory
mr-jobhistory-daemon.sh start historyserver
5,hadoop集群的已配置好的软件包
关注公众号,输入:配置。下载。
3, 安装kylin并启动
Kylin的启动异常简单:
kylin.sh start
在web浏览器中输入,http://luffy.onepiece.com:7070/kylin ,默认的账号密码是ADMIN/KYLIN,假如呈现如下安装页面,说明安装成功。
四, 测试kylin
测试主要是针对官网提供的demo进行的。
1, 首先生成数据
执行${KYLIN_HOME}/bin/sample.sh。假如配置没有错误,会在结尾得到如下输出
这个时候为了生效我们可以重启kylin,或者在web UI里面重新加载元数据,如下:
2, 构建cube
这时候,首先在左上角的choose project框里选择,learn_kylin工程。在web UI的model栏可以看到。
这时候,在Actions栏里点击build
在弹出框里做如下选择时间大于开始时间,然后点击submit。
在监控栏里面,可以看到cube构建的进度信息
构建结束后
3, 执行sql
在构建好cube之后,在learn_kylin被选中的时候,insight栏里,cube信息
比如,输入如下SQL
select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt
返回结果
4, Web呈现
上步骤返回的结果,实际上可以以图表的形式展示,如下:
展示实际根据,维度及该维度统计的指标。
五, 集群部署
1, kylin Server模式
kylin的实例是无状态的,运行状态存储在他的metadata store(hbase里面存储,文件kylin.properties配置kylin.metadata.url)。为了负载均衡考虑,我们可能会启动多个kylin实例,共享一份元数据(表结构的状态,job的状态,cube的状态)。
特别要提到,每个kylin的实例,我们都要配置kylin.server.mode(conf/kylin.properties),这个属性有三个值:
A,job,运行job 引擎
B,query 运行查询引擎
C,all运行两者。
值得注意的是,仅仅有一个Server可以运行job引擎,也即(处于all模式或者job模式),其它实例必须是query模式。
一个典型的kylin结构图如下:
2, 设置多个kylin REST servers
如果使用kylin的集群模式,这种情况下会有多个REST服务实例,一定要确保每个服务实例在配置文件${KYLIN_HOME}/conf/kylin.properties,有以下配置:
A, kylin.rest.servers
Web服务的地址列表,使能一个web 服务实例跟其他进行数据同步。配置格式如下:
kylin.rest.servers=sandbox1:7070,sandbox2:7070
B, kylin.server.mode
确保,仅仅有一个kylin实例的kylin.server.mode属性被设置为all或者job,其它的为query。
3, 负载均衡
使能kylin的高可用服务,需要在这些服务实例前面设置一个负载均衡器,均衡请求。客户端只需要发送请求给负载均衡器,而不是直接和kylin 服务实例交互。如Nginx
网友评论