logstash-input-jdbc and logstash-ouput-jdbc
要求通过logstash从oracle中获取数据,然后相应的直接传入mysql中去。
基本测试成功的配置文件如下:
input {
stdin {
}
jdbc {
jdbc_connection_string => "jdbc:oracle:thin:@//192.168.217.135:1521/orcl"
jdbc_user => "root"
jdbc_password => "123"
jdbc_driver_library => "/usr/share/logstash/config/ojdbc6.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
jdbc_default_timezone => "Asia/Shanghai"
statement => "select date_time from PERSON"
record_last_run => "true"
use_column_value => "true"
tracking_column_type => "timestamp"
tracking_column => "create_datetime"
last_run_metadata_path => "/usr/share/logstash/config/last_datetime/PERSON"
clean_run => "false"
lowercase_column_names => "false"
}
}
output {
jdbc {
driver_jar_path => "/usr/share/logstash/config/mysql-connector-java-5.1.7-bin.jar"
driver_class => "com.mysql.jdbc.Driver"
connection_string => "jdbc:mysql://192.168.217.136:3306/orcl?autoReconnect=true&user=root&password=123"
statement => ["insert into PERSON(date_time) values(?)","%{date_time}"]
}
}
其中没有用到过滤方法,需求仅仅用了logstash-input-jdbc和logstash-output-jdbc插件来完成数据库数据导入的,安装插件的命令
./bin/logstash-plugin install logstash-input-jdbc
logstash启动后如果配置或者环境不正确,会有相应的报错,主要注意 [ ] 里的是哪方面的报错,里边会得到相应的报错信息
我排查了一些问题,没有记录日志,但是无非就是
配置文件出错,比如说JDBC连接数据库的url等等
sql没有写对,注意statement字段写获取的和插入的sql,mysql中要建立相同的字段
防火墙没有关闭
驱动包过旧
等等
其中遇到的最晚解决的问题是,从oracle获取的时间字段,传入不了mysql,想到了filter方法进行时间过滤,但是没有配置好,后来突然想到了给mysql改一下数据类型,改成varchar,oracle的date类型和mysql的是不一样的,这个需要注意,改成字符串类型完美的解决了这个问题,因为需求仅仅是灌入mysql,如果是主从复制或者数据库完全迁移就需要正确的思路了,这个思路虽然可行,但是加入数据库要进行迁移连接,web服务连接到mysql,那么在界面的输入可能会又变化,所以还是需要研究oracle如何匹配mysql的时间字段。
好的解决方案是相同数据库主从备份或ELK,但是这种也是可行的,也可以做到数据实时传输,类似于主从备份,上述的方法需要在目标库中建立相同的字段和数据类型,有时候数据类型的转换也是个问题,
更简单的方法是用navicat premium,缺点是仅仅数据迁移,无法实时更新数据
logstash-input-jdbc and logstash-ouput-jdbc的更多相关文章
- (三)ELK logstash input
一,input模块 input 插件官方详解: https://www.elastic.co/guide/en/logstash/current/input-plugins.html Logstash ...
- [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版
(课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...
- 解决 01-Jul-2016 10:49:05.875 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.D
01-Jul-2016 10:49:05.875 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoade ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- DBUtils开源JDBC类库,对JDBC简单封装(作用是:简化编码工作量,同时不会影响程序的性能)
DBUtils:提高了程序的性能,编程更加简便 架包 mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar common ...
- Hibernate 抓取策略fetch-2 (批量抓取batch-size以及hibernate.jdbc.fetch_size、hibernate.jdbc.batch_size)
类关系: User N~1 Group 测试代码: System.out.println("1"); List stuList = session.createQuery(&quo ...
- SparkSQL使用之JDBC代码访问Thrift JDBC Server
启动ThriftJDBCServer: cd $SPARK_HOME/sbin start-thriftserver.sh & 使用jdbc访问ThriftJDBCServer代码段: pac ...
- org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver class not found
今天在使用hibernate搭建开发环境的时候出现了一个不可思议的问题: org.hibernate.service.classloading.spi.ClassLoadingException: S ...
- hibernate的速度问题--hibernate.jdbc.fetch_size和 hibernate.jdbc.batch_size
hibernate的速度问题 这点我也疑惑过,最初应用hibernate的项目,我也感觉速度很慢,知道后来才知道问题的所在. 其实hibernate的速度性能并不差,比起jdbc来说,又是 ...
- 解决 Tomcat reload WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but fail
转自:http://www.cnblogs.com/interdrp/p/5632529.html 我的错误如下: 06-Sep-2016 18:57:10.595 WARNING [localhos ...
随机推荐
- 二叉树前序、中序、后序非递归遍历 144. Binary Tree Preorder Traversal 、 94. Binary Tree Inorder Traversal 、145. Binary Tree Postorder Traversal 、173. Binary Search Tree Iterator
144. Binary Tree Preorder Traversal 前序的非递归遍历:用堆来实现 如果把这个代码改成先向堆存储左节点再存储右节点,就变成了每一行从右向左打印 如果用队列替代堆,并且 ...
- Hibernate之CRUD实践
Hibernate作为一个高度封装的持久层框架,曾经是非常牛逼的,现在虽然应用不是特别广,比如我前公司主要是做OA的,应用的框架就是Spring+SpringMVC+Hibernate. Hibern ...
- Sonar安装和常见问题解决
Sonar是一款代码质量分析工具,有助于帮助代码质量提高. Sonar的官网地址为:https://www.sonarqube.org/downloads/ 点击 Show All Versions ...
- win8开发
http://msdn.microsoft.com/library/default.aspx
- OC - 时间日期类NSDate
OC - 时间日期类NSDate //NSDate 时间日期类 NSDate 二进制数据流 { //1.获取当前时间 零时区的时间 //显示的是格林尼治的时间: 年-月-日 时:分:秒:+时区 NSD ...
- SQL 存储过程生成
use workflow; GO /****** 对象: StoredProcedure [dbo].[pro_GenerateProGet] 脚本日期: 08/03/2012 11:26:43 ** ...
- 【算法笔记】B1010 一元多项式求导
1010 一元多项式求导 (25 分) 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为nxn−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 ...
- 竞赛题解 - NOIP2018 旅行
\(\mathcal {NOIP2018} 旅行 - 竞赛题解\) 坑还得一层一层的填 填到Day2T1了 洛谷 P5022 题目 (以下copy自洛谷,有删减/修改 (●ˇ∀ˇ●)) 题目描述 小 ...
- Elasticsearch 5.x安装
node1 elasticsearch node2 elasticsearch node3 elasticsearch 前期准备 JDK1.8 修改/etc/security/limits.conf ...
- Vue项目用webpack打包后,预览时资源路径出错(文末有vue项目链接分享)
最近用vue写了一些项目,项目写完之后需要打包之后才能放到网上展示,所以在这里记录一下项目打包的过程以及遇到的一些问题. --------------------------------------- ...