logstash从MySQL导入数据到ES
下载安装
- 一定要对应ES版本(5.x,6.x,7.x)
- win下不用安装解压即用 , 解压目录不能带有空格和中文 , 否则会有奇奇怪怪的报错无法运行
- win下要给logstash文件夹赋予管理员权限 , 否则执行的时候会读取不到文件
下载地址:https://github.com/elastic/logstash/releases
解压出来文件夹内容
编写脚本
- 在mysql2es文件夹中创建脚本 , 方便后续使用修改
- 在mysql2es文件夹中放一个MySQL的驱动jar包 , 后续会使用
input {
jdbc {
# mysql 连接地址
jdbc_connection_string => "jdbc:mysql://10.0.5.167:3306/law?useUnicode=true&characterEncoding=utf-8&useSSL=false"
# 用户名 密码
jdbc_user => "1234"
jdbc_password => "4321"
# mysql 驱动jar包的绝对路径,不要有中文目录不要有空格
jdbc_driver_library => ".\mysql2es\mysql-connector-java-8.0.20.jar"
# mysql 驱动Class
jdbc_driver_class => "com.mysql.jdbc.Driver"
# 是否开启分页 true开启
jdbc_paging_enabled => "true"
# 分页大小 10000条一页
jdbc_page_size => "10000"
# sql语句的配置文件路径,如果sql语句比较长,那么写在文件里指定路径
#statement_filepath => ""
# sql语句 select * 字段就全部添加到ES里了,如果要指定指定字段 select id,name ...
statement => "SELECT * FROM A"
#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出)
schedule => "* * * * *"
}
}
output {
elasticsearch {
#ES IP地址与端口
hosts => "esIP地址:端口号"
#ES索引名称(自己定义的)
index => "xxx"
#自增ID编号 这里是固定语法 %{} 里面写mysql表那个字段就用那个字段作为ES _id 的值
document_id => "%{id}"
# ES 下的 type
document_type => "xxx"
}
# 控制台输出输入流和输出流
stdout {
#以JSON格式输出
codec => json_lines
}
}
从MySQL表中查询出字段 , 对应ES索引中的结构 , 导入数据
执行脚本
- 用管理员cmd窗口进入logstash下的bin目录
- 执行命令 logstash -f ../mysql2es/mysql.conf
- 等待执行完毕 , 关闭cmd窗口
logstash从MySQL导入数据到ES的更多相关文章
- Logstash同步mysql数据库信息到ES
@font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @fo ...
- 安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用
一.安装elasticsearch 获取elasticsearch的rpm:wget https://download.elastic.co/elasticsearch/release/org/ela ...
- 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟
使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 Sqoop 大数据 Hive HBase ETL 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 ...
- mysql导入数据到oracle中
mysql导入数据到oracle中. 建立Oracle表: CREATE TABLE "GG_USER" ( "USERID" BYTE) NOT NULL, ...
- mysql导入数据load data infile用法
mysql导入数据load data infile用法 基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ...
- 使用sqoop从mysql导入数据到hive
目录 前言 一.使用的导入命令 二.遇到的问题及解决 1. 用文本字段进行分区的问题 2. Hadoop历史服务器Hadoop JobHistory没开启的问题 3. 连接元数据存储数据库报错 4 ...
- MYSQL导入数据出现The MySQL server is running with the --secure-file-priv
MYSQL导入数据出现The MySQL server is running with the --secure-file-priv option so it cannot execute this ...
- MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误
MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误 创建表的语句 CREAT ...
- 三十三、MySQL 导入数据
MySQL 导入数据 本章节我们为大家介绍几种简单的 MySQL 导出的数据的命令. 1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导 ...
- 教程 | 使用Sqoop从MySQL导入数据到Hive和HBase
基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 S ...
随机推荐
- Drozer实践之sieve
在模拟器中打开drozer agent 启动连接drozer adb connect 127.0.0.1:xxxxx //adb连接设备,只有模拟器才需要这一步,不同模拟器端口不同 adb forwa ...
- PMP项目启动会与开工会议
转载https://www.cnblogs.com/yanpeng1991/p/11391805.html 项目启动会(project initiating meeting)与项目开工会(kick-o ...
- linux 服务器 重命名
vim /etc/hosts 追加 10.10.134.68 RmcbTestDB3 RmcbTestDB3 # ip 名称 名称 127.0.0.1 localhost ...
- Hystrix-Dashboard可视化
Hystrix-Dashboard可视化 1.新建子项目引pom.xml <dependencies> <!--hystrix dashboard--> <depende ...
- php 合并,拆分,追加,查找,删除数组教程
1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加.其形式为: array array_merg ...
- echarts 容器宽度设置百分比,但是图表缩成一团
如图 明明设置了充满整个div,然后发现都缩成了一团,后来发现echarts不能和display:none;属性一起用 解决方法: 把v-show改成v-if就可以了充满容器了...
- 查看Linux操作系统版本命令
(一)查看操作系统版本的方法 1.uname -a 可以查看内核版本等信息 Linux test 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:4 ...
- ES6 新特性 ES6使用 超实用
ECMAScript 学习 ES5-数组的新方法 forEach forEach方法对数组的每个元素执行一次提供的函数.功能等同于for循环. 应用场景:为一些相同的元素,绑定事件处理器! var a ...
- 040_Field Set
Field Set是一组字段.例如,您可以有一个Field Set,其中包含描述用户的名字,中间名,姓氏和业务标题的字段.将Field Set添加到Visualforce页面时,开发人员可以遍历字段并 ...
- 基于Linux的ssh协议配置sftp
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装 1. 创建sftp组 创建完成之后使用cat /etc/group命令组的信息 ...