国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

用海豚調(diào)度器定時(shí)調(diào)度從Kafka到HDFS的kettle任務(wù)腳本

這篇具有很好參考價(jià)值的文章主要介紹了用海豚調(diào)度器定時(shí)調(diào)度從Kafka到HDFS的kettle任務(wù)腳本。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在實(shí)際項(xiàng)目中,從Kafka到HDFS的數(shù)據(jù)是每天自動(dòng)生成一個(gè)文件,按日期區(qū)分。而且Kafka在不斷生產(chǎn)數(shù)據(jù),因此看看kettle是不是需要時(shí)刻運(yùn)行?能不能按照每日自動(dòng)生成數(shù)據(jù)文件?

為了測試實(shí)際項(xiàng)目中的海豚定時(shí)調(diào)度從Kafka到HDFS的Kettle任務(wù)情況,特地提前跑一下海豚定時(shí)調(diào)度這個(gè)任務(wù),看看到底什么情況,也給大家提供一個(gè)參考!

海豚調(diào)度任務(wù)配置

(一)SHELL腳本配置

!/bin/bash

source /etc/profile

/opt/install/kettle9.2/data-integration/pan.sh -rep=hurys_linux_kettle_repository -user=admin -pass=admin -dir=/kafka_to_hdfs/ -trans=04_Kafka_to_HDFS_turnratio level=Basic >>/home/log/kettle/04_Kafka_to_HDFS_turnratio_`date +%Y%m%d`.log

(二)定時(shí)任務(wù)設(shè)置

定時(shí)任務(wù)設(shè)置為每天的零點(diǎn),零點(diǎn)一到開始執(zhí)行任務(wù)

(三)最后工作流情況

啟動(dòng)工作流

工作流啟動(dòng),成功!工作流一直在跑

相應(yīng)的任務(wù)實(shí)例也在跑!

啟動(dòng)工作流每天HDFS情況

(一)第一天為2023/8/30日

由于第一天開始執(zhí)行任務(wù),因此自動(dòng)生成2023/08/30的HDFS文件

(二)第二天為2023/8/31日

2023/08/31早上更新

(1)04_Kafka_to_HDFS_turnratio任務(wù)

第二天的海豚任務(wù)自動(dòng)調(diào)度,自動(dòng)生成2023/08/31的HDFS文件

但問題是,除了再跑31日的任務(wù)外,30日的任務(wù)還在跑,可能是定時(shí)配置有問題,需要優(yōu)化

而且這樣搞容易把kettle搞出問題!

2023/08/31晚上更新

(1)04_Kafka_to_HDFS_turnratio任務(wù)

不設(shè)置定時(shí)任務(wù),kettle任務(wù)一直運(yùn)行,已經(jīng)生成8月31日的文件,觀察明天會(huì)不會(huì)自動(dòng)生成9月1日的數(shù)據(jù)文件

已生成的8月31日文件

(2)01_Kafka_to_HDFS_queue任務(wù)

不設(shè)置定時(shí)任務(wù),kettle任務(wù)一直運(yùn)行,已經(jīng)生成8月31日的文件,觀察明天會(huì)不會(huì)自動(dòng)生成9月1日的數(shù)據(jù)文件

已生成的8月31日文件

如果明早不能自動(dòng)生成9月1日的文件,那就要設(shè)置海豚定時(shí)為每天的執(zhí)行時(shí)間為0時(shí)0分0秒到23時(shí)59分59秒? 或者在腳本里設(shè)置時(shí)間? 或者在kettle里設(shè)置時(shí)間?我們試試看!

(三)第三天為2023/9/1日

2023/09/01早上更新

昨晚海豚調(diào)度的兩個(gè)kettle任務(wù)以失敗告終,沒有自動(dòng)生成9月1日的數(shù)據(jù)文件

今日再嘗試其他的方式

2023/09/01下午更新

下午嘗試用Crontab定時(shí)任務(wù)調(diào)度Kettle腳本

\[root@hurys22 kettle\_job\_sh\]# crontab -l  
SHELL=/bin/bash

\# ?*/1 * * * * /bin/sh ?/opt/install/kettle9.2/kettle\_job\_sh/test2.sh

06-07 17 * * * /bin/sh ?/opt/install/kettle9.2/kettle\_job\_sh/01\_Kafka\_to\_HDFS\_queue.sh  

設(shè)置每天的17點(diǎn)的6分到7分中執(zhí)行

但是日志文件顯示kettle任務(wù)卻一直再跑

