坑一:pom檔案主要內容:注意裡面 需要 使用 「exclusion」排除相關的依賴
utf-8
1.71.7
1.1.1
0.9.0.0
org.apache.storm
storm-core
$org.slf4j
log4j-over-slf4j
org.slf4j
slf4j-api
org.apache.storm
storm-kafka
$
org.apache.kafka
kafka_2.11
$org.apache.zookeeper
zookeeper
org.slf4j
slf4j-log4j12
commons-io
commons-io
2.4 org.apache.kafka
kafka-clients
$
坑二: input.getbinarybyfield(「bytes」); 裡面一定要寫成bytes,這是上游kafkaspout 傳遞過來,原始碼中也可以看到。
對應位置如下圖
業務**體現:
public void execute(tuple input) catch (exception e)
}坑三:本地測試是,一直接收不到kafkaspout傳送過來的訊息:
1)問題是已經連線上了kafka,也讀到了對應的分割槽
2)推斷可能是上游的資料傳送不過來—》 可能原因shufflegrouping時 的引數傳遞錯誤。
3)最終發現 原來就是spout_id 獲取錯了
應該將下面**中的
string spout_id = kafkaspout.getclass().get******name()
替換成string spout_id = kafkaspout.class.get******name();
即可。// kafka 使用的zk hosts
brokerhosts hosts = new zkhosts("hadoop000:2181");
// 指定的kafak的乙個根目錄,儲存的是kafkaspout讀取資料的位置資訊(offset)
spoutconfig spoutconfig = new spoutconfig(hosts, topicname, "/" + topicname, uuid.randomuuid().tostring());
spoutconfig.startoffsettime = kafka.api.offsetrequest.latesttime(); // 設定從最近的訊息開始消費
kafkaspout kafkaspout = new kafkaspout(spoutconfig);
string spout_id = kafkaspout.getclass().get******name();
builder.setspout(spout_id, kafkaspout);
string bold_id = logprocessbolt.class.get******name();
builder.setbolt(bold_id, new logprocessbolt()).shufflegrouping(spout_id);
localcluster cluster = new localcluster();
cluster.submittopology("stormtokafkatopology", new config(), builder.createtopology());
坑四: storm重複消費kafak資料:
官網解釋如下:
**中配置為如下即可
spoutconfig spoutconfig = new spoutconfig(hosts, topicname, "/" + topicname, uuid.randomuuid().tostring());
spoutconfig.startoffsettime = kafka.api.offsetrequest.latesttime(); // 設定從最近的訊息開始消費
坑五: storm消費資料,ack,fail這些比配,如果出現問題還可以重試
antd Form表單讀取不到input的值
今天上午突然反饋了乙個問題,表單中的乙個輸入框使用者明明輸入了,但是提交到後台之後是沒有資料的。我在本地測試了一下,發現也是同樣的情況。後來仔細看了一下 原來的input的外面包裹了乙個fragment元素,後來我將fragment元素修改為div或者其他標籤,都是可以正常獲取到這個input的值的...
引用標頭檔案卻找不到相對應的類
問題關鍵出現在標頭檔案中,出現了定義衝突 ifndef mainwindow h define mainwindow h endif mainwindow h每個標頭檔案的開始和結束除會引用如下預處理器變數,而且該變數在程式中是唯一的,主要用來避免多重包含,可是如果你的預處理器變數名重複了 就會發生...
PHP 讀取不到Cookies的可能原因分析
現象 服務端無法讀取到之前寫到客戶端的cookies資訊 php把session的id寫到客戶端的cookies中去,結果每次請求的時候,請求頭並沒有把cookies資訊帶上,分析 可能是因為domain的設定可能有問題,檢視之後cookies的domain資訊,除了有網域名稱之外還有埠的資訊,懷疑...