Kylin系列(三)安装与配置:搭建你的第一个 Kylin 环境

news/2024/7/23 11:56:27 标签: kylin, 大数据, 后端, 开发语言, 分布式

目录

1. Kylin 简介

1.1 Kylin的核心特点

1.2 适用场景

2. 环境准备

2.1 硬件要求

2.2 软件依赖

3. 安装与配置

3.1 安装JDK

3.2 安装Hadoop

3.2.1 下载并解压Hadoop

3.2.2 配置Hadoop环境变量

3.2.3 配置Hadoop文件

3.2.4 格式化HDFS并启动Hadoop服务

3.3 安装Hive

3.3.1 下载并解压Hive

3.3.2 配置Hive环境变量

3.3.3 配置Hive文件

3.3.4 启动Hive服务

3.4 安装ZooKeeper

3.4.1 下载并解压ZooKeeper

3.4.2 配置ZooKeeper环境变量

3.4.3 配置ZooKeeper文件

3.4.4 启动ZooKeeper服务

3.5 安装Kylin

3.5.1 下载并解压Kylin

3.5.2 配置Kylin环境变量

3.5.3 配置Kylin文件

3.6 启动Kylin服务

3.7 验证Kylin服务

4. 创建和管理Kylin Cube

4.1 创建新项目

4.2 导入数据

4.3 创建Cube

4.4 构建Cube

5. 运行查询

6. 性能优化

6.1 优化Cube设计

6.2 调整Hadoop和HBase配置

6.3 增量构建

7. 维护和管理

7.1 监控Kylin服务

7.2 备份和恢复

8. 常见问题及解决方案

8.1 启动失败

8.2 查询性能较低

9. 结论


大数据分析领域,Kylin作为一款开源的分布式分析引擎,以其高性能和易用性,受到了广泛关注。它能够将大规模数据集快速地转换为OLAP(在线分析处理)数据,支持复杂的SQL查询,极大地提升了数据分析的效率。本文将详细介绍如何在本地或服务器上搭建你的第一个Kylin环境,从安装依赖到配置Kylin服务,帮助你快速入门,开始进行数据分析和查询。

1. Kylin 简介

1.1 Kylin的核心特点

Kylin的设计初衷是为了应对大数据环境下的复杂查询需求,其核心特点包括:

  • 高性能:通过MPP(大规模并行处理)架构,Kylin能够在数亿级数据上进行快速的分析查询。
  • 易用性:支持SQL查询,降低了数据分析的门槛,用户可以使用熟悉的SQL语法进行数据分析。
  • 扩展性:Kylin支持与Hadoop、Hive、HBase等大数据组件的无缝集成,能够横向扩展,处理大规模数据。
1.2 适用场景

Kylin适用于各种数据分析场景,包括但不限于:

  • 商业智能(BI):快速响应的报表和数据可视化。
  • 数据仓库:为大数据环境下的数据仓库提供高性能的OLAP查询。
  • 实时分析:结合实时数据源,进行高效的实时数据分析。

2. 环境准备

2.1 硬件要求

搭建Kylin环境的硬件要求取决于数据量和查询复杂度。以下是基本的硬件要求:

  • CPU:多核处理器,建议至少4核以上。
  • 内存:至少8GB内存,推荐16GB以上。
  • 磁盘:SSD硬盘,确保数据读写速度,推荐至少100GB的可用空间。
2.2 软件依赖

在安装Kylin之前,需要确保系统上安装了以下软件和依赖:

  • Java Development Kit (JDK):推荐使用JDK 8或以上版本。
  • Hadoop:建议使用Hadoop 2.x或Hadoop 3.x版本,支持HDFS和YARN。
  • Hive:与Hadoop版本兼容的Hive,通常建议Hive 1.x或2.x版本。
  • ZooKeeper:Kylin依赖ZooKeeper进行服务协调,建议使用ZooKeeper 3.x版本。
  • MySQL:用于存储Kylin的元数据,推荐使用MySQL 5.7或以上版本。

3. 安装与配置

3.1 安装JDK
sudo apt update
sudo apt install openjdk-8-jdk
java -version
3.2 安装Hadoop
3.2.1 下载并解压Hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz
sudo mv hadoop-3.3.1 /opt/hadoop
3.2.2 配置Hadoop环境变量
echo "export HADOOP_HOME=/opt/hadoop" >> ~/.bashrc
echo "export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH" >> ~/.bashrc
source ~/.bashrc
3.2.3 配置Hadoop文件

$HADOOP_HOME/etc/hadoop目录下,修改以下配置文件:

  • hadoop-env.sh:设置JAVA_HOME

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    

  • core-site.xml

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
    </configuration>
    

  • hdfs-site.xml

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///opt/hadoop/hdfs/namenode</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///opt/hadoop/hdfs/datanode</value>
        </property>
    </configuration>
    

  • mapred-site.xml

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

  • yarn-site.xml

    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>localhost</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