當(dāng)然,HDFS中確實(shí)生成了9月1日今日的文件,而且任務(wù)運(yùn)行時(shí)間是我設(shè)置的17點(diǎn)7分

這個(gè)方法不行,后面再試試其他方法?怎么就不會(huì)設(shè)置任務(wù)停止呢

(四)第四天為2023/9/4日

2023/09/04早上更新

由于Kafka里有時(shí)間戳字段,因此在kettle任務(wù)里獲取當(dāng)前系統(tǒng)時(shí)間戳的日期字段、然后文件名直接從這個(gè)日期字段獲取

(1)當(dāng)前系統(tǒng)時(shí)間戳的日期字段

(2)HDFS輸出中文件名直接獲取這個(gè)日期字段,這樣kettle任務(wù)運(yùn)行時(shí),是不是能自動(dòng)生成每天的數(shù)據(jù)文件?

(3)測試結(jié)果,任務(wù)可以跑通,但是HDFS生成的文件不知卻在哪?

終于查到了,原來這樣導(dǎo)出的文件不在HDFS,而在kettle的安裝文件里,即在本地

而且這么直接以日期命名也有問題,因?yàn)橛卸鄠€(gè)Kafka,不可能僅僅以日期命名區(qū)分

2023/09/04晚上更新

因?yàn)樯衔绲乃悸酚袉栴},導(dǎo)出的文件沒有在HDFS中,反而在本地,于是下午又換了種思路。

還是從系統(tǒng)獲得時(shí)間day,但是文件路徑直接寫成HDFS的文件路徑+day,這樣的url字段才是HDFS輸出控件中的文件名字段

(1)用海豚調(diào)度對比,定時(shí)調(diào)度01_Kafka_to_HDFS_queue任務(wù)

目前已生成生成9月4日的文件

用海豚調(diào)度器定時(shí)調(diào)度從Kafka到HDFS的kettle任務(wù)腳本

(2)用海豚調(diào)度對比,不加定時(shí)調(diào)度04_Kafka_to_HDFS_turnratio任務(wù)

目前已生成生成9月4日的文件

(五)第五天為2023/9/5日

2023/09/05早上更新

雖然自動(dòng)生成了9月5日的文件,但是由于數(shù)據(jù)量過大、加上把hadoop.tmp.dir放在了/opt/soft/hadoop313/hadooptmp,導(dǎo)致opt文件夾磁盤溢出,使得namenode處于安全模式。

花了一上午時(shí)間終于解決NameNode的安全模式問題,發(fā)現(xiàn)應(yīng)該把HADOOP 運(yùn)行時(shí)存儲(chǔ)路徑放在home目錄下,因?yàn)閔ome的磁盤空間最大

2023/09/05晚上更新

驚喜?。。?/p>

可能已經(jīng)找到了解決方法,直接對Kafka里的時(shí)間戳字段進(jìn)行截取,然后拼接文件路徑,從而形成一個(gè)可以根據(jù)時(shí)間戳字段的日期變動(dòng)的HDFS文件,即每天自動(dòng)生成一個(gè)數(shù)據(jù)文件

(1)通過Java自定義文件名? 字段url(HDFS路徑+截取的可變的時(shí)間戳字段)

var url="hdfs://root:***@hurys22:8020/rtp/queue\_dynamic/queue\_dynamic"+substr(create_time,0,10)

(2)在HDFS輸出控件的文件就選擇url字段

(3)結(jié)果

已經(jīng)生成了9月5日的數(shù)據(jù)文件,不需要海豚定時(shí)調(diào)度,只需要海豚一直跑kettle任務(wù)即可!

雖然還是生成了9月5日的數(shù)據(jù)文件,不過我今天下午按照生成每小時(shí)維度的數(shù)據(jù)文件測試過

下午16時(shí)運(yùn)行任務(wù),生成了16時(shí)的數(shù)據(jù)文件,然后到17時(shí),又生成了17時(shí)的數(shù)據(jù)文件,這兩個(gè)數(shù)據(jù)文件都在跑,而且HDFS里大小顯示都為0。

不過區(qū)別是,16時(shí)的數(shù)據(jù)是完整的,17時(shí)的數(shù)據(jù)文件是不斷增加的。因?yàn)镵afka是實(shí)時(shí)的,17時(shí)只會(huì)發(fā)送17時(shí)的數(shù)據(jù),不會(huì)發(fā)送16時(shí)數(shù)據(jù)。下面是16時(shí)的文件數(shù)據(jù)

