我是靠谱客的博主 温婉帅哥,最近开发中收集的这篇文章主要介绍apache kylin mysql_Apache Kylin 部署之不完全指南,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 引言

Apache Kylin(麒麟)是由eBay开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。底层存储用的是HBase,数据输入与cube building用的是Hive,中间数据存储用的是HDFS。搭建环境:

Kylin version = 1.2

Hive version = 0.13.1-cdh5.3.2

HBase version = 0.98.6+cdh5.3.2

Hadoop version = 2.5.0-cdh5.3.2

本文提供的是半分布式安装——HBase环境只在本机搭建;已略去Hadoop环境搭建过程,将主要介绍Hive、HBase、Kylin的搭建步骤。

2. Hive部署

解压包tar zxvf hive-0.13.1-cdh5.3.2.tar.gz,然后mv到指定目录mv hive-0.13.1-cdh5.3.2 /,指定HIVE_HOME,在.bashrc中添加

export HIVE_HOME=//hive-0.13.1-cdh5.3.2/

export PATH=$PATH:$HIVE_HOME/bin:

source后,可以输入hive命令进行表操作;但是还未配置Hive的元数据库。cd ${HIVE_HOME}/conf,创建配置文件cp hive-default.xml.template hive-site.xml,在hive-site.xml文件中配置mysql作为元数据库,需修改以下内容:

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

hive

username to use against metastore database

javax.jdo.option.ConnectionPassword

hive

password to use against metastore database

元数据库在mysql中的database为hive,Driver为com.mysql.jdbc.Driver,用户名与密码均为hive;需在mysql中配置Hive元数据库:

mysql -u root -p

mysql> CREATE DATABASE hive;

-- 创建 hive 用户,并赋予访问 hive 数据库的权限

mysql> GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';

mysql> FLUSH PRIVILEGES;

-- 设置 binary log 的格式:

mysql> set global binlog_format=MIXED;

此外还需要添加mysql jdbc jar 包:

tar xvzf mysql-connector-java-5.1.37.tar.gz

mv mysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar $HIVE_HOME/lib

Kylin用 HCatalog 读取Hive表的,而HCatalog用 property hive.metastore.uris 创建HiveMetaStoreClient 得到元信息。因此,我们还需修改hive-site.xml:

hive.metastore.uris

thrift://localhost:9083

Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.

开启metastore 服务:

nohup hive --service metastore -p 9083 &

3. HBase 部署

与Hive 搭建步骤相类似,解压文件mv到指定目录,然后在.bashrc中配置环境变量:

tar zxvf hbase-0.98.6-cdh5.3.2.tar.gz

mv hbase-0.98.6-cdh5.3.2 /

--.bashrc

export HBASE_HOME=///hbase-0.98.6-cdh5.3.2/

export PATH=$PATH:$HIVE_HOME/bin:$HBASE_HOME/bin

以root权限开启HBase服务:

sudo start-hbase.sh

4. Kylin 部署

解压文件mv到指定目录,然后在.bashrc中配置环境变量KYLIN_HOME。此外,还需要修改Kylin的部分配置信息,cd ${KYLIN_HOME}/conf 修改kylin.properites:

#部署服务器ip,便于其他机器访问

kylin.rest.servers=ip:7070

#kylin在hdfs存储路径

kylin.hdfs.working.dir=

#依赖jar包地址

kylin.job.mr.lib.dir=

在每一台机器上可能Hive的部署目录不一致,导致诸如此类exception(因此需要配置 kylin.job.mr.lib.dir):

java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hive.hcatalog.mapreduce.HCatInputFormat not found

at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2199)

at org.apache.hadoop.mapreduce.task.JobContextImpl.getInputFormatClass(JobContextImpl.java:184)

...

在kylin_job_conf.xml配置队列权限:

mapreduce.job.queuename

...

the queue name

(最新版本1.5.1同时需要在hive-site.xml 添加)配置完成后,运行./bin/find-hive-dependency.sh看Hive环境是否配置正确,可能需要手动设置HCAT_HOME;./bin/kylin.sh start即可开启kylin服务了。

番外

Kylin如何添加登录用户

官方doc给出解决思路:Kylin是采用Spring security framework做用户认证的,需要配置${KYLIN_HOME}/tomcat/webapps/kylin/WEB-INF/classes/kylinSecurity.xml 的sandbox,testing部分

...

...

password需要spring加密:

org.springframework.security

spring-security-core

4.0.0.RELEASE

String password = "123456";

org.springframework.security.crypto.password.PasswordEncoder encoder

= new org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder();

String encodedPassword = encoder.encode(password);

System.out.print(encodedPassword);

最后

以上就是温婉帅哥为你收集整理的apache kylin mysql_Apache Kylin 部署之不完全指南的全部内容,希望文章能够帮你解决apache kylin mysql_Apache Kylin 部署之不完全指南所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部