Kylin系列(三)安裝與配置:搭建你的第一個 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.pswp.cn/diannao/44392.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44392.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44392.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hive架構詳解:HQL案例解析(第15天)

系列文章目錄 一、Hive基礎架構&#xff08;重點&#xff09; 二、Hive數據庫,表操作&#xff08;重點&#xff09; 三、Hadoop架構詳解(hdfs)&#xff08;補充&#xff09; 四、Hive環境準備&#xff08;操作&#xff09;(補充) 文章目錄 系列文章目錄前言一、Hive基礎架構1、…

4. 小迪安全v2023筆記 javaEE應用

4. 小迪安全v2023筆記 javaEE應用 ? 大體上跟隨小迪安全的課程&#xff0c;本意是記錄自己的學習歷程&#xff0c;不能說是完全原創吧&#xff0c;大家可以關注一下小迪安全。 若有冒犯&#xff0c;麻煩私信移除。 默認有java基礎。 文章目錄 4. 小迪安全v2023筆記 javaEE應…

分塊

分塊 分塊是將線段樹的懶標記方法一般化&#xff0c;可證明通常情況下以 n \sqrt n n ?分塊是最優解。 分塊思想核心&#xff1a; 整塊打包維護 碎塊逐個枚舉 int len,num;//len:每塊長度,num:分塊數量 int begin[],end[],pos[],sum[],add[];//begin,end:每塊的始末下標 po…

linux下安裝cutecom串口助手;centos安裝cutecom串口助手;rpm安裝包安裝cutecom串口助手

在支持apt-get的系統下安裝 在終端命令行中輸入&#xff1a; sudo apt-get install cutecom 安裝好后輸入 sudo cutecom 就可以了 關于如何使用&#xff0c;可以看這個https://www.cnblogs.com/xingboy/p/14388610.html 如果你的電腦不支持apt-get。 那我們就通過安裝包…

‘wget‘ 不是內部或外部命令,也不是可運行的程序

在Windows環境下創建了虛擬環境并安裝了wget包&#xff0c;但在使用該命令的時候仍然報錯&#xff0c;‘wget’ 不是內部或外部命令,也不是可運行的程序 解決方案&#xff1a; 去官網下載對應位數的.exe文件&#xff0c;將其放在C:\Windows\System32目錄下即可, 別下錯版本&a…

寶塔面板部署Flask項目教程(最新版)

本教程適用于最新版的寶塔&#xff01;&#xff01;&#xff01; 本教程適用于最新版的寶塔&#xff01;&#xff01;&#xff01; 本教程適用于最新版的寶塔&#xff01;&#xff01;&#xff01; 1 準備 1.1 依賴文件 在你的項目根目錄下生成一個依賴文件&#xff0c;執行…

美業收銀系統怎么選?哪些功能實用?美業門店管理系統|拓客系統

選擇美業會員系統時&#xff0c;你可以考慮以下幾個方面的功能來確定哪些對你最實用&#xff1a; 1.會員管理&#xff1a; 系統應該能夠輕松管理會員資料、積分、消費記錄等信息&#xff0c;以便更好地了解客戶需求并提供個性化服務。 2.促銷與營銷工具&#xff1a; 包括發…

Perl中追蹤文件脈動:文件系統事件通知機制全解析

&#x1f4e1; Perl中追蹤文件脈動&#xff1a;文件系統事件通知機制全解析 在Perl編程中&#xff0c;文件系統事件通知機制允許程序響應文件或目錄的變化&#xff0c;例如文件的創建、刪除、修改等。這種機制對于實現如文件監控、數據同步、自動化任務等應用至關重要。本文將…

電商開通云賬戶分賬系統實現功能場景

什么是虛擬銀行賬戶: 銀行虛擬戶也稱為銀行虛擬公戶&#xff0c;是指企業或機構在銀行開設的一種特殊類型的銀行賬戶。它與普通銀行賬戶不同&#xff0c;虛擬公戶通常不涉及實際的資金流動&#xff0c;而主要用于管理和監控資金流向&#xff0c;以及實現特定的業務和財務目標。…

vue3項目安裝和使用element-plus

第一步&#xff1a;安裝 npm install element-plus --save 第二步&#xff1a;在main.js文件夾上引入 import { createApp } from vue import ./style.css import ElementPlus from element-plus import element-plus/dist/index.css import App from ./App.vueconst app c…