16時(shí)的數(shù)據(jù)文件是有固定的數(shù)據(jù),17點(diǎn)后就沒有再寫入數(shù)據(jù)。之所以看不到這個(gè)這個(gè)block的大小,是因?yàn)閷懭霐?shù)據(jù)的規(guī)模太小了,等到這個(gè)寫入的數(shù)據(jù)規(guī)模達(dá)到128MB,即一個(gè)塊大小后才會(huì)看到這個(gè)block的數(shù)據(jù)。

所以只要一直運(yùn)行這個(gè)kettle任務(wù)、不斷寫入數(shù)據(jù)即可,只要寫入的數(shù)據(jù)規(guī)模達(dá)到128MB,第一個(gè)block就會(huì)被看到。

已用海豚調(diào)度一個(gè)kettle任務(wù),沒有定時(shí),就一直跑。目前HDFS已生成了9月5日的數(shù)據(jù)文件,明天就可以觀察幾點(diǎn)

1、有沒有自動(dòng)生成明天9月6日的數(shù)據(jù)文件

2、今天9月5日的數(shù)據(jù)文件里面的數(shù)據(jù)是不是固定的、完整的,晚上12點(diǎn)之后不再寫入

3、等到寫入數(shù)據(jù)規(guī)模達(dá)到128MB看第一個(gè)block的數(shù)據(jù)大小可不可看到?

明天9月6日除了看這幾點(diǎn)外,還用flume去做Kafka到HDFS的采集工作,以防萬一,這兩天被這個(gè)問題搞得頭疼,kettle真是一個(gè)易入門難精通的工具!

(六)第六天為2023/9/6日

2023/09/06早上更新

由于昨晚Kafka突然有問題,導(dǎo)致kettle沒能導(dǎo)入數(shù)據(jù)到HDFS的文件,今早已重新啟動(dòng)Kafka服務(wù)

(1)目前已重新啟動(dòng)海豚調(diào)度的kettle服務(wù)

(2)目前已自動(dòng)生成9月6日的數(shù)據(jù)文件

(3)只能明天9月7日看一下昨晚的3個(gè)問題

1、有沒有自動(dòng)生成明天9月7日的數(shù)據(jù)文件

2、今天9月6日的數(shù)據(jù)文件里面的數(shù)據(jù)是不是固定的、完整的,晚上12點(diǎn)之后不再寫入

3、等到寫入數(shù)據(jù)規(guī)模達(dá)到128MB看第一個(gè)block的數(shù)據(jù)大小可不可看到?

2023/09/06下午更新

(1)為了以防萬一,加了個(gè)對比測試??纯慈绻惶斓臄?shù)據(jù)放不滿一個(gè)block或者部分多余數(shù)據(jù)放不滿一個(gè)block,可不可以正常顯示?即使它總的寫入數(shù)據(jù)量大于128MB

不僅多加了幾臺模擬設(shè)備推送數(shù)據(jù),還對動(dòng)態(tài)排隊(duì)數(shù)據(jù)和靜態(tài)排隊(duì)數(shù)據(jù)兩個(gè)kettle任務(wù)進(jìn)行對比

(2)動(dòng)態(tài)排隊(duì)數(shù)據(jù)有自動(dòng)日期分區(qū),可以自動(dòng)分成不同日期的文件,就是昨晚跑的kettle任務(wù)

(3)而靜態(tài)排隊(duì)數(shù)據(jù)沒有日期分區(qū),就往第一個(gè)日期文件里寫入數(shù)據(jù)

目前靜態(tài)排隊(duì)數(shù)據(jù)也已經(jīng)生成了9月6日的數(shù)據(jù)文件,后面會(huì)一直寫入這個(gè)文件

明早對比這兩個(gè)kettle任務(wù)的數(shù)據(jù)文件看看情況

(七)第七天為2023/9/7日

2023/09/07早上更新

A、HDFS文件有日期分區(qū)的動(dòng)態(tài)排隊(duì)數(shù)據(jù)kettle任務(wù)狀況

(1)首先是自動(dòng)生成9月7日的文件

(2)然后是6日的數(shù)據(jù)文件固定,沒有7日的數(shù)據(jù)

(3)6日的數(shù)據(jù)這一塊由于只有62.8MB,因此HDFS的塊沒有顯示大小

B、HDFS文件沒有日期分區(qū)的靜態(tài)排隊(duì)數(shù)據(jù)kettle任務(wù)狀況

由于寫入的HDFS文件沒有日期分區(qū),而且數(shù)據(jù)量寫入超過了128MB,所以這一塊的數(shù)據(jù)雖然在不斷寫入,但是這一塊的文件顯示大小為128MB

