啟動報錯信息
[2020-08-19T10:54:34,504][ERROR][logstash.outputs.kafka ] Unable to create Kafka producer from given configuration {:kafka_error_message=>org.apache.kafka.common.config.ConfigException: Invalid value 32768 for configuration receive.buffer.bytes: Expected value to be a 32-bit integer, but it was a java.lang.Long, :cause=>nil}
官網提示
logstash6.4.0配置output到kafka會有這個bug,可以通過更新logstash-output-kafka插件解決
https://www.elastic.co/guide/en/logstash/6.7/logstash-6-4-0.html
官網給出執行下面的命令解決:
bin/logstash-plugin update logstash-output-kafka
但是執行更新一直等待卡住沒有響應,於是...
先查看已安裝的插件
本人的目錄如下,並能看到已安裝 logstash-output-kafka-7.1.2
/work/logstash-6.4.0/vendor/bundle/jruby/2.3.0/gems
或者執行命令查看已安裝插件
bin/logstash-plugin list --verbose
執行命令如果遇到報錯
Gem::LoadError: You have already activated jruby-openssl 0.10.4, but your Gemfile requires jruby-openssl 0.10.1. Prepending `bundle exec` to your command may solve this.
原因 :
1. logstash 已激活使用 jruby-openssl 0.10.4
2. /work/logstash-6.4.0/ 目錄有2個文件(與bin同級):Gemfile 和 Gemfile.lock 卻還是 jruby-openssl 0.10.1
解決:
參考國內 RubyGems 鏡像:https://gems.ruby-china.com/ 可以找到語法
添加/修改,上面提到的2個文件 :
vim Gemfile
添加/修改內容為: gem 'jruby-openssl', '~> 0.10.4' vim Gemfile.lock
修改: jruby-openssl (0.10.1-java) 改為 jruby-openssl (0.10.4-java)
安裝7.1.3版本的 logstash-output-kafka 插件
$ cd /work/logstash-6.4.0/bin $ ./logstash-plugin install --version 7.1.3 logstash-output-kafka Validating logstash-output-kafka-7.1.3 Installing logstash-output-kafka Installation successful
重新啟動logstash即可