安装和使用 elasticSearch、LogStash、IK(三)
2018-01-08 18:42
477 查看
通过Logstash由MySQL向Elasticsearch导入数据
-安装 logstash-input-jdbc 工具包
安装
安装 jdbc
在logstash 执行目录下创建目录和两个conf 文件
执行mysql 导入 jdbc
测试导入结果
原文链接:https://www.leon0204.com/article/94.html
-安装 logstash-input-jdbc 工具包
安装
安装 jdbc
在logstash 执行目录下创建目录和两个conf 文件
执行mysql 导入 jdbc
测试导入结果
原文链接:https://www.leon0204.com/article/94.html
通过Logstash由MySQL向Elasticsearch导入数据
-安装 logstash-input-jdbc 工具包
安装
Elasticsearch-jdbc工具包(废弃),虽然是官方推荐的,但是已经几年不更新了。所以选择安装logstash-input-jdbc,由于,logstash-input-jdbc是基于 logstash 的,而logstash又是基于 ruby的,所以,要依次安装,命令如下:# 安装 ruby 1.9 $ apt-get install ruby # 添加 apt-key wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - D88E42B4 sudo apt-get install apt-transport-https #不要自作聪明改掉x echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list #如果错误执行之后,报重复或者http 404 等错误,可以 rm -rf /etc/apt/sources.list.d/elastic-5.x.list ,然后重新echo #更新apt apt-get update #安装 logstash apt-get install logstash #安装 logstash-input-jdbc $ /usr/share/logstash# bin/logstash-plugin install logstash-input-jdbc Validating logstash-input-jdbc Installing logstash-input-jdbc Installation successful # 验证 root@b0c170e13e44:/usr/share/logstash/vendor/bundle/jruby/1.9/gems# ls |grep jdbc logstash-input-jdbc-4.3.1 #logstash 执行文件 /usr/share/logstash/bin/logstash
安装 jdbc
#进入es 安装跟目录 , 安装插件 ./bin/elasticsearch-plugin install http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.5.0.5/elasticsearch-river-jdbc-1.5.0.5-plugin.zip[/code]在logstash 执行目录下创建目录,和两个conf 文件
# 1 .jdbc.sql 路径 为:/usr/share/logstash/bin/logstash_jdbc_test #内容是: select * from info where info.ID > 3035 # 2 .jdbc.conf 路径为: /usr/share/logstash/bin/logstash_jdbc_test #内容是: input { stdin { } jdbc { # mysql jdbc connection string to our backup databse 后面的test对应mysql中的test数据库 jdbc_connection_string => "jdbc:mysql://你的mysql的host地址:3306/infodb" # the user we wish to excute our statement as jdbc_user => "username" jdbc_password => "passwd" # the path to our downloaded jdbc driver jdbc_driver_library => "/usr/local/src/elasticsearch-jdbc-2.3.4.0/lib/mysql-connector-java-5.1.38.jar" # the name of the driver class for mysql jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" #以下对应着要执行的sql的绝对路径。 statement_filepath => "/usr/share/logstash/bin/logstash_jdbc_test/jdbc.sql" #定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出) schedule => "* * * * *" #设定ES索引类型 type => "person" } } filter { json { source => "message" remove_field => ["message"] } } output { elasticsearch { #ESIP地址与端口 hosts => "127.0.0.1:9200" #ES索引名称(自己定义的) index => "accounts" #自增ID编号 document_id => "%{id}" } stdout { #以JSON格式输出 codec => json_lines } } ######################执行mysql 导入 jdbc
./logstash -f ./logstash_jdbc_test/jdbc.conf测试导入结果
curl 'localhost:9200/accounts/person/_search’ # 查询 所有的 数据 hit { "total": 5, "max_score": 1, "hits": [ { "_index": "accounts", "_type": "person", "_id": "3038", "_score": 1, "_source": { "indextype": 1, "infotype": 1, "createtime": "2018-01-09T14:07:59.000Z", "iskol": false, "issend": true, "creatorid": 370, "description": "腐界鼻祖爆陈学冬此次恋情为洗直,娱乐圈还有更多你意想不到的夫夫组合…", "title": "这是一片测试文章", "type": "person", "isdeleted": 1, "ispushed": 1, "pushtime": null, "pushcontent": "", "keyno": "Info000003032", "@timestamp": "2018-01-08T06:48:00.217Z", "ispublish": false, "publishtime": "2027-09-28T12:00:00.000Z", "@version": "1", "id": 3038, "isquality": false, "staffid": null } }, { "_index": "accounts", "_type": "person", "_id": "3036", "_score": 1, "_source": { "indextype": 1, "infotype": 1, "createtime": "2018-01-08T14:07:50.000Z", "iskol": false, "issend": true, "creatorid": 370, "description": "他曾是刘德华的上司,央视春晚缺他不可,却让吴君如恨得牙痒痒!", "title": "他曾是刘德华的上司,央视春晚缺他不可,却让吴君如恨得牙痒痒!", "type": "person", "isdeleted": 0, "ispushed": 1, "pushtime": null, "pushcontent": "", "keyno": "Info000003031", "@timestamp": "2018-01-08T06:48:00.213Z", "ispublish": false, "publishtime": "2027-09-28T12:00:00.000Z", "@version": "1", "id": 3036, "isquality": false, "staffid": null } }, { "_index": "accounts", "_type": "person", "_id": "3037", "_score": 1, "_source": { "indextype": 1, "infotype": 1, "createtime": "2018-01-08T14:07:59.000Z", "iskol": false, "issend": true, "creatorid": 370, "description": "腐界鼻祖爆陈学冬此次恋情为洗直,娱乐圈还有更多你意想不到的夫夫组合…", "title": "腐界鼻祖爆陈学冬此次恋情为洗直,娱乐圈还有更多你意想不到的夫夫组合…", "type": "person", "isdeleted": 0, "ispushed": 1, "pushtime": null, "pushcontent": "", "keyno": "Info000003032", "@timestamp": "2018-01-08T06:48:00.215Z", "ispublish": false, "publishtime": "2027-09-28T12:00:00.000Z", "@version": "1", "id": 3037, "isquality": false, "staffid": null } }, { "_index": "accounts", "_type": "person", "_id": "AWDFSjYm4DfKqktV2Xfm", "_score": 1, "_source": { "user": "李四", "title": "工程师", "desc": "系统管理" } }, { "_index": "accounts", "_type": "person", "_id": "1", "_score": 1, "_source": { "user": "leon0204", "title": "工程师", "desc": "数据库管理,软件开发" } } ] }
每个document 包含了 5 个部分 索引名称,索引type,文档id ,score ,原数数据
相关文章推荐
- 安装和使用 elasticSearch、LogStash、IK(一)
- 安装和使用 elasticSearch、LogStash、IK(二)
- window下elasticsearch安装以及ik插件使用
- elasticsearch安装与使用(6)-- Logstash安装与配置
- ElasticSearch学习:logstash安装并使用logstash-jdbc-input与mysql数据库同步
- elasticsearch安装与使用(3)-- 安装中文分词插件elasticsearch-analyzer-ik
- Linux操作系统安装ELK stack日志管理系统--(2)Elasticsearch与Kibana的安装与使用以及和Logstash的连接
- ElasticSearch使用IK中文分词---安装步骤记录
- 【Elasticsearch】安装使用ik中文分词
- ElasticSearch 使用入门——安装与启动
- 使用ELK(logstash,elasticsearch,kibana)+redis搭建nginx日志分析平台
- ElasticSearch 安装 ik 分词插件
- logstash安装和使用
- linux下ElasticSearch(es)安装使用部署
- Elasticsearch安装中文分词插件ik
- 安装和使用 Elasticsearch
- 安装logstash,elasticsearch,kibana三件套
- Elasticsearch安装中文分词插件ik
- ELK(Elasticsearch,logstash,kibana)无痛安装教程
- Elasticsearch集群安装与使用