flume
spooldirsource
采集一半停止报异常
java.nio.charset.MalformedInputException: Input length = 1
可能原因 1 : 文件编码与采集source设置编码不一致,
vim 打开监控文件
可能原因 1 : 文件编码与采集source设置编码不一致,
vim 打开监控文件
:set fileencoding
fileencoding=latin1
若为latin1 修改采集配置
这是由于flume的一个弊端,当采集遇到异常行,采集会停止。(不知道什么时候能改)需对spoolsource进行自定义
参考其他代码对flume1.7.0的spoolsource修改如下(同spoolsource但跳过异常行)、
http://download.youkuaiyun.com/download/qq_36722360/9935052
打包 放到flume依赖jar包下 可以是在lib下 也可以在flume下面建plugins.d下放自定义路径
/usr/local/flume/plugins.d/r1/lib
之后修改
agent.sources.r11.type = *(代码路径).RobustSpoolDirectorySource
,
结束
如果文件内容没有中文,可直接按按一方法解决
若为latin1 修改采集配置
agent.sources.r2.inputCharset = latin1
二:文件因特殊原因自己改变了编码(大量小文件合并) ,,这是由于flume的一个弊端,当采集遇到异常行,采集会停止。(不知道什么时候能改)需对spoolsource进行自定义
参考其他代码对flume1.7.0的spoolsource修改如下(同spoolsource但跳过异常行)、
http://download.youkuaiyun.com/download/qq_36722360/9935052
打包 放到flume依赖jar包下 可以是在lib下 也可以在flume下面建plugins.d下放自定义路径
/usr/local/flume/plugins.d/r1/lib
之后修改
agent.sources.r11.type = *(代码路径).RobustSpoolDirectorySource
,
结束
如果文件内容没有中文,可直接按按一方法解决