1. 程式人生 > >flume 自定義kafka sink執行失敗:找不到Callback

flume 自定義kafka sink執行失敗:找不到Callback

官網和github上都提供了原始碼,藉助提供的kafkasink程式碼,在其中增加分割槽邏輯,實現flume讀取日誌並按特定規則輸入到kafka的不同分割槽,maven匯出jar包
執行時報如下錯誤
image.png
官網的程式碼中的確引入了Callback
由於我使用的是flume1.6版本,而官網已經更新至1.7版本,推測是flume版本的問題(flume1.6支援kafka_2.10-0.8.1.1版本,而flume1.7支援kafka_2.10-0.9.0.1版本)
為此特意查看了flume中關於kafka的jar包,發現1.7版本比1.6版本多kafka-clients-0.9.0.1這個jar包,在根據錯誤提示的路徑中找到了Callback類(org/apache/kafka/clients/producer/Callback),將該jar包拖入flume的lib目錄下,問題解決。
—————分割線——————
過了兩個月又看到這篇,之後遇見這種問題似乎變得很好解決,
如果使用maven打包時,將依賴一起打包應該不會出現這種問題。

相關推薦

flume 定義kafka sink執行失敗Callback

官網和github上都提供了原始碼,藉助提供的kafkasink程式碼,在其中增加分割槽邏輯,實現flume讀取日誌並按特定規則輸入到kafka的不同分割槽,maven匯出jar包 執行時報如下錯誤

Cocos2d-x 專案新建定義類後編譯錯誤定義標頭檔案錯誤解決方案

現在Cocos2dx新建工程需要執行Python指令碼來建立,不再提供Cocos2dx模板。一般我們使用VS2010編譯完Cocos2dx後,可以開始使用Cocos2dx目錄下\tools\project-creator\create_project.py來建立工程。 命

SpringBoot整合Mybatis 編譯失敗到符號 程式包存在

問題描述:jpa不好用,轉用mybatis,配置多資料來源  但是配置後無法編譯mvn clean install  dao層這些報錯,找不到entity的包    問題解決:罪魁禍首:熱部署的部分 註

Java 終端執行錯誤到或無法載入主類

Java 在 mac 上用eclipse執行成功之後,我仍然想試用一下終端的執行,然而java命令成功,而javac命令總是出現錯誤:找不到或無法載入主類問題。 問題的解決 我的HelloWorld.java完整路徑名為/Users/Yaqi/Docum

Flume定義Source、Sink和Interceptor(簡單功能實現)

next generated lose 指定 char atomic -i 根據 進行   1.Event    event是flume傳輸的最小對象,從source獲取數據後會先封裝成event,然後將event發送到channel,sink從channel拿event消

Flume定義Sink到MySQL資料庫

package com.yimen.data.flume.sink; import com.alibaba.fastjson.JSON; import com.google.common.base.Preconditions; import com.google.common.base

解決方法multi_role工程加定義LCD後編譯失敗

一、背景 使用 simplelink_cc2640r2_sdk_1_40_00_45 的 multi_role 工程,加入自定義LCD檔案(如GUA_LCD)後編譯失敗,出現 error #10099-D: program will not fit into available memo

flume定義interceptor和hbase sink

      在flume的實際應用中,可能會遇到對日誌進行簡單的過濾和處理。flume在source端有其內建的interceptor類可以對主機、IP、靜態標記做處理,如果想自定義處理邏輯該如何處理?在不規則的日誌資料進入hbase之前想做處理又該如何處理? 1.自定義

flume 定義Sink之kafkaSink

在flume1.5.2中沒有kafkasink,需要自定義KafkaSink 在fluem-1.6.0中提供了kafkasink kafkaSink就是將Channel中的輸出通過sink寫到kafka,所有kafka相當與一個生產者的功能

flume定義sink source

@Overridepublic Status process() throws EventDeliveryException {Status status = null;Channel ch = getChannel();Transaction txn = ch.getTransaction();  //fl

WF4.0以上使用代碼完整定義動態生成執行工作流Xaml文件

load 控制 brush 類型 rpv 返回 cap 並且 sco 給大家分享一下,如何完全使用代碼自定義的創建生成工作流文件(用代碼創建Xaml文件),並且動態加載運行所生成的工作流。 工作流生成後 在Xaml文件裏的主要節點如下: 輸入輸出參數 <x

Struts2配置攔截器定義棧時拋異常Unable to load configuration. - interceptor-ref - file:/D:/tomcat_install/webapps/crm/WEB-INF/classes/struts.xml

註意 其他 默認 才會 eba staf -i sta fault 代碼如下: <interceptors> <!-- 註冊自定義攔截器 --> <interceptor name="LoginInterceptor" class="co

java定義泛型 面試題接收任意數組進行反轉

static class ava div 叠代器 類型 應用 system length 不用泛型只能操作某種類型進行反轉 代碼如下: package com.swift.fanxing; import org.junit.Test; public class Ren

擺脫京城貴婦unittest的騷套路discover,定義用例執行順序。

2.0 sdi def scrip con xxx imp .config mil # 調試了一下午跟路徑拆分邏輯有關的東西,腦闊疼,代碼能力薄弱的一批, 還有前人栽htmltestrunner後入乘涼的感覺不要太爽# 用TestLoader().discover()找到

Flume定義Source

pat ise sts href xtend bstr code exit 轉換 模擬編寫了一個Flume 1.7中TAILDIR的功能實現,通過手動控制文件的讀取位置來達到對文件的讀寫,防止flume掛了之後重復消費的情況。以下是代碼實現,僅做參考,生產上直接用TAILD

Flume 定義開發方案

1:Avro Client MyApp.java import org.apache.flume.Event; import org.apache.flume.EventDeliveryException; import org.apache.flume.

定義web彈窗/層簡易風格的msg與可拖放的dialog

  前言   做過web專案開發的人對layer彈層元件肯定不陌生,作為layUI的一個重要元件,使用簡單、介面引數豐富,功能健壯,深受廣大開發者的喜愛,作為一個熱(經)愛(常)工(劃)作(水),喜歡鑽研探索技術的程式設計師(狗),我們自己來實現一個web彈窗/層,一窺layer的本源(/手動滑稽臉),進步

ROS URDF(一):定義robot model -----解決WARNFixed Frame [base_link] does not exist

1 建立一個package catkin_create_pkg myurdf joint_state_controller robot_state_publisher roscpp std_msgs tf 2 建立urdf資料夾 cd myurdf mkdir urdf

Oracle建立定義函式時出現錯誤PLS-00103及PLS-00382

(作者:陳玓玏) 一、PLS-00103 一般出現這個錯誤,基本上可以確定是你的語法錯誤,或者是有中文的輸入。 比如說: 1、Oracle用elsif而你用的是else if; 2、直接從網頁中把程式碼貼上過來結果程式碼中有中文空格。 這種情況下,解決問題的方法

求助定義WebService的執行異常問題

誰能幫我翻譯一段C++到C#呼叫wtsapi和非託管結構的傳遞和獲取的問題。關於^b*[^b#/*]+.*$正則表示式誰能幫我翻譯一段C++到C#呼叫wtsapi和非託管結構的傳遞和獲取的問題。關於^b*[^b#/*]+.*$正則表示式 DataGridViewTextBox