3.2.4 格式化HDFS并启动Hadoop服务
hdfs namenode -format
start-dfs.sh
start-yarn.sh
3.3 安装Hive
3.3.1 下载并解压Hive
wget https://downloads.apache.org/hive/hive-2.3.7/apache-hive-2.3.7-bin.tar.gz
tar -xzvf apache-hive-2.3.7-bin.tar.gz
sudo mv apache-hive-2.3.7-bin /opt/hive
3.3.2 配置Hive环境变量
echo "export HIVE_HOME=/opt/hive" >> ~/.bashrc
echo "export PATH=$HIVE_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
3.3.3 配置Hive文件

$HIVE_HOME/conf目录下,修改以下配置文件:

  • hive-env.sh:设置JAVA_HOME

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    

  • hive-site.xml

    <configuration>
        <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.cj.jdbc.Driver</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>hiveuser</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>hivepassword</value>
        </property>
        <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/user/hive/warehouse</value>
        </property>
    </configuration>
    

3.3.4 启动Hive服务
start-metastore.sh
start-hiveserver2.sh
3.4 安装ZooKeeper
3.4.1 下载并解压ZooKeeper
wget https://downloads.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
sudo mv apache-zookeeper-3.6.3-bin /opt/zookeeper
3.4.2 配置ZooKeeper环境变量
echo "export ZOOKEEPER_HOME=/opt/zookeeper" >> ~/.bashrc
echo "export PATH=$ZOOKEEPER_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
3.4.3 配置ZooKeeper文件

$ZOOKEEPER_HOME/conf目录下,修改zoo.cfg文件:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
clientPort=2181
3.4.4 启动ZooKeeper服务
zkServer.sh start
3.5 安装Kylin
3.5.1 下载并解压Kylin
wget https://archive.apache.org/dist/kylin/apache-kylin-4.0.0/apache-kylin-4.0.0-bin.tar.gz
tar -xzvf apache-kylin-4.0.0-bin.tar.gz
sudo mv apache-kylin-4.0.0-bin /opt/kyl
sudo mv apache-kylin-4.0.0-bin /opt/kylin
3.5.2 配置Kylin环境变量
echo "export KYLIN_HOME=/opt/kylin" >> ~/.bashrc
echo "export PATH=$KYLIN_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
3.5.3 配置Kylin文件

$KYLIN_HOME/conf目录下,修改kylin.properties文件:

# Hadoop configurations
kylin.env.hadoop-conf-dir=/opt/hadoop/etc/hadoop

# HBase configurations
kylin.storage.hbase.cluster-fs=hdfs://localhost:9000/kylin
kylin.storage.hbase.table-name-prefix=KYLIN_

# Hive configurations
kylin.source.hive.connection-url=jdbc:hive2://localhost:10000/default
kylin.source.hive.dialect=apache

# Metadata storage configurations
kylin.metadata.url=kylin_metadata@jdbc,url=jdbc:mysql://localhost:3306/kylin,user=root,password=root

# ZooKeeper configurations
kylin.env.zookeeper-connect-string=localhost:2181
3.6 启动Kylin服务
$KYLIN_HOME/bin/kylin.sh start
3.7 验证Kylin服务

打开浏览器,访问Kylin的Web界面:

http://localhost:7070/kylin

使用默认用户名ADMIN和密码KYLIN登录。如果能够成功登录并看到Kylin的控制台界面,说明Kylin服务已经成功启动。

4. 创建和管理Kylin Cube

4.1 创建新项目
  1. 登录Kylin Web界面后,点击右上角的Project,然后点击New Project
  2. 输入项目名称和描述,然后点击OK
4.2 导入数据
  1. 在Hive中创建一个示例表,并加载数据。
