c语言sscanf函数的用法是什么
350
2022-11-21
CDH6.3.0+Kylin集群实战
1. Kylin介绍
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
2. Kylin架构
REST Server
REST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发工作。 此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取用户权限等等。另外可以通过Restful接口实现SQL查询。
查询引擎(Query Engine)
当cube准备就绪后,查询引擎就能够获取并解析用户查询。它随后会与系统中的其它组件进行交互,从而向用户返回对应的结果。
路由器(Routing)
在最初设计时曾考虑过将Kylin不能执行的查询引导去Hive中继续执行,但在实践后发现Hive与Kylin的速度差异过大,导致用户无法对查询的速度有一致的期望,很可能大多数查询几秒内就返回结果了,而有些查询则要等几分钟到几十分钟,因此体验非常糟糕。最后这个路由功能在发行版中默认关闭。
元数据管理工具(Metadata)
Kylin是一款元数据驱动型应用程序。元数据管理工具是一大关键性组件,用于对保存在Kylin当中的所有元数据进行管理,其中包括最为重要的cube元数据。其它全部组件的正常运作都需以元数据管理工具为基础。 Kylin的元数据存储在hbase中。
任务引擎(Cube Build Engine)
这套引擎的设计目的在于处理所有离线任务,其中包括shell脚本、Java API以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。
3. Kylin特点
Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成等。
准S标准SQL接口:Kylin是以标准的SQL作为对外服务的接口。支持超大数据集:Kylin对于大数据的支撑能力可能是目前所有技术中最为领先的。早在2015年eBay的生产环境中就能支持百亿记录的秒级查询,之后在移动的应用场景中又有了千亿记录秒级查询的案例。亚秒级响应:Kylin拥有优异的查询相应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需的计算量,提高了响应速度。可伸缩性和高吞吐率:单节点Kylin可实现每秒70个查询,还可以搭建Kylin的集群。BI工具集成
Kylin可以与现有的BI工具集成,具体包括如下内容。ODBC:与Tableau、Excel、PowerBI等工具集成JDBC:与Saiku、BIRT等Java工具集成RestAPI:与JavaScript、Web网页集成
Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。
5. Kylin集群部署
5.1 安装环境准备
安装Kylin前需先部署好Hadoop、Hive、Zookeeper、HBase,并且需要在/etc/profile中配置以下环境变量HIVE_HOME,SPARKHOME,HBASE_HOME和JAVA_HOME,记得source使其生效。
CDH环境变量配置如下:
vim /etc/profile下追加:
export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive #hive环境export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark #spark环境export HBASE_HOME=/opt/cloudera/parcels/CDH/lib/hbase #hbase环境export KYLIN_HOME=/opt/kylin #kylin环境,稍后部署
JAVA环境变量配置如下(hadoop集群应已配置):
vim /etc/profile.d/jdk.sh
#set default jdk1.8 envJAVA_HOME=/usr/java/jdk1.8.0_181-clouderaJRE_HOME=/usr/java/jdk1.8.0_181-cloudera/jrePATH=$PATH:$JAVA_HOME/binexport JAVA_HOME JRE_HOME PATH
5.2 安装主机列表
主机 | 主机名 | 角色 |
192.168.116.42 | server-3 | all |
192.168.116.43 | server-4 | query |
192.168.116.44 | server-5 | query |
kyLin下载:kylin下载地址
5.3 安装的版本
apache-kylin-3.0.0.tar.gz
5.4 解压&配置
将下载好的apache-kylin-3.0.0.tar.gz上传至server-3主机的/opt下,然后解压并修改名为kylin,操作如下:
[root@server-3 opt]# mv apache-kylin-3.0.0-bin-hadoop3 kylin
配置kylin
登陆sever-3主机:vim /optkylin/conf/kylin.properties
kylin.metadata.url= kylin_metadata@hbasekylin.server.mode=all // 只能有一个节点是all,其他节点为querykylin.server.cluster-servers=server-3:7070,server-4:7070,server-5:7070
配置加载hbase common lib
vi /opt/cloudera/parcels/CDH/lib/hbase/bin/hbase改CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar成CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/opt/cloudera/parcels/CDH/lib/hbase/lib/*
将sever-3主机修改好的kylin发至其它两台主机,操作如下:
scp -r /opt/kylin server-4:/opt/scp -r /opt/kylin server-5:/opt/
修改sever-4,sever-5主机的/opt/kylin/conf/kylin.properties配置如下:
kylin.server.mode=
分别启动各自主机的kylin服务:
/opt/kylin/bin/kylin.sh start
登陆地址:FAQ
6.1 Argument list too long
[root@server-4 bin]# vim cached-hbase-dependency.sh[root@server-4 bin]# ./kylin.sh startRetrieving hadoop conf dir...KYLIN_HOME is set to /opt/kylinUsing cached dependency...Start to check whether we need to migrate acl tablesUsing cached dependency.../opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/bin/../lib/hbase/bin/hbase: line 373: /usr/java/jdk1.8.0_181-cloudera/bin/java: Argument list too long/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/bin/../lib/hbase/bin/hbase: line 674: /usr/java/jdk1.8.0_181-cloudera/bin/java: Argument list too long/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813/bin/../lib/hbase/bin/hbase: line 674: /usr/java/jdk1.8.0_181-cloudera/bin/java: SuccessERROR: Unknown error. Please check full log.
Argument list too long是因为句柄数不足导致,修改如下:
vim /etc/security/limits.conf下追加:
* soft memlock unlimited* hard memlock unlimited* soft nproc 65535* hard nproc 65535* soft nofile 65536* hard nofile 65536* soft stack 16384* hard stack 32768
6.2 无法创建/kylin目录
因为我是root用户启动的,报错是如下:
KYLIN_HOME is set to /opt/kylinmkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
解决如下:
[hdfs@node03 ~]$ hdfs dfs -setfacl -R -m user:root:rwx /
6.3 org.apache.hadoop.hbase.util.GetJavaProperty
解决方案:
vim /opt/cloudera/parcels/CDH/lib/hbase/bin/hbase
编辑这个文件,然后在169行左右修改配置:
修改前:
CLASSPATH="${HBASE_CONF_DIR}"CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
修改后:
CLASSPATH="${HBASE_CONF_DIR}"CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/opt/cloudera/parcels/CDH/lib/hbase/lib/*
6.4 org/apache/commons/configuration/ConfigurationException
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException
原因:
kylin的tomcat容器缺少commons-configuration-1.x.jar依赖包
解决方式:
CDH上有commons-configuration-1.9.jar的jar包,直接拷贝到${kylin_home}/tomcat/webapps/kylin/WEB-INF/lib即可
cp /opt/cloudera/cm/cloudera-navigator-audit-server/commons-configuration-1.9.jar /opt/kylin/tomcat/webapps/kylin/WEB-INF/lib
重新启动kylin就可以了!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~