es在win下添加数据(二)

摘要:
下载:mysql-connector-java-5.1.46.zip该压缩包帮助mysql与其他平台连接。看到很多资源都要积分,不能选0分,所以选1分了https://dev.mysql.com/downloads/file/?id=476197在bin目录下创建jdbc.config根据需求改连接,账号,密码,名字,端口等等。characterEncoding=UTF-8&useSSL=false"#theuserwewishtoexcuteourstatementasjdbc_user=˃"root"jdbc_password=˃"111111"#thepathtoourdownloadedjdbcdriverjdbc_driver_library=˃"D:/logstash-6.3.1/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"#thenameofthedriverclassformysqljdbc_driver_class=˃"com.mysql.jdbc.Driver"jdbc_paging_enabled=˃"true"jdbc_page_size=˃"50000"jdbc_default_timezone=˃"UTC"statement_filepath=˃"D:/logstash-6.3.1/logstash-6.3.1/bin/jdbc.sql"schedule=˃"*****"type=˃"patent"}}filter{json{source=˃"message"remove_field=˃["message"]}}output{elasticsearch{hosts=˃"localhost:9200"index=˃"patent"document_id=˃"%{id}"}stdout{codec=˃json_lines}}创建jdbc.sqlselectPatent_IDasid,Patent_Numaspnum,Patent_Nameaspname,Patent_Linkaslink,Patent_Applicantasapplicant,Patent_Summaryassummary,Patent_Dateaspdate,Patent_ClassNumasclassnum,Patent_Updateaspupdate,Patent_Statusaspstatusfrompatentinfor在bin中输入logstash-fjdbc.conf疯狂导入啦~~~这里也记录下几个报错的问题给大家参考:1.D:logstash-6.3.1logstash-6.3.1in˃logstash-fjdbc.confSendingLogstash'slogstoD:/logstash-6.3.1/logstash-6.3.1/logswhichisnowconfiguredvialog4j2.properties[2018-07-23T09:40:23,744][WARN][logstash.config.source.multilocal]Ignoringthe'pipelines.yml'filebecausemodulesorcommandlineoptionsarespecified2018-07-2309:40:23,822LogStash::RunnerERRORUnabletomovefileD:logstash-6.3.1logstash-6.3.1logslogstash-plain.logtoD:logstash-6.3.1logstash-6.3.1logslogstash-plain-2018-07-20-1.log:java.nio.file.FileSystemExceptionD:logstash-6.3.1logstash-6.3.1logslogstash-plain.log-˃D:logstash-6.3.1logstash-6.3.1logslogstash-plain-2018-07-20-1.log:另一个程序正在使用此文件,进程无法访问。已经有端口使用了。
win环境下把MySql中的数据导入到Elasticsearch(二)

环境问题参考我上文:

https://blog.csdn.net/qq_24265945/article/details/81168158

环境问题已经好了,接下来,我们讲实战。

下载:mysql-connector-java-5.1.46.zip
该压缩包帮助mysql与其他平台连接。看到很多资源都要积分,不能选0分,所以选1分了

https://dev.mysql.com/downloads/file/?id=476197

在bin目录下创建jdbc.config

根据需求改连接,账号,密码,名字,端口等等。

input {
    stdin {
    }
    jdbc {
      # mysql jdbc connection string to our backup databse
      jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/zhangjiang?characterEncoding=UTF-8&useSSL=false"
      # the user we wish to excute our statement as
      jdbc_user => "root"
      jdbc_password => "111111"
      # the path to our downloaded jdbc driver
      jdbc_driver_library => "D:/logstash-6.3.1/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"
      # the name of the driver class for mysql
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
	  jdbc_default_timezone => "UTC"
      statement_filepath => "D:/logstash-6.3.1/logstash-6.3.1/bin/jdbc.sql"
      schedule => "* * * * *"
      type => "patent"
    }
}
 
filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}
 
output {
    elasticsearch {
        hosts => "localhost:9200"
		index => "patent"
		document_id => "%{id}"
       
    }
    stdout {
        codec => json_lines
    }
}

创建jdbc.sql(这里根据自己需求改啦)

select 
    Patent_ID as id, 
    Patent_Num as pnum,
    Patent_Name as pname,
    Patent_Link as link,
    Patent_Applicant as applicant,
    Patent_Summary as summary,
    Patent_Date as pdate,
    Patent_ClassNum as classnum,
    Patent_Update as pupdate,
    Patent_Status as pstatus
from 
    patentinfor 

在bin中输入 logstash -f jdbc.conf

疯狂导入啦~~~

es在win下添加数据(二)第1张

这里也记录下几个报错的问题给大家参考:

1.

D:logstash-6.3.1logstash-6.3.1in>logstash -f jdbc.conf

Sending Logstash's logs to D:/logstash-6.3.1/logstash-6.3.1/logs which is now configured via log4j2.properties

