csv - 使用logstash将csv文件传输到服务器

标签 csv elasticsearch logstash logstash-configuration

我目前正在学习使用大数据,
客户端:Windows 10
服务器端:CentOS7
elasticsearch,logstash和kibana已安装在服务器端,
作为客户端,我可以通过http://10.64.2.246:5601/访问kibana,一切都很酷。现在,我想学习如何将数据从我的PC传输到服务器端的elasticsearch。我已经在客户端下载了logstash。

我已经用2列从kaggle准备了数据。
我做了我的conf文件

conf文件

input   {
    file    {
        path => "C:\Users\Charles\Desktop\DATA"
        start_position => "beginning"
        sincedb_path=>"/dev/null"
    }
}
filter  {
    csv     {
        separator=>","
        columns=>["Date","Price"]
    }
    mutate {convert =>["Price","float"]}
}
output{
    elasticsearch{
        host => "10.64.2.246"
        index=>"oil"
        document_type=>"minyaks"
    }
    stdout{}
}

这是我执行在客户端执行的conf文件的代码。
bin/logstash -f /Users/Charles/Desktop/DATA/logstash_oil.conf
这是显示的错误
Thread.exclusive is deprecated, use Thread::Mutex
Sending Logstash logs to C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logs which is now configured via log4j2.properties
[2019-11-07T20:33:11,077][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2019-11-07T20:33:11,090][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"7.4.2"}
[2019-11-07T20:33:12,416][INFO ][org.reflections.Reflections] Reflections took 29 ms to scan 1 urls, producing 20 keys and 40 values
[2019-11-07T20:33:12,917][ERROR][logstash.outputs.elasticsearch] Unknown setting 'host' for elasticsearch
[2019-11-07T20:33:12,925][ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::JavaLang::IllegalStateException", :message=>"Unable to configure plugins: (ConfigurationError) Something is wrong with your configuration.", :backtrace=>["org.logstash.config.ir.CompiledPipeline.<init>(CompiledPipeline.java:100)", "org.logstash.execution.JavaBasePipelineExt.initialize(JavaBasePipelineExt.java:60)", "org.logstash.execution.JavaBasePipelineExt$INVOKER$i$1$0$initialize.call(JavaBasePipelineExt$INVOKER$i$1$0$initialize.gen)", "org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:837)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:1156)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:1143)", "org.jruby.ir.targets.InstanceSuperInvokeSite.invoke(InstanceSuperInvokeSite.java:39)", "C_3a_.Users.Charles.Desktop.DATA.logstash_minus_7_dot_4_dot_2.logstash_minus_core.lib.logstash.java_pipeline.RUBY$method$initialize$0(C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/java_pipeline.rb:26)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:91)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:90)", "org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)", "org.jruby.RubyClass.newInstance(RubyClass.java:915)", "org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:183)", "C_3a_.Users.Charles.Desktop.DATA.logstash_minus_7_dot_4_dot_2.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0(C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/pipeline_action/create.rb:36)", "C_3a_.Users.Charles.Desktop.DATA.logstash_minus_7_dot_4_dot_2.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0$__VARARGS__(C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/pipeline_action/create.rb)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:91)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:90)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:183)", "C_3a_.Users.Charles.Desktop.DATA.logstash_minus_7_dot_4_dot_2.logstash_minus_core.lib.logstash.agent.RUBY$block$converge_state$2(C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/agent.rb:326)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:136)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:77)", "org.jruby.runtime.Block.call(Block.java:129)", "org.jruby.RubyProc.call(RubyProc.java:295)", "org.jruby.RubyProc.call(RubyProc.java:274)", "org.jruby.RubyProc.call(RubyProc.java:270)", "org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:105)", "java.lang.Thread.run(Unknown Source)"]}
warning: thread "Converge PipelineAction::Create<main>" terminated with exception (report_on_exception is true):
LogStash::Error: Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`
          create at org/logstash/execution/ConvergeResultExt.java:109
             add at org/logstash/execution/ConvergeResultExt.java:37
  converge_state at C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/agent.rb:339
[2019-11-07T20:33:12,932][ERROR][logstash.agent           ] An exception happened when converging configuration {:exception=>LogStash::Error, :message=>"Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`", :backtrace=>["org/logstash/execution/ConvergeResultExt.java:109:in `create'", "org/logstash/execution/ConvergeResultExt.java:37:in `add'", "C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/agent.rb:339:in `block in converge_state'"]}
[2019-11-07T20:33:12,954][FATAL][logstash.runner          ] An unexpected error occurred! {:error=>#<LogStash::Error: Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`>, :backtrace=>["org/logstash/execution/ConvergeResultExt.java:109:in `create'", "org/logstash/execution/ConvergeResultExt.java:37:in `add'", "C:/Users/Charles/Desktop/DATA/logstash-7.4.2/logstash-core/lib/logstash/agent.rb:339:in `block in converge_state'"]}
[2019-11-07T20:33:13,004][ERROR][org.logstash.Logstash    ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit

需要有人向我解释。我遵循youtube上的说明,但讲师是在本地进行的。

谢谢。

最佳答案

问题在这条线上:

[2019-11-07T20:33:12,917][ERROR][logstash.outputs.elasticsearch] Unknown setting 'host' for elasticsearch

所以你需要改变
    host => "10.64.2.246"


    hosts => "10.64.2.246"

另外,由于您似乎正在使用ES 7.4.2,因此可以将以下行删除为document/mapping types are deprecated
document_type=>"minyaks"

关于csv - 使用logstash将csv文件传输到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58760442/

相关文章:

Python:导入双管 csv Pandas

elasticsearch - 从Elasticsearch检索相似性文件?

c# - Elasticsearch.net NEST Bool查询未生成预期的请求

elasticsearch - “empty” elasticsearch incompatible-snapshots文件是否正常?

elasticsearch - 遇到可重试的错误。将使用指数退避重试 { :code=>400, :url= >"https://example.us-east-1.es.amazonaws.com:443/_bulk"}

logstash 中的 Ruby 代码因 _rubyexception 而失败

python - 使用python,如果该行中存在特定字符,如何删除csv文件中的整行?

python - 从 url 获取编码的 csv 到 Pandas

filter - logstash:具有不同模式的多个日志文件

powershell - 导入 Csv Powershell