kylin如何支持flink_大数据集群运维(28) Kylin 配置使用 flink 构建 Cube
用 Flink 構(gòu)建 Cube
Kylin v3.1 引入了 Flink cube engine,在 build cube 步驟中使用 Apache Flink 代替 MapReduce;您可以查看?KYLIN-3758?了解具體信息。當(dāng)前的文檔使用樣例 cube 對如何嘗試 new engine 進(jìn)行了演示。
準(zhǔn)備階段
您需要一個安裝了 Kylin v3.1.0 及以上版本的 Hadoop 環(huán)境。本文檔中使用的Hadoop環(huán)境為Cloudera CDH 5.7,其中 Hadoop 組件和 Hive/HBase 已經(jīng)啟動了。
安裝 Kylin v3.1.0 及以上版本
從 Kylin 的下載頁面下載適用于 CDH5.7+ 的 Kylin v3.1.0,然后在?/usr/local/?文件夾中解壓 tar 包:
wget http://www-us.apache.org/dist/kylin/apache-kylin-3.1.0/apache-kylin-3.1.0-bin-cdh57.tar.gz -P /tmp
tar -zxvf /tmp/apache-kylin-3.1.0-bin-cdh57.tar.gz -C /usr/local/
export KYLIN_HOME=/usr/local/apache-kylin-3.1.0-bin-cdh57
準(zhǔn)備 “kylin.env.hadoop-conf-dir”
為使 Flink 運行在 Yarn 上,需指定?HADOOP_CONF_DIR?環(huán)境變量,其是一個包含 Hadoop(客戶端) 配置文件的目錄,通常是?/etc/hadoop/conf。
通常 Kylin 會在啟動時從 Java classpath 上檢測 Hadoop 配置目錄,并使用它來啟動 Flink。 如果您的環(huán)境中未能正確發(fā)現(xiàn)此目錄,那么可以顯式地指定此目錄:在?kylin.properties?中設(shè)置屬性 “kylin.env.hadoop-conf-dir” 好讓 Kylin 知道這個目錄:
kylin.env.hadoop-conf-dir=/etc/hadoop/conf
檢查 FLink 配置
配置FLINK_HOME指向你的flink安裝目錄:
$xslt export FLINK_HOME=/path/to/flink
或者使用kylin提供的腳本下載:
$xslt $KYLIN_HOME/bin/download-flink.sh
所有使用?“kylin.engine.flink-conf.”?作為前綴的 Flink 配置屬性都能在 $KYLIN_HOME/conf/kylin.properties 中進(jìn)行管理。這些屬性當(dāng)運行提交Flink任務(wù)時會被提取并應(yīng)用。
運行 Flink cubing 前,建議查看一下這些配置并根據(jù)您集群的情況進(jìn)行自定義。下面是建議配置:
### Flink conf (default is in $FLINK_HOME/conf/flink-conf.yaml)
kylin.engine.flink-conf.jobmanager.heap.size=2G
kylin.engine.flink-conf.taskmanager.heap.size=4G
kylin.engine.flink-conf.taskmanager.numberOfTaskSlots=1
kylin.engine.flink-conf.taskmanager.memory.preallocate=false
kylin.engine.flink-conf.job.parallelism=1
kylin.engine.flink-conf.program.enableObjectReuse=false
kylin.engine.flink-conf.yarn.queue=
kylin.engine.flink-conf.yarn.nodelabel=
所有 “kylin.engine.flink-conf.*” 參數(shù)都可以在 Cube 或 Project 級別進(jìn)行重寫,這為用戶提供了靈活性。
創(chuàng)建和修改樣例 cube
運行 sample.sh 創(chuàng)建樣例 cube,然后啟動 Kylin 服務(wù)器:
$KYLIN_HOME/bin/sample.sh
$KYLIN_HOME/bin/kylin.sh start
Kylin 啟動后,訪問 Kylin 網(wǎng)站,在 “Advanced Setting” 頁,編輯名為 “kylin_sales” 的 cube,將 “Cube Engine” 由 “MapReduce” 換成 “Flink”:
點擊”Next” and “Save” 保存cube.
用 FLink 構(gòu)建 Cube
默認(rèn)情況下,只有第7步的cube by layer使用Flink進(jìn)行構(gòu)建。
點擊 “Build”,選擇當(dāng)前日期為 end date。Kylin 會在 “Monitor” 頁生成一個構(gòu)建 job,第 7 步是 Flink cubing。Job engine 開始按照順序執(zhí)行每一步。
當(dāng) Kylin 執(zhí)行這一步時,您可以監(jiān)視 Yarn 資源管理器里的狀態(tài).
所有步驟成功執(zhí)行后,Cube 的狀態(tài)變?yōu)?“Ready” 且可以進(jìn)行查詢。
可選功能
現(xiàn)在構(gòu)建步驟中的’extract fact table distinct value’ 和 ‘Convert Cuboid Data to HFile’ 兩個步驟也可以使用Flink進(jìn)行構(gòu)建。相關(guān)的配置如下:
kylin.engine.flink-fact-distinct=true
kylin.engine.flink-cube-hfile=true
疑難解答
當(dāng)出現(xiàn) error,您可以首先查看 “l(fā)ogs/kylin.log”. 其中包含 Kylin 執(zhí)行的所有 Flink 命令,例如:
2020-06-16 15:48:05,752 INFO [Scheduler 2113190395 Job 478f9f70-8444-6831-6817-22869f0ead2a-308] flink.FlinkExecutable:225 : cmd: export HADOOP_CONF_DIR=/etc/hadoop/conf && export HADOOP_CLASSPATH=/etc/hadoop && /root/apache-kylin-3.1.0-SNAPSHOT-bin-master/flink/bin/flink run -m yarn-cluster -ytm 4G -yjm 2G -yD taskmanager.memory.preallocate false -ys 1 -c org.apache.kylin.common.util.FlinkEntry -p 1 /root/apache-kylin-3.1.0-SNAPSHOT-bin/lib/kylin-job-3.1.0-SNAPSHOT.jar -className org.apache.kylin.engine.flink.FlinkCubingByLayer -hiveTable default.kylin_intermediate_kylin_sales_cube_flink_75ffb8ff_b27c_c86b_70f2_832a4f18f5cf -output hdfs://cdh-master:8020/kylin/yaqian/kylin_zyq/kylin-478f9f70-8444-6831-6817-22869f0ead2a/kylin_sales_cube_flink/cuboid/ -input hdfs://cdh-master:8020/kylin/yaqian/kylin_zyq/kylin-478f9f70-8444-6831-6817-22869f0ead2a/kylin_intermediate_kylin_sales_cube_flink_75ffb8ff_b27c_c86b_70f2_832a4f18f5cf -enableObjectReuse false -segmentId 75ffb8ff-b27c-c86b-70f2-832a4f18f5cf -metaUrl kylin_zyq@hdfs,path=hdfs://cdh-master:8020/kylin/yaqian/kylin_zyq/kylin-478f9f70-8444-6831-6817-22869f0ead2a/kylin_sales_cube_flink/metadata -cubename kylin_sales_cube_flink
您可以復(fù)制 cmd 以便在 shell 中手動執(zhí)行,然后快速進(jìn)行參數(shù)調(diào)整;執(zhí)行期間,您可以訪問 Yarn 資源管理器查看更多信息。如果 job 已經(jīng)完成了,您可以檢查flink的日志文件。
總結(jié)
以上是生活随笔為你收集整理的kylin如何支持flink_大数据集群运维(28) Kylin 配置使用 flink 构建 Cube的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: larvare数据库引入php_PHP全
- 下一篇: 压力管道流量计算公式_给水管管径及流量计