[2018-07-23T09:40:23,744][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified

2018-07-23 09:40:23,822 LogStash::Runner ERROR Unable to move file D:logstash-6.3.1logstash-6.3.1logslogstash-plain.log to D:logstash-6.3.1logstash-6.3.1logslogstash-plain-2018-07-20-1.log: java.nio.file.FileSystemException D:logstash-6.3.1logstash-6.3.1logslogstash-plain.log -> D:logstash-6.3.1logstash-6.3.1logslogstash-plain-2018-07-20-1.log: 另一个程序正在使用此文件,进程无法访问。

已经有端口使用了。查看下是不是开着别的cmd在调用logstash,关闭就是了

2.

D:logstash-6.3.1logstash-6.3.1in>logstash -f jdbc.conf

Sending Logstash's logs to D:/logstash-6.3.1/logstash-6.3.1/logs which is now configured via log4j2.properties

[2018-07-23T09:44:41,964][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified

[2018-07-23T09:44:42,995][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.3.1"}

[2018-07-23T09:44:46,715][ERROR][logstash.outputs.elasticsearch] Unknown setting 'host' for elasticsearch

[2018-07-23T09:44:46,715][ERROR][logstash.outputs.elasticsearch] Unknown setting 'port' for elasticsearch

[2018-07-23T09:44:46,715][ERROR][logstash.outputs.elasticsearch] Unknown setting 'protocol' for elasticsearch

[2018-07-23T09:44:46,715][ERROR][logstash.outputs.elasticsearch] Unknown setting 'cluster' for elasticsearch

[2018-07-23T09:44:46,746][ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Something is wrong with your configuration.", :backtrace=>["D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/config/mixin.rb:89:in `config_init'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/outputs/base.rb:62:in `initialize'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:202:in `initialize'", "org/logstash/config/ir/compiler/OutputDelegatorExt.java:68:in `initialize'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/plugins/plugin_factory.rb:93:in `plugin'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/pipeline.rb:110:in `plugin'", "(eval):39:in `<eval>'", "org/jruby/RubyKernel.java:994:in `eval'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/pipeline.rb:82:in `initialize'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/pipeline.rb:167:in `initialize'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/pipeline_action/create.rb:40:in `execute'", "D:/logstash-6.3.1/logstash-6.3.1/logstash-core/lib/logstash/agent.rb:305:in `block in converge_state'"]}

[2018-07-23T09:44:47,215][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}

这里是参考了别的网页,本来在下文中还写了port,protocol等内容,删除就是了,同时注意是hosts而不是host;记得查看自己的sql文件,如果sql文件出错,同样会导致导入失败,结果是:可以手动在cmd写内容进es,但是mysql的内容并没有录入es

output {
elasticsearch {
hosts => "localhost:9200"
index => "patent"
document_id => "%{id}"
}
stdout {
codec => json_lines
}

最后附上成功运行后可视化软件kibana图:

一周后的后续:当我加入中文分词工具以后,突然发现一个问题,映射是elasticsearch默认自己创建的 ,一旦创建没有办法修改,所以建议大家插入数据前先创建mapping,把分词工具加进去,具体分词工具我这里采用elasticsearch中的IK Analysis,后续会考虑其他分词工具,比较效果。这里附上我分词工具IK Analysis的安装和使用后续:

https://blog.csdn.net/qq_24265945/article/details/81355504

免责声明:文章转载自《es在win下添加数据(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Vue 实战项目: 硅谷外卖(1)【Go学习笔记】 string转Map 和 Map嵌套取值 和 interface转string下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL 创建函数(Function)

目标 怎么样MySQL创建数据库功能(Function) 语法 CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,參数是可选的 RETURNS type [ characteristic ...] routine_body CREATE FUNCTION 用来创建函数的keyword; f...

mysql通过binlog恢复删除数据

删除误操作有时会意外出现,如果你有备份表数据的好习惯,那么至少你可以追回备份前的那些数据。如果我们打开了mysql的binlog,那么可以通过它的增量操作日志来恢复数据。怎么打开binlog前篇已有说明(参见windows下打开binlog),这里举例说明如何通过binlog进行恢复: 1、看下当前的binlog位置,这里称为位置1: mysql>s...

Sphinx+MySQL5.1x+SphinxSE+mmseg

一.不停止mysql的情况下安装SphinxSE 1.确定mysql版本,下载对应源码包 此处下载5.1.69的mysql源码包 #wget ftp://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.1/mysql-5.1.69.tar.gz  解压 2.下载sphinx: #wget http://sphinx...

mysql日期加减

一、MySQL 为日期增加一个时间间隔:date_add()。 1、  示例: set @dt = now(); select date_add(@dt, interval 1 day);           - 加1天 select date_add(@dt, interval 1 hour);                -加1小时 select d...

Druid(新版starter)在SpringBoot下的使用以及优点

Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。DruidDataSource支持的数据库:理论上说,支持所有有jdbc驱动的数据库。最近发现Druid在springboot框架下有更加好用的Druid Spring Boot Starter,可以省去原本写Druid的一些配置文件或者@Configuration来配置...

centos使用yum安装mysql

参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/downloads/repo/yum/ 获取合适的数据源 (1.2)安装数据源包 shell> sudo rpm -Uvh platform-and-vers...