3D云渲染工具對決:Maya與Blender的性能和功能深度比較

3D建模和動畫制作已成為數字領域不可或缺的一環&#xff0c;無論是在影視特效的震撼場面&#xff0c;還是在游戲角色的生動表現&#xff0c;3D技術都扮演著至關重要的角色。而在這一領域&#xff0c;Maya和Blender這兩款軟件&#xff0c;以其強大的功能和廣泛的應用&#xff0c…

【JavaEE】進程

目錄 一.馮諾依曼體系結構 二.CPU的核心概念 核心數 頻率&#xff08;Clock Speed 或時鐘頻率&#xff09; 如何選擇合適的CPU 三.指令的執行 1.什么是指令 1.取指令 2.解析指令 3.執行指令 4.訪問內存&#xff08;Memory&#xff09;: 5.寫回結果&#xff08;Write…

視頻解碼故障案例兩則

案例1 綠邊 故障分析&#xff1a; 這個能明顯看到視頻上方出現綠色半透明邊帶。這說明Y數據正常。UV數據不正常。 它顯然與視頻幀的垂直分辨率設置有關。 UV數據和Y數據是連續放置的&#xff0c;如果上方出現彩色數據失調&#xff0c;說明這部分數據實際仍然是Y數據。也就是…

為什么我在go語言里從前端接收到的參數是數字28546.123456,但是我不能使用float32只能使用float64呢?

在 Go 語言中&#xff0c;當你從前端&#xff08;例如通過 HTTP 請求&#xff09;接收數據時&#xff0c;這些數據通常以字符串的形式到達后端。然后&#xff0c;后端需要將這些字符串解析或轉換為適當的類型&#xff0c;比如 float32 或 float64。 然而&#xff0c;如果你發現…

JAVASE進階day08(Map雙列集合)

HashMap 1.HashMap基本使用 package com.lu.day08.map;import java.util.HashMap; import java.util.Map; import java.util.Set;public class MapDome {public static void main(String[] args) {HashMap<String , String> map new HashMap<>();//添加后者修改-…

H264視頻編碼中Annex B 格式介紹

Annex B 格式是 H.264 (也稱為 AVC) 視頻編碼標準中的一種數據表示格式&#xff0c;用于將視頻數據從編碼器傳輸到解碼器。它主要用于流媒體傳輸和文件存儲。 文章目錄 Annex B 格式的定義Annex B 格式的主要特點Annex B 與其他格式的對比Annex B 格式示例將 H.264 數據從 MP4…

查詢(q_proj)、鍵(k_proj)和值(v_proj)投影具體含義

查詢(q_proj)、鍵(k_proj)和值(v_proj)投影&#xff0c;這些投影是自注意力機制的核心組件&#xff0c;特別是在Transformer架構中。 讓我們通過一個簡化的例子來說明&#xff1a; import numpy as np# 假設輸入維度是4&#xff0c;注意力頭數是2 input_dim 4 num_heads 2 …

每天一道Java面試題系列之--Spring如何解決循環依賴問題

面試題&#xff1a;Spring如何解決循環依賴問題&#xff1f; 問題背景&#xff1a; 在Spring框架中&#xff0c;循環依賴通常發生在單例&#xff08;Singleton&#xff09;作用域的bean之間。當兩個或多個bean在它們的構造函數中相互引用時&#xff0c;Spring容器在創建這些b…

電腦32位和62位是什么意思

在現代計算機世界中&#xff0c;32位和64位是兩個常見的術語&#xff0c;但許多用戶可能不太清楚它們的確切含義以及它們之間的區別。本文將詳細介紹32位和64位計算機的基本概念、如何查看您的計算機是32位還是64位&#xff0c;以及它們對用戶的實際影響。 32位與64位的基本概…

算法之工程化內容(1)—— Linux常用命令

目錄 1. cd 命令 2. pwd 查看當前工作目錄路徑 3. SSH遠程登錄 4. ln -s 軟鏈相關 5. mkdir 新建空目錄 6. cp 復制 7. chown 權限改寫 8. 進程相關&#xff08;nohup/ ps/ kill&#xff09; 9. tar -czvf/ tar -xzvf&#xff0c;zip/ unzip解壓縮文件 10. df/ du/ free 11. hi…