资讯专栏INFORMATION COLUMN

Apache Kylin安装部署

xorpay / 761人阅读

摘要:安装环境依赖于大数据平台,安装部署之前确认,大数据平台已经安装。

0x01 Kylin安装环境

Kylin依赖于hadoop大数据平台,安装部署之前确认,大数据平台已经安装Hadoop, HBase, Hive

1.1 了解kylin的两种二进制包

预打包的二进制安装包:apache-kylin-1.6.0-bin.tar.gz
特别二进制包:apache-kylin-1.6.0-HBase1.x-bin.tar.gz

说明:特别二进制包是一个在HBase 1.1+环境上编译的Kylin快照二进制包;安装它需要HBase 1.1.3或更高版本,否则之前版本中有一个已知的关于fuzzy key过滤器的缺陷,会导致Kylin查询结果缺少记录:HBASE-14269。此外还需注意的是,这不是一个正式的发布版(每隔几周rebase KYLIN 1.3.x 分支上最新的改动),没有经过完整的测试。

0x02 安装部署 2.1 下载

可以选择自己需要的版本进行下载,这里下载的是pache-kylin-1.6.0-bin.tar.gz

2.2 安装
$ tar -zxvf apache-kylin-1.6.0-bin.tar.gz
$ mv apache-kylin-1.6.0 /home/hadoop/cloud/
$ ln -s /home/hadoop/cloud/apache-kylin-1.6.0 /home/hadoop/cloud/kylin
2.3 配置环境变量

在/etc/profile里配置KYLIN环境变量和一个名为hive_dependency的变量

# vim /etc/profile

