Flume寫入hive報錯flume.SinkRunner: Unable to deliver event. Exception follows has been closed()

門外柳花飛,女神猶未歸。
今年五二零,依舊空落淚。

 2020年5月20日下午兩點,上午請假的女生重新回到了公司。今天,女神穿了一件波西米亞長裙,“足下躡絲履,頭上玳瑁光。腰若流紈素,耳著明月璫。指如削蔥根,口如含朱丹。纖纖作細步,精妙世無雙。

 "微風衝動她的髮梢,就像風的線條。"今天的女神格外的美麗,儘管如此李有爲還是時時刻刻提醒自己,一定要懂得拒絕,不管女神今天使出什麼甜言蜜語、糖衣炮彈,都不能答應她的請求。

 **溫柔鄉,屌絲冢!**認真,你就玩了!

 然而,當女生走到他身邊,聞到她身上那若有如無的香味,再聽到她嬌滴滴如銀鈴般的聲音時,李有爲再一次淪陷了。

 “有爲哥哥,你就幫人家一次嘛!不然人家今天晚上又要加班了!嚶嚶嚶。”

 腦中想着女神那張俏臉,嘴裏吃着女神給的阿爾卑斯棒棒糖,在下的心中就像裹了蜜似的,甜到齁,幸福到缺氧。

 十分鐘解決女神的需求,李有爲走到女神的工位上彙報任務,李有爲看見女神正在微信上和別人聊得熱火朝天,看頭像,李有爲知道對方是她的前前前前前男友,或許今天晚上她們會舊情復燃,或許今天晚上她們會炮火連天,但這一切都與李有爲無關。

快樂是她們的,他李有爲什麼也沒有。

 **所謂:“福不雙至,禍不單行。”**女神那邊和別的男人有約會,自己這邊卻又碰上了另外一個棘手的問題。

 他的埋點收集任務出問題了。

 公司最近在弄埋點收集數據需求,前端傳遞數據,後端接口接受數據push到kafka,flume讀取kafka的數據然後把數據直接寫入到hive中,這個流程他本來已經跑通了,可是在幫女神做完需求後,flume寫入hive的時候卻報錯了。
在這裏插入圖片描述

flume.SinkRunner: Unable to deliver event. Exception follows xxxxxxxx has been closed()

**Sink是flume agent的一部分,它主要負責將flume緩衝區Channel。**由於李有爲剛接手大數據工程師的工作不久,所有面對這個錯誤是,他只能大概猜測一下,這個可能是sink那邊傳遞數據到hive的時候出來問題。本着內事問百度,外事問谷歌的原則,李有爲分別在兩個平臺搜索了自己的問題,可是搜索出來的答案都令他不是很滿意,要麼驢脣不對馬嘴,要麼就是解決問題的方式太過高深。

 絞盡腦汁的李有爲開始有病亂投醫,首先重啓flume是可以,是不會報錯的,報錯只會在一段時間之後,(李有爲也是剛入門,沒吃透,所以只能從別的地方想辦法),那麼這一段時間內究竟發生了什麼呢?既然hive那邊has been closed,**那麼會不會是因爲flume channel裏面沒有數據。**他的任務是佈置在測試環境的,如果測試小妹兒沒有進行測試的話,數據是不是就不會打到打到接口,然後也不會push到kafka哪裏,flume也讀不到kafka的數據。

 瞎幾把想了幾下之後,李有爲開始亂搞了,既然是因爲沒有數據的問題,我乾脆給你弄一個健康檢測,寫一個心跳檢測的python腳本,定時小kafka發送消息,然後flume就有數據可以消費到hive裏面。以後查數據的時候,只需要過濾掉health標誌的數據即可。

from kafka import KafkaProducer
import json
import time

data = {
	'event_action':'health',
	'event_name':'health',
	'event_time':'2019-09-01 00:00:00',
	'domain':'',
	'url':'',
	'refer_url':'',
	'title':'',
	'uid':'',
	'ip':'',
	'position':'',
	'user_agent':'',
	'cookie':'',
}

data = json.dumps(data)

producer = KafkaProducer(bootstrap_servers='192.168.22.101:9092')
while True:
    time.sleep(30)
    print(1)
    producer.send('log_test',data)

linux 後臺執行

nohup python health.py &

經過這麼一通操作之後,flume穩定運行了4個小時,現在馬上要晚上八點了,女神應該正在和她的前前前前男友吃飯,吃飯完,該發生的以及不該發生的,都要發生,而李有爲這個加班狗又將日復一日的度過像昨日一樣寂寞難耐的夜晚…………
在這裏插入圖片描述
(上面解法,純屬有病亂投醫,然後瞎貓碰上死耗子,如果各位老鐵有更好的解決辦法,歡迎提出來,大家一起交流、學習。工作是爲了解決問題,如果能夠找到更好的解決辦法,這纔是學習的意義,這也能夠幫助自己找到更好的工作機會。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章