疑問:現(xiàn)在任務(wù)依然運(yùn)行,我想看看這個(gè)塊已經(jīng)有128MB后,會(huì)不會(huì)在其他block寫入數(shù)據(jù)?

2023/09/07晚上更新

A、HDFS文件有日期分區(qū)的動(dòng)態(tài)排隊(duì)數(shù)據(jù)kettle任務(wù)狀況

(1)今日9月7日寫入的數(shù)據(jù)量超過128MB,因此HDFS已顯示文件大小

總結(jié)一下:用kettle采集Kafka數(shù)據(jù)寫入HDFS這條路是可行的,只要設(shè)置變動(dòng)的文件名、生成每日的數(shù)據(jù)文件,然后一直跑任務(wù)就好?。?!

本文由 白鯨開源 提供發(fā)布支持!文章來源地址http://www.zghlxwxcb.cn/news/detail-852391.html

到了這里,關(guān)于用海豚調(diào)度器定時(shí)調(diào)度從Kafka到HDFS的kettle任務(wù)腳本的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 海豚調(diào)度任務(wù)類型Apache SeaTunnel部署指南

    Apache DolphinScheduler已支持Apache SeaTunnel任務(wù)類型,本文介紹了SeaTunnel任務(wù)類型如何創(chuàng)建,任務(wù)參數(shù),以及任務(wù)樣例。 SeaTunnel 任務(wù)類型,用于創(chuàng)建并執(zhí)行 SeaTunnel 類型任務(wù)。worker 執(zhí)行該任務(wù)的時(shí)候,會(huì)通過 start-seatunnel-spark.sh 、 start-seatunnel-flink.sh 和 seatunnel.sh 命令解析 config 文件

    2024年04月08日
    瀏覽(49)
  • 海豚2來了丨DolphinDB 集成 DolphinScheduler,任務(wù)調(diào)度更輕松

    海豚2來了丨DolphinDB 集成 DolphinScheduler,任務(wù)調(diào)度更輕松

    DolphinDB 是一款高性能時(shí)序數(shù)據(jù)庫。DolphinDB 集成了功能強(qiáng)大的編程語言和高容量高速度的批流一體數(shù)據(jù)分析系統(tǒng),為海量數(shù)據(jù)(特別是時(shí)間序列數(shù)據(jù))的快速存儲(chǔ)、檢索、計(jì)算及分析提供一站式解決方案。在實(shí)際生產(chǎn)環(huán)境中,經(jīng)常存在 數(shù)據(jù)導(dǎo)入、轉(zhuǎn)換、查詢計(jì)算,更新等一系

    2024年02月03日
    瀏覽(24)
  • Linux下部署kettle并配置定時(shí)調(diào)度

    Linux下部署kettle并配置定時(shí)調(diào)度

    1、安裝JAVA (1) 查看原系統(tǒng)版本,從圖中可以看出JDK版本為openJDK需要卸載,如果沒有安裝跳過即可 (2) 查看安裝信息 (3) 卸載OPENJDK (4) 下載對應(yīng)的JDK版本 這里我使用的kettle是9.1的,jdk-8u371-linux-x64.tar測試可用 (5) 配置環(huán)境變量 添加如下行: 使環(huán)境變量生效 (6) 驗(yàn)證JDK是否安裝成功

    2024年02月07日
    瀏覽(20)
  • Kettle用法之Windows定時(shí)任務(wù)

    Kettle用法之Windows定時(shí)任務(wù)

    1 概述 前文提到了kettle的定時(shí)任務(wù)計(jì)劃,但這個(gè)任務(wù)需要開啟kettle,本文將利用windows的任務(wù)計(jì)劃實(shí)現(xiàn)kettle的定時(shí)任務(wù)。 2 實(shí)現(xiàn)方法 需要編寫bat文件,然后windows的任務(wù)計(jì)劃調(diào)用執(zhí)行。 3 操作步驟 3.1 第1步 啟動(dòng)spoon,新建一個(gè)作業(yè)(job),拖入1個(gè)Start,1個(gè)轉(zhuǎn)換,并按住shift鍵,畫

    2024年02月13日
    瀏覽(24)
  • kettle工具下載、安裝、數(shù)據(jù)遷移、定時(shí)任務(wù)詳解

    kettle工具下載、安裝、數(shù)據(jù)遷移、定時(shí)任務(wù)詳解

    篇幅有點(diǎn)長,將這五個(gè)內(nèi)容放在了一篇文章里,其中最主要的是數(shù)據(jù)遷移和定時(shí)任務(wù) 目錄 目錄 一、簡單介紹 二、下載 三、安裝 四、數(shù)據(jù)遷移:包括單表整體數(shù)據(jù)遷移,單表存在字段不同情況的數(shù)據(jù)遷移,簡單批量數(shù)據(jù)遷移 五、定時(shí)任務(wù) kettle 是一個(gè)ETL工具,ETL(Extract-T

    2024年02月06日
    瀏覽(21)
  • 一百零八、Kettle采集Kafka數(shù)據(jù)到HDFS(踩坑,親測有效)

    一百零八、Kettle采集Kafka數(shù)據(jù)到HDFS(踩坑,親測有效)

    Kafka到HDFS,除了用Kafka API和flume之外,還可以用kettle,最大優(yōu)點(diǎn)是不用寫代碼! 版本:Kettle版本:8.2、Hadoop版本:3.1.3 前提:? ? 詳情請看鄙人的一百零一、Kettle8.2.0連接Hive3.1.2(踩坑,親測有效) http://t.csdn.cn/mWfOC http://t.csdn.cn/mWfOC 前提一、Hadoop系列配置文件已復(fù)制到kettle路徑

    2024年02月15日
    瀏覽(15)
  • kettle—bat文件Windows任務(wù)計(jì)劃程序自動(dòng)運(yùn)行定時(shí)設(shè)置

    kettle—bat文件Windows任務(wù)計(jì)劃程序自動(dòng)運(yùn)行定時(shí)設(shè)置

    1.用kettle新建一個(gè)作業(yè) 2.把作業(yè)保存到你電腦上的任意文件夾內(nèi) 3.新建一個(gè)bat文件(新建一個(gè)文本文檔,后綴改為bat,右鍵編輯打開) 4.只需要改這三個(gè)地方,別的地方不用動(dòng) 1.這個(gè)是你電腦kettle的安裝路徑 2.這個(gè)是你kettle作業(yè)的路徑 3.這個(gè)是你kettle日志的路徑(自己新建一個(gè)

    2024年02月01日
    瀏覽(27)
  • Oracle 定時(shí)任務(wù)job實(shí)際應(yīng)用

    Oracle 定時(shí)任務(wù)job實(shí)際應(yīng)用

    目錄 一、Oracle定時(shí)任務(wù)簡介 二、dbms_job涉及到的知識點(diǎn) 三、初始化相關(guān)參數(shù)job_queue_processes 四、實(shí)際創(chuàng)建一個(gè)定時(shí)任務(wù)(一分鐘執(zhí)行一次),實(shí)現(xiàn)定時(shí)一分鐘往表中插入數(shù)據(jù) 4.1 創(chuàng)建需要定時(shí)插入數(shù)據(jù)的目標(biāo)表 4.2 創(chuàng)建定時(shí)執(zhí)行的存儲(chǔ)過程 4.3 創(chuàng)建定時(shí)一分鐘定時(shí)任務(wù)job 4.5 可

    2024年02月03日
    瀏覽(17)
  • Java定時(shí)任務(wù)、自動(dòng)化任務(wù)調(diào)度

    Java提供了多種方式來實(shí)現(xiàn)定時(shí)任務(wù),使得開發(fā)人員能夠在指定的時(shí)間間隔或固定時(shí)間點(diǎn)執(zhí)行特定的任務(wù)。本文將介紹Java中實(shí)現(xiàn)定時(shí)任務(wù)的幾種常用方法,并探討它們的優(yōu)勢和適用場景。 Java中的Timer類是最早引入的定時(shí)任務(wù)工具,它可以用于執(zhí)行一次性或重復(fù)性的定時(shí)任務(wù)。

    2024年02月16日
    瀏覽(37)
  • 分布式任務(wù)調(diào)度,定時(shí)任務(wù)的處理方案

    分布式任務(wù)調(diào)度,定時(shí)任務(wù)的處理方案

    適用場景: Spring 定時(shí)任務(wù)是 Spring 框架提供的一種輕量級的任務(wù)調(diào)度方案,它的特點(diǎn)是簡單易用、輕量級。Spring 定時(shí)任務(wù)的執(zhí)行是在 單個(gè)節(jié)點(diǎn) 上進(jìn)行的,如果需要分布式任務(wù)調(diào)度,需要自己實(shí)現(xiàn)相應(yīng)的解決方案。 1.導(dǎo)入依賴版本自己控制 2.啟動(dòng)類加上@EnableScheduling 3.編寫業(yè)

    2023年04月14日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包