hive -e "
CREATE TABLE IF NOT EXISTS kylin_sample (
    id INT,
    name STRING,
    value DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';

LOAD DATA LOCAL INPATH '/path/to/sample_data.txt' INTO TABLE kylin_sample;
"
  1. 在Kylin Web界面中,选择刚才创建的项目,点击Models,然后点击New Model
  2. 根据向导创建数据模型,选择Hive中的示例表kylin_sample,并设置模型属性和维度。
4.3 创建Cube
  1. 在Kylin Web界面中,点击Cube,然后点击New Cube
  2. 根据向导配置Cube的基本信息、维度、度量等。
  3. 完成Cube配置后,点击Save保存Cube。
4.4 构建Cube
  1. 在Cube列表中选择刚才创建的Cube,点击Build
  2. 选择构建范围和作业类型,点击Submit提交构建任务。
  3. 构建完成后,可以在Jobs页面查看构建任务的状态和日志。

5. 运行查询

  1. 在Kylin Web界面中,点击Insight,进入SQL查询页面。
  2. 输入SQL查询语句,选择相应的Cube,点击Run运行查询。
SELECT id, name, SUM(value) AS total_value
FROM kylin_sample
GROUP BY id, name
ORDER BY total_value DESC;
  1. 查询结果将显示在页面下方,可以对结果进行导出或进行进一步分析。

6. 性能优化

6.1 优化Cube设计
  1. 合理选择维度和度量:在设计Cube时,尽量选择对查询有帮助的维度和度量,避免冗余数据。
  2. 使用分区:对于大规模数据,可以考虑使用分区,减少每次查询的数据扫描量。
6.2 调整Hadoop和HBase配置
  1. 根据数据规模和查询复杂度,调整Hadoop和HBase的配置参数,例如内存分配、并发任务数等。
  2. 定期监控集群性能,发现瓶颈并进行相应的调整。
6.3 增量构建
  1. 对于实时性要求较高的数据,可以使用增量构建方式,定期更新Cube,减少全量构建的开销。

7. 维护和管理

7.1 监控Kylin服务
  1. 定期检查Kylin服务的运行状态,查看日志文件,及时发现和处理异常。
  2. 使用监控工具,如Prometheus和Grafana,监控Kylin服务的性能和资源使用情况。
7.2 备份和恢复
  1. 定期备份Kylin的元数据和HBase表,确保数据安全。
  2. 在需要时,可以通过备份数据恢复Kylin环境。

8. 常见问题及解决方案

8.1 启动失败
  1. 检查Kylin、Hadoop、Hive和ZooKeeper的配置文件,确保配置正确。
  2. 查看日志文件,定位错误信息,排查问题。
8.2 查询性能较低
  1. 优化Cube设计,减少不必要的维度和度量。
  2. 调整Hadoop和HBase的配置,提高查询性能。

9. 结论

通过以上步骤,你已经成功搭建了一个基本的Kylin环境,并了解了如何创建和管理Cube,进行数据查询和性能优化。Kylin作为一款高性能的OLAP引擎,能够极大地提升数据分析的效率。在实际应用中,你可以根据具体需求,对Kylin进行更深入的配置和优化,充分发挥其优势,为数据分析提供强有力的支持。


http://www.niftyadmin.cn/n/5546421.html

相关文章

【Mongodb-03】亿级数据从mysql迁移到mongodb辛酸历程

亿级数据从mysql迁移到mongodb辛酸历程 一&#xff0c;亿级数据从mysql迁移到mongodb辛酸历程1&#xff0c;核心业务和前期实现2&#xff0c;分库分表考虑3&#xff0c;nosql的选择4&#xff0c;mongodb服务器购买or自己搭建5&#xff0c;数据从mysq迁移到mongodb5.1&#xff0…

App H5+ 实现下载、查看功能 前后端实现(SpringBoot)

<!doctype html><html><head><meta charset"utf-8"><title>维修指南</title><meta name"viewport" content"widthdevice-width, initial-scale1.0, minimum-scale0, maximum-scale0.85, user-scalableyes&quo…

vue3 插件

富文本插件 wangeditor https://www.wangeditor.com/v5/for-frame.html 官网地址 安装 yarn add wangeditor/editor # 或者 npm install wangeditor/editor --saveyarn add wangeditor/editor-for-vuenext # 或者 npm install wangeditor/editor-for-vuenext --save使用impor…

树莓派学习笔记18:IIC驱动_PCA9685(16路舵机驱动模块)误发

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: ​ Python 版本3.7.3: ​ IIC驱动_PCA9685(16路舵机驱动模块) 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 开启树莓…

掌握深海引擎,提升页面美感,让您的网站在搜索引擎中脱颖而出

众位同仁&#xff0c;我们既熟悉也是朋友&#xff0c;我是一位执着于独立站SEO研究和实践的人。今日我将带领诸位更深层次地了解深海引擎&#xff0c;并分享如何使您的网站在搜索引擎的汪洋大海中独占鳌头的技巧。无需担忧&#xff0c;此次课程并非高不可攀&#xff0c;而是满满…

YOLO V7项目使用

YOLO V7项目使用 根据官方论文中提供的项目地址&#xff1a;使用git clone将项目下载到本地。 https://github.com/WongKinYiu/yolov7 git clone https://github.com/WongKinYiu/yolov7 使用pycharm打开项目&#xff0c;根据官方提供的requirement.txt文件下载项目启动所需要的…

游戏AI的创造思路-技术基础-蒙特卡洛树搜索(1)

本篇介绍蒙特卡洛树搜索算法&#xff0c;AlphaGo用于围棋计算的应用就是基于蒙特卡洛树搜索研发的~~~ 目录 1. 定义 2. 发展历史 3. 公式和函数 3.1.算法的公式和函数 3.2. Python实现公式和函数 4. 运行原理 4.1. 运行原理 4.2. 各步骤用Python代码 5. 优缺点和缺陷的…

GitHub开源推荐:AI加持的Notion风格编辑器Novel

在现代内容创作和协作平台中&#xff0c;Notion无疑是备受推崇的一款工具。而现在&#xff0c;有一个开源项目——Novel&#xff0c;它不仅提供了类似Notion的所见即所得&#xff08;WYSIWYG&#xff09;编辑功能&#xff0c;还集成了强大的AI自动补全功能&#xff0c;极大地提…