//追加
export KYLIN_HOME=/home/hadoop/kylin
export PATH=$PATH:$ KYLIN_HOME/bin
export hive_dependency=/home/hadoop/hive/conf:/home/hadoop/hive/lib/*:/home/hadoop/hive/hcatalog/share/hcatalog/hive-hcatalog-core-2.0.0.jar

使配置文件生效

# source /etc/profile
# su hadoop
$ source /etc/profile

这个配置需要在从节点master2,slave1,slave2上同时配置,因为kylin提交的任务交给mr后,hadoop集群将任务分发给从节点时,需要hive的依赖信息,如果不配置,则mr任务将报错为: hcatalogXXX找不到。

2.4 配置kylin.sh
$ vim ~/cloud/kylin/bin/kylin.sh

//显式声明 KYLIN_HOME
export KYLIN_HOME=/home/Hadoop/kylin
//在HBASE_CLASSPATH_PREFIX中显示增加$hive_dependency依赖
export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX
2.5 检查环境是否设置成功
$ check-env.sh
KYLIN_HOME is set to /home/hadoop/kylin
2.6 配置kylin.properties

进入conf文件夹,修改kylin各配置文件kylin.properties如下

$ vim ~/cloud/kylin/conf/kylin.properties

kylin.rest.servers=master:7070
#定义kylin用于MR jobs的job.jar包和hbase的协处理jar包,用于提升性能。
kylin.job.jar=/home/hadoop/kylin/lib/kylin-job-1.6.0-SNAPSHOT.jar
kylin.coprocessor.local.jar=/home/hadoop/kylin/lib/kylin-coprocessor-1.6.0-SNAPSHOT.jar
2.7 配置kylin_hive_conf.xml和kylin_job_conf.xml

kylin_hive_conf.xmlkylin_job_conf.xml的副本数设置为2


  dfs.replication
  2
  Block replication
2.8 启动服务

注意:在启动Kylin之前,先确认以下服务已经启动

hadoop的hdfs/yarn/jobhistory服务

start-all.sh
mr-jobhistory-daemon.sh start historyserver

hive 元数据库

hive --service metastore &

zookeeper

zkService.sh start

需要在每个节点上执行,分别启动所有节点的zookeeper服务

hbase

start-hbase.sh

检查hive和hbase的依赖

$ find-hive-dependency.sh
$ find-hbase-dependency.sh

启动和停止kylin的命令

$ kylin.sh start
$ kylin.sh stop

Web访问地址: http://192.168.1.10:7070/kylin/login

默认的登录username/password 是 ADMIN/KYLIN

0x03 测试 3.1 测试Kylin自带的sample

Kylin提供一个自动化脚本来创建测试CUBE,这个脚本也会自动创建出相应的hive数据表。运行sample例子的步骤:

S1: 运行${KYLIN_HOME}/bin/sample.sh脚本

$ sample.sh

关键提示信息:

KYLIN_HOME is set to /home/hadoop/kylin
Going to create sample tables in hive...
Sample hive tables are created successfully; Going to create sample cube...
Sample cube is created successfully in project "learn_kylin"; Restart Kylin server or reload the metadata from web UI to see the change.

S2:在MYSQL中查看此sample创建了哪几张表

select DB_ID,OWNER,SD_ID,TBL_NAME from TBLS;

S3: 在hive客户端查看创建的表和数据量(1w条)

hive> show tables;
OK
kylin_cal_dt
kylin_category_groupings
kylin_sales
Time taken: 1.835 seconds, Fetched: 3 row(s)
hive> select count(*) from kylin_sales;
OK
Time taken: 65.351 seconds, Fetched: 1 row(s)

S4: 重启kylin server 刷新缓存

$ kylin.sh stop
$ kylin.sh start

S5:用默认的用户名密码ADMIN/KYLIN访问192.168.200.165:7070/kylin

进入控制台后选择project为learn_kylin的那个项目。

S6: 选择测试cube “kylin_sales_cube”,点击“Action”-“Build”,选择一个2014-01-01以后的日期,这是为了选择全部的10000条测试记录。

选择一个生成日期
点击提交会出现重建任务成功提交的提示

S7: 监控台查看这个任务的执行进度,直到这个任务100%完成。

任务完成
切换到model控制台会发现cube的状态成为了ready,表示可以执行sql查询了
执行过程中,在hive里会生成临时表,待任务100%完成后,这张表会自动删除

0x04 常见错误 4.1 运行check-env.sh提示

please make sure user has the privilege to run hbase shell

检查hbase环境变量是否配置正确。重新配置后问题解决。
参考:http://www.jianshu.com/p/632b...

4.2 hadoop-env.sh脚本问题

Kylin安装问题--/home/hadoop-2.5.1/contrib/capacity-scheduler/.jar (No such file or directory)

WARNING: Failed to process JAR
 [jar:file:/home/hadoop-2.5.1/contrib/capacity-scheduler/.jar!/] for
 TLD files
 java.io.FileNotFoundException:
 /home/hadoop-2.5.1/contrib/capacity-scheduler/.jar (No such file or
 directory)
 at java.util.zip.ZipFile.open(Native Method)
 at java.util.zip.ZipFile.(ZipFile.java:215)
 at java.util.zip.ZipFile.(ZipFile.java:145)
 at java.util.jar.JarFile.(JarFile.java:153)
 at java.util.jar.JarFile.(JarFile.java:90)
 at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93)
 at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
 at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:99)
 at
 sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
 at
 sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89)
 at org.apache.tomcat.util.scan.FileUrlJar.(FileUrlJar.java:41)
 at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34)
 at org.apache.catalina.startup.TldConfig.tldScanJar(TldConfig.java:485)
 at org.apache.catalina.startup.TldConfig.access$100(TldConfig.java:61)
 at
 org.apache.catalina.startup.TldConfig$TldJarScannerCallback.scan(TldConfig.java:296)
 at
 org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:258)
 at
 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:220)
 at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:269)
 at
 org.apache.catalina.startup.TldConfig.lifecycleEvent(TldConfig.java:565)
 at
 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
 at
 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
 at
 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5412)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at
 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
 at
 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
 at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1081)
 at
 org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1877)
 at
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask.run(FutureTask.java:262)
 at
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

其实这个问题只是一些小bug问题把这个脚本的内容改动一下就好了${HADOOP_HOME}/etc/hadoop/hadoop-env.sh把下面的这一段循环语句给注释掉

#for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do
#  if [ "$HADOOP_CLASSPATH" ]; then
#    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
#  else
#    export HADOOP_CLASSPATH=$f
#  fi
#done
4.3 清理kylin空间

kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete true

4.4 Permission denied

kylin cube测试时,报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

解决办法:

1 配置hdfs-site.xml


    dfs.permissions
    false

2 在hdfs上给目录/user 777的权限

$ hadoop fs -chmod -R 777 /user

0x05 参考链接

http://kylin.apache.org/cn/do...
http://kylin.apache.org/cn/do...
http://www.cnblogs.com/avivay...

2017-02-17 19:51:39 星期五

update1: 2017-05-04 20:10:05 星期四

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35865.html

相关文章

  • 新技术到底靠不靠谱?在中国用一下就知道了

    摘要:基础设施技术在这一领域经受了最为残酷的考验。支付宝在中国已经无处不在。中国之外除了本土技术,国外的一些技术也有了中国式规模的味道。在中国互联网经济大环境中,有一些问题一定要考虑到,特别是信息审查方面的问题。 本文转载自公众号「AI前线」。 策划编辑|Natalie 作者|Kevin Xu 译者|无明 编辑|Debra AI 前线导读:中国科技公司是典型的早期采用者——不是因为赶时髦,而...

    yagami 评论0 收藏0
  • 新技术到底靠不靠谱?在中国用一下就知道了

    摘要:基础设施技术在这一领域经受了最为残酷的考验。支付宝在中国已经无处不在。中国之外除了本土技术,国外的一些技术也有了中国式规模的味道。在中国互联网经济大环境中,有一些问题一定要考虑到,特别是信息审查方面的问题。 本文转载自公众号「AI前线」。 策划编辑|Natalie 作者|Kevin Xu 译者|无明 编辑|Debra AI 前线导读:中国科技公司是典型的早期采用者——不是因为赶时髦,而...

    remcarpediem 评论0 收藏0
  • UCloud一站式智能大数据平台USDP免费版正式发布!

    摘要:企业微信截图企业微信截图兼容最广的一站式智能大数据平台涵盖了等众多开源大数据组件,支持对这些组件进行运维中台建设数据开发业务可视化等全栈式大数据开发运维管理。通过一站式智能大数据平台支持的等分布式运算框架,可以高效的进行机器学习应用开发。背景在大数据业务系统中,所有技术栈生态均是围绕着存储进行扩展的,目前开源的主流存储技术栈主要包含如下 3 种类型:· HDFS:Hadoop 系列套件,包含...

    Tecode 评论0 收藏0
  • UCloud发布一站式智能大数据平台USDP免费版附USDP资源下载地址

    摘要:机器学习机器学习通过算法对大量数据进行分析,挖掘出其中蕴含的规律,并用于事物预测或者分类,有大量的计算需求。通过一站式智能大数据平台支持的等分布式运算框架,可以高效的进行机器学习应用开发。在大数据业务系统中,所有技术栈生态均是围绕着存储进行扩展的,目前开源的主流存储技术栈主要包含如下 3 种类型:· HDFS:Hadoop 系列套件,包含 Hive、Hbase、Phoenix 等;· Ela...

    Tecode 评论0 收藏0
  • 只需五步,三分钟极速部署企业级大数据平台服务

    摘要:,企业大数据服务最佳选择对企业来说,只需五步,即可在分钟之内部署一套大数据服务来满足自身的各种需求,同时还可进行统一的数据管理,无论从成本还是效率来说,都是企业大数据服务最佳选择。 著名的 OReilly 公司断言:「数据是下一个 ‘Intel Inside’ ,未来属于利用数据并将其转换成产品的公司和人们。」 showImg(https://segmentfault.com/img/...

    darcrand 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<