1. 確認代碼無誤(根據情況修改,表示若獲得不了數據不會自動commit或者rollback):
Event event = channel.take();
if (event == null) {
return Status.BACKOFF;
}
I changed it to:
if (event == null) {
transaction.commit();
return Status.BACKOFF;
}
http://grokbase.com/t/flume/user/12be2xfgg5/custom-sink-close-called-when-transaction-is-open-error
2. 確認flume啟動給足了內存:
查看flume-ng文件:
JAVA_OPTS="-Xmx1024m" #設置大一點,默認是20M
可參考:http://blog.csdn.net/panguoyuan/article/details/39555239
