TOP

Flume抽取Oracle中的數據到Kafka
2019-02-02 02:10:47 】 瀏覽:964
Tags:

版權聲明:本文為博主原創文章优乐棋牌app下载,未經博主允許不得轉載。 https://blog.csdn.net/gdkyxy2013/article/details/86646781

1.1 Flume的安裝

1)下載Flume

從Flume官網(http://flume.apache.org/download.html)下載對應版本的Flume,這里使用的是Flume的版本是1.7。

2)解壓Flume

新建flume目錄,將下載的Flume上傳到該目錄下,執行如下命令進行解壓:

tar -zxvf ./apache-flume-1.7.0-bin.tar.gz -C ./

3)解壓后進入Flume的lib目錄下,將Oracle數據庫的驅動包拷貝到此目錄下。

1.2Flume對接Kafka

Flume的使用非常的簡單,只需要在編輯一個配置文件即可。配置文件可以自定義,這里命名為flume-topic-oracle.conf。

  • 聲明source、channel、sink并聲明source類型。

  • 聲明數據庫連接、用戶名、密碼等。

  • 設置自動提交、Oracle方言、數據庫驅動等。

  • 設置查詢間隔、Flume狀態文件位置及名稱等。

其中,Flume狀態文件會在啟動Flume的時候自動創建,里面保存了查詢語句、最后一次查詢的最大索引號以及數據庫鏈接等信息,如下圖所示:

Flume的狀態文件在每一次啟動Flume的時候都會自動創建一個,理論上不需要刪除,但經過測試,在不刪除的情況下,導入到Inceptor的數據有時會存在重復的情況。所以建議在每次停止Flume服務之后將Flume狀態文件刪除。

  • 設置查詢的SQL語句以及從哪條數據開始查詢。

  • 設置分批參數以及c3p0連接池參數。

  • 設置channel為內存模式。

  • 設置sink的類型

sink可以設置為輸出到本地、Kafka或者HDFS等。此處,設置輸出到Kafka,方便后續Flume、Kafka、Slipstream的整合。

  • 連接source、channel、sink

1.3 測試Flume+Kafka

Flume相應的配置文件寫好之后,可以直接在Flume文件夾下執行如下命令啟動Flume進行測試:

bin/flume-ng agent --name a1 --conf ./conf --conf-file ./conf/flume-topic-oracle.conf -Dflume.root.logger=INFO,console -Djava.security.auth.login.config=/opt/flume/apache-flume-1.7.0-bin/conf/jaas.conf

但是,通常情況下优乐棋牌app下载,配置文件寫好之后,在不變動的情況下,一般不會停止Flume服務,上述命令,會進去一個Flume運行的前臺界面,這是使用前臺轉后臺的方法啟動Flume优乐棋牌app下载,如下:

nohup bin/flume-ng agent --name a1 --conf ./conf --conf-file ./conf/flume-topic-oracle.conf -Dflume.root.logger=INFO,console -Djava.security.auth.login.config=/opt/flume/apache-flume-1.7.0-bin/conf/jaas.conf &

其中,--conf指向參數存在的目錄,--conf-file指向2.2中配置的參數。

啟動Flume之后,向Oracle對應表中插入一條數據,如下圖所示:

在集群中,啟動Kafka消費者,可以發現,消費者中可以接收到剛剛插入的數據。

至此,Flume對接Kafka成功。

請關注公眾號獲取更多資料



】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇數據采集引擎Sqoop和Flume 下一篇Windows64環境下   使用Flum..