SHAREit全球累计用户18亿,“双印”市场用户超6亿,月活用户超5亿,覆盖200多个国家和地区,涵盖全球45种语言。稳居Google Play全球总榜Top10,目前已经成为印度、印尼、中东、非洲、俄罗斯等国家和地区的“国民应用”。
我们作为出海的代表,我们的所有服务都上云,那么大数据平台使用aws EMR,但是我们使用kylin 作为我们奥丁报表平台底层OLAP框架时,发现kylin在EMR上安装时出现一些不兼容及不支持aws glue data catalog,遇到问题,解决问题,关于不支持aws glue data catalog 需要修改源码,参考上一篇博客:https://www.iteye.com/blog/wrn19851021-163-com-2511446。接下来我重难点讲kylin 在EMR上面的安装。
一、集群的安装,采用HBASE集群和SPARK集群分开。
HbaseEMR集群
1、集群配置信息
master配置:
m5.4xlarge * 1(按需方式)
EBS:1024G
core配置:
m5.4xlarge * 5 (按需方式)
EBS:500G
2、软件配置
注意:
HBase存储设置:选择S3根目录:s3://**********/hbaseprod
emr-5.27.0
组件勾选如下:
hadoop 2.8.5
Ganglia 3.7.2
HBase 1.4.10
Hue 4.3.0
HCatalog 2.3.5
Zookeeper 3.4.14
3、权限配置参考集群:
主要配置S3的访问权限
4、特别说明的配置项:
集群名称:*************
选择相关的S3的桶的访问权限
配置主节点hadoop用户可以免密登录到子节点
AWS Glue Data Catalog 设置:勾选
HBase存储设置:
选择S3
根目录:s3://*********/hbaseprod
终止保护:开启(选中)
配置emr标签:sgt:subgroup(标签值同集群名称)
SparkEMR集群以及Master镜像
1、集群配置信息:
master配置:
m5.4xlarge * 1(按需方式)
EBS:500G
core配置:
m5.4xlarge * 3 (按需方式)
EBS:1024G
task配置:
m4.2xlarge * n (Spot方式)
EBS:300G
2、软件配置:
emr-5.27.0
组件勾选如下:
hadoop 2.8.5
Ganglia 3.7.2
hive 2.3.5
Spark 2.4.4
Tez 0.9.2
HCatalog 2.3.5
Zookeeper 3.4.14
3、权限配置参考集群:
只要配置S3的桶的访问权限
4、特别说明的配置项:
集群名称:***************
可对 ***************** 和 **************** 桶进行读写
配置主节点hadoop用户可以免密登录到子节点
AWS Glue Data Catalog 设置:勾选
终止保护:开启(选中)
配置emr标签:sgt:subgroup(标签值同集群名称)
5、SparkEMR集群Master主节点镜像
通过Master节点做个2个镜像。
这两个镜像可以访问SparkEMR集群和HBaseEMR集群。
这两个镜像和SparkEMR集群有同样的VPC与子网。
开通公网IP并加入白名单。
注意:以上申请的HBase集群和SparkEMR集群配置网络互通
hbase集群使用S3作为存储元数据,这样只要S3目录存在,那么数据不丢失。
二、kylin的安装
1.下载软件
<!--?xml version="1.0" encoding="UTF-8"?-->
2.建目录
使用root用户 cd /usr/local
mkdir -p kylin
拷贝kylin软件包到
/usr/local/kylin/apache-kylin-3.0.0-SNAPSHOT-bin
修改文件夹所属组
chown -R hadoop:hadoop /usr/local/kylin
切换用户
sudo su hadoop
3.配置用户的全局变量
vi .bashrc
#####hadoop spark kylin#########
export HIVE_HOME=/usr/lib/hive
export HADOOP_HOME=/usr/lib/hadoop
export HBASE_HOME=/usr/lib/hbase
export SPARK_HOME=/usr/lib/spark
##kylin
export KYLIN_HOME=/usr/local/kylin/apache-kylin-3.0.0-SNAPSHOT-bin
export HCAT_HOME=/usr/lib/hive-hcatalog
export KYLIN_CONF_HOME=$KYLIN_HOME/conf
export tomcat_root=$KYLIN_HOME/tomcat
export hive_dependency=$HIVE_HOME/conf:$HIVE_HOME/lib/*:$HIVE_HOME/lib/hive-hcatalog-core.jar
export PATH=$KYLIN_HOME/bin:$PATH
// 生效
source .bashrc
4.配置kylin.property
hive自带的jackson-datatype-joda-2.4.6.jar 包跟kylin/tomcat/weapps/kylin/WEB-INF/lib 中的jackson-datatype-joda-2.9.5.jar冲突,所以需要修改hive中的包
mv $HIVE_HOME/lib/jackson-datatype-joda-2.4.6.jar $HIVE_HOME/lib/jackson-datatype-joda-2.4.6.jar.back
1)配置 spark引擎要运行的 jar 包,这个 jar 包需要自己生成且上传到 HDFS 。
新建/usr/local/kylin/apache-kylin-3.0.0-SNAPSHOT-bin/spark_jars
拷贝需要的jar包到spark_jars目录
cp /usr/lib/spark/jars/*.jar cp /usr/lib/hbase/lib/*.jar /usr/local/kylin/spark_jars
打包
jar cv0f spark-libs.jar -C /usr/local/kylin/spark_jars/ ./
配置 mr依赖的包
cp /usr/lib/hive/lib/*.jar /usr/local/kylin/mr_lib
cp /usr/lib/hbase/lib/*.jar /usr/local/kylin/mr_lib
kylin.job.mr.lib.dir=/usr/local/kylin/mr_lib
2)上传到hdfs
hdfs dfs -mkdir -p /kylin/spark/
hdfs dfs -put spark-libs.jar /kylin/spark
#####包冲突
删除 mr_lib spark_jars 低版本netty-all-*****.Final.jar
## The metadata store in hbase
kylin.metadata.url=kylin_metadata@hbase
## Working folder in HDFS, better be qualified absolute path, make sure user has the right permission to this directory
kylin.env.hdfs-working-dir=s3://shar********/kylin
## DEV|QA|PROD. DEV will turn on some dev features, QA and PROD has no difference in terms of functions.
kylin.env=DEV
## kylin zk base path
kylin.env.zookeeper-base-path=/kylin
## Kylin server mode, valid value [all, query, job]
kylin.server.mode=all
## Display timezone on UI,format like[GMT+N or GMT-N]
kylin.web.timezone=GMT+8
## Hive database name for putting the intermediate flat tables
kylin.source.hive.database-for-flat-table=kylin_flat_db_test1
## Whether redistribute the intermediate flat table before building
kylin.source.hive.redistribute-flat-table=false
## The storage for final cube file in hbase
kylin.storage.url=hbase
## The prefix of hbase table
kylin.storage.hbase.table-name-prefix=KYLIN_
## HBase Cluster FileSystem, which serving hbase, format as hdfs://hbase-cluster:8020
## Leave empty if hbase running on same cluster with hive and mapreduce
kylin.storage.hbase.cluster-fs=s3://sha****/hbase
#### SPARK ENGINE CONFIGS ###
#
## Hadoop conf folder, will export this as "HADOOP_CONF_DIR" to run spark-submit
## This must contain site xmls of core, yarn, hive, and hbase in one folder
kylin.env.hadoop-conf-dir=/etc/hadoop/conf
#kylin.engine.spark.max-partition=5000
#
## Spark conf (default is in spark/conf/spark-defaults.conf)
kylin.engine.spark-conf.spark.master=yarn
kylin.engine.spark-conf.spark.submit.deployMode=cluster
kylin.engine.spark-conf.spark.yarn.queue=default
kylin.engine.spark-conf.spark.driver.memory=2G
kylin.engine.spark-conf.spark.executor.memory=18G
kylin.engine.spark-conf.spark.executor.instances=6
kylin.engine.spark-conf.spark.yarn.executor.memoryOverhead=1024
kylin.engine.spark-conf.spark.shuffle.service.enabled=true
kylin.engine.spark-conf.spark.eventLog.enabled=true
## manually upload spark-assembly jar to HDFS and then set this property will avoid repeatedly uploading jar at runtime
kylin.engine.spark-conf.spark.yarn.archive=hdfs://ip-*******:8020/kylin/spark/spark-libs.jar
############define###########
kylin.job.jar=/usr/local/kylin/apache-kylin-3.0.0-SNAPSHOT-bin/lib/kylin-job-3.0.0-SNAPSHOT.jar
kylin.coprocessor.local.jar=/usr/local/kylin/apache-kylin-3.0.0-SNAPSHOT-bin/lib/kylin-coprocessor-3.0.0-SNAPSHOT.jar
kylin.job.mr.lib.dir=/usr/local/kylin/mr_lib
kylin.query.max-return-rows=10000000
5.配置*.XML文件
kylin_job_conf.xml,配置zk地址,zk地址从hbase/conf/hbase-site.xml中获取
<property>
<name>hbase.zookeeper.quorum</name>
<value>ip-17*****.internal</value>
</property>
<property>
<name>mapreduce.task.timeout</name>
<value>3600000</value>
<description>Set task timeout to 1 hour</description>
</property>
kylin_hive_conf.xml,配置metastore地址
<property>
<name>hive.metastore.uris</name>
<value>thrift://ip-172*******internal:9083</value>
</property>
kylin.sh 文件开头增加
export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX
/usr/lib/hive/conf/hive-site.xml中配置不使用aws glue 共享数据源,注释掉一下配置项
<!--
<property>
<name>hive.metastore.client.factory.class</name>
<value>com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory</value>
</property>
-->
如果使用aws glue data catalog, 那么不用注释掉hive.metastore.client.factory.class
需要修改代码,具体详见
6.配置hbase rpc 超时时长
在hbase-site.xml文件中增加:
<property>
<name>hbase.rpc.timeout</name>
<value>3600000</value>
</property>
7.启动hadoop historyserver
./mr-jobhistory-daemon.sh start historyserver
8.启动kylin 服务
./kylin.sh start
有问题可以加我的QQ:250762323 进行交流。
相关推荐
deb包完美进行离线安装docker,适用于ubuntu系统,Kylin系统,给出安装过程有可能缺少库依赖的解决办法,以后对于deb包缺少以赖库都可以用此方法
Rufus 将镜像文件烧录到 U 盘中,以便在目标设备上安装 Kylin 操作系统。 六、安装系统 用户需要将制作好的 U 盘插入目标板任一 USB,然后启动系统,选择 USB 引导启动,安装系统。用户需要根据提示进行安装,并...
在安装Kylin之前,确保你的环境已经配置了Hadoop和HBase。Kylin依赖于这些组件来存储和处理数据。你可以从Kylin的官方网站下载最新版本的Kylin发行版,并按照官方文档的指示进行安装。安装步骤包括设置环境变量、...
Kylin与HBase紧密配合,构建在Hadoop之上,提供快速的OLAP查询性能。 Kylin的安装流程包括: 1. **预安装检查**:确认系统已安装Hadoop、HBase以及Spark等依赖组件,并正确配置相关环境变量。 2. **获取Kylin**:从...
6. **用户界面**:在Kylin核心之上扩展的第三方用户界面。 7. **驱动**:提供ODBC和JDBC驱动,以支持不同的工具和产品,例如Tableau。 #### 三、数据处理流程 1. **数据读取**:从Hive中读取数据,这些数据存储在...
在Kylin V10操作系统上,使用OpenSSH 9.6 RPM包进行安装是一个便捷的方法,特别是当这个RPM包还附带了一键安装脚本时。OpenSSH(Open Source Secure Shell)是一种广泛使用的网络协议,它允许用户通过加密方式在不...
在Kylin操作系统中,安装和配置LibGdiPlus是一个关键步骤,主要用于支持某些依赖于Windows GDI库的应用程序在Linux环境下的运行。LibGdiPlus是开源项目,它提供了类似于Windows GDI的基本图形功能,使得跨平台应用...
在安装Kylin之前,需要确保你的系统满足以下条件: 1. Java环境:Kylin需要Java 8或更高版本。 2. Hadoop环境:Kylin需要与Hadoop集群进行交互,因此需要安装并配置Hadoop HDFS和YARN。 3. HBase环境:作为默认的...
- **条件要求**: 在安装Ubuntu Kylin 14.10之前,必须满足以下条件之一: - 计算机必须有足够的未分区的磁盘空间(至少8GB)来安装系统。 - 必须有一个或多个可以删除的分区,以空出足够的空间来安装系统。 #### ...
在弹性伸缩上,Kylin的配置要求所有Query节点的静态配置,这与动态扩展的需求不相容,需要找到一种方式在节点更新时能实时同步信息。此外,日常维护也是一个问题,Kylin的清理和备份任务通常需要手工操作,这与容器...
该文件介绍了一个基于AWS(Amazon Web Services)和Apache Kylin的数据分析服务解决方案。这个解决方案旨在帮助那些不熟悉大数据技术的用户也能从数据分析中受益,通过提供一站式建站服务和微信小程序,服务全球数...
原本里面有2个文件夹,第一个升级networkmanager这个,第二个kylin-nm这个,我已经把kylin-nm 依赖包移除,安装会黑屏 安装方式 进入networkmanager sudo dpkg -i ./*.deb
在Ubuntu Kylin 14操作系统中安装和配置Java Development Kit (JDK)、Eclipse集成开发环境以及Apache Tomcat服务器,对于Java开发者来说是至关重要的步骤。以下将详细介绍这一过程。 首先,我们来讨论如何安装JDK。...
所有清单: binutils-common; binutils-x86-64-linux-gnu; binutils; cpp-7; g++-7; gcc-7-base_; gcc-7; gcc-8-base; libasan4; libatomic1; libbinutils; libc-bin; libc-dev-bin; libc6-dev;...
- **简体中文**: 在安装过程中选择简体中文作为安装语言。 - **安装位置**: 选择虚拟磁盘作为安装位置。 - **完成**: 确认安装选项无误后点击“完成”按钮开始安装过程。 - **ROOT密码**: 设置root用户的密码,用于...
Ubuntu Kylin 14.04 安装配置 jdk、eclipse、tomcat 通用 一、安装 jdk 安装 jdk 是 Ubuntu Kylin 14.04 操作系统中配置 java 开发环境的第一步骤。我们可以从 Oracle 官网下载 jdk,网址为 ...
安装指南详细阐述了如何在不同环境下安装Kylin,包括集群模式部署和在AWS EMR(Amazon Elastic MapReduce)上安装。对于那些希望通过容器化技术快速部署的用户,教程还提供了使用Docker运行Kylin的方法。 在Kylin...