【转】使用kettle工具遇到的问题汇总及解决方案
转载文章版权声明:本文转载,原作者薄海 ,原文网址链接 http://blog.csdn.net/bohai0409/article/details/38072465,联系方式邮箱bohai7000@126.com。QQ-1511777。
问题1是 执行./spoon.sh报错
问题3是 在使用kettle导入数据过程中报错
问题1-1
执行./spoon.sh报如下错误
xlib:connection to "0.0"refused by server
xlib:No protocol specified
org.eclipse.swt.SWTError:Nomore handles [gtk_init_check() failed]
解决方案
[telepow@bodaodao data-integration]$exit
logout
[root@bodaodao kettle]#xhost+
access controldisabled,clients can connect from any host
[root@]su - telepow
[telepow@bodaodao]cd/opt/kettle/data-integration/
[telepow@bodaodao]./spoon.sh
问题1-2
执行./spoon.sh报如下错误
“A fatal error has beendetected by the JavaRuntime Environment”
原因分析:
这应该时GNOME或者X的库和Spoon集成的浏览器不能一起工作导致的。所以需要编辑(或创建)~/.kettle/.spoonrc,并在里面输入以下内容:
ShowWelcomePageOnStartup=N
具体操作:
[telepow@mic1 ~]$ cd .kettle/
[telepow@mic1 .kettle]$ pwd
/home/telepow/.kettle
[telepow@mic1 .kettle]$ touch.spoonrc
[telepow@mic1 .kettle]$ vi.spoonrc
ShowWelcomePageOnStartup=N
参考文档http://www.linuxidc.com/Linux/2012-10/72455.htm
问题2-1
创建PostgreSQL数据库连接,测试数据库连接报如下错误
Connect refused,Check thatthe hostname and port are correct and that the postmaster is accepint TCP/IP
[root@pgsql data]# pwd
/usr/local/postgresql/data
[root@pgsql data]# vipostgresql.conf
listen_addresses = '*'
port = 5432
[root@pgsql data]# servicepostgresql stop
Stopping PostgreSQL: ok
[root@pgsql data]# servicepostgresql start
Starting PostgreSQL: ok
问题2-2
创建PostgreSQL数据库连接,测试数据库连接报如下错误
Errot connecting to database(using class org.postgresql.Driver)
FATAL:no pg_hba.conf entryfor host "192.168.56.102" ,user "root" ,database "test_db"
[root@pgsql data]# cppg_hba.conf pg_hba.conf.bak
[root@pgsql data]# vipg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.56.102/32 trust
/*192.168.56.102为kettle所在服务器,允许该服务器连接
[root@pgsql data]# servicepostgresql stop
Stopping PostgreSQL: ok
[root@pgsql data]# servicepostgresql start
Starting PostgreSQL: ok
问题2-3
创建Oracle数据库连接,测试数据库连接报如下错误
exceptionwhile loading class
oracle.rdb.jdbc.rdbThin.Driver
检查驱动,首先发现 Kettle 默认不带 Oracle 驱动。于是我把 Oracle 的 JDBC 驱动 ojdbc5.jar/ojdbc6.jar 放到了 Kettle 的目录data-integration\libext\JDBC 下
具体操作
# mv ojdbc6.jar/opt/kettle/data-integration/libext/JDBC/
重启机器 OK
连接oracle,可以先创建数据库连接,在选择数据库连接,数据库名数据库名是“SID_NAME,而不是 PL/SQL 的 “SERVICE_NAME
问题2-4
创建MySQL数据库连接,测试数据库连接,报如下错误
Exception while loading class
org.gjt.mm.mysql.Driver
org.pentaho.di.core.exception.KettleDatabaseException
解决
把mysql.jar(网上下的)放在/data-xxx/libext/JDBC/在目录下并重启机器
问题2-5
创建Mysql数据库连接,测试数据库连接,报如下错误
Error connecting to database
message from server host192.168.56.102 is not allowed to this mysql server
解决
如果你想允许用户myuser从ip为192.168.56.102的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.*TO 'root'@'192.168.56.102' IDENTIFIED BY '123456' WITH GRANT OPTION;
参考http://www.blogjava.net/acooly/archive/2008/09/17/229368.html
问题2-6
创建Mysql数据库连接,测试数据库连接,报如下错误
Access denied for userdfa@192.168.56.102(using password:YES)
用户名错误,修正用户dfa为正确用户root(本例用户为root)即可。
问题3-1
在使用kettle导入数据过程中报错
“ERROR INSERTING /UPDATING ROW”INCORRECT STRING VALUE “\xF1\xBC\xBD\xA8' for culumn keywords at row1,
1,将keywords字段的字符集改为utf8mb4
2,在Kettle的数据库连接高级设置中,设置当前会话字符集为utf8mb4
具体操作
1,ALTER TABLE dt_se CHANGE keywords keywords VARCHAR(550) CHARACTER SET utf8mb4;
2,Edit数据库连接--->Advanced----->set names utf8mb4; 设置当前会话字符集为utf8mb4
参考文档:http://vase.iteye.com/blog/2006972
问题3-2
在使用kettle导入数据过程中报错(连的好好的,突然在插入数据不能使用了)
Error looking up row in database
communications link failure
causedby:com.mysql.jdbc.exceptions,jdbc4.communicationsException:communications linkfailure
Last packet sent to the server was 0 msago.
原因分析:mysql 连接时间问题,应用程序和MySQL数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接,缺省mysql的timeout时间是28800秒,也就是8小时。
解决方法:我们改成8000小时
cd /usr/local/mysql
vi my.cnf
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
不需要重启mysql服务
参考文档:http://hi.baidu.com/onezero520/item/fa82b6dd03409715e1f46f08
【转】使用kettle工具遇到的问题汇总及解决方案的更多相关文章
- Android开发之《常用工具及文档汇总》
GreenVPN:https://www.getgreenjsq.com/ Android开发工具.资料下载汇总:http://androiddevtools.cn/#img-size-handle- ...
- kettle工具二次开发-代码启动JOB
kettle工具是一款优秀的数据同步.数据处理的BI工具,收到了很多人的青睐.kettle软件通过可视化的图标可以让我们很轻易的能完成数据同步.处理的开发工作.但是使用kettle可视化界面在跑JOB ...
- kettle工具实现报表导出的初步搭建
1.下载kettle 国外网站:http://kettle.pentaho.org/需要FQ,下载慢 2.下载完成启动(windows)-->spoon.bat 3.进入界面,两个主要的tab页 ...
- kettle工具的设计模块
大家都知道,每个ETL工具都用不同的名字来区分不同的组成部分.kettle也不例外. 比如,在 Kettle的四大不同环境工具 本博客,是立足于kettle工具的设计模块的概念介绍. 1.转换 转换( ...
- kettle工具的设计原则
不多说,直接上干货! Kettle工具在设计初,就考虑到了一些设计原则.这些原则里借鉴了以前使用过的其他一些ETL工具积累下的经验和教训. 易于开发:作为数据仓库和ETL开发者,你只想把时间用在创建B ...
- ETH&EOS开发资源及工具集合(完整汇总版)
ETH&EOS开发资源及工具集合(完整汇总版) 3113 ETH开发资源篇 一.开发语言 · Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语 ...
- 【实战】使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中
最近有一个将 mysql 数据导入到 MongoDB 中的需求,打算使用 Kettle 工具实现.本文章记录了数据导入从0到1的过程,最终实现了每秒钟快速导入约 1200 条数据.一起来看吧~ 一.K ...
- H5项目常见问题汇总及解决方案
H5项目常见问题汇总及解决方案 H5 2015-12-06 10:15:33 发布 您的评价: 4.5 收藏 4收藏 H5项目常见问题及注意事项 Meta基础知识: H5页 ...
- flume常见异常汇总以及解决方案
flume常见异常汇总以及解决方案 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际生产环境中,我用flume将kafka的数据定期的往hdfs集群中上传数据,也遇到过一系列的坑 ...
随机推荐
- react native 之 Android物理返回键
基本用法 根据文档,安卓back键的处理主要就是一个事件监听: BackAndroid.addEventListener('hardwareBackPress', this.onBackPressed ...
- Python之路PythonNet,第二篇,网络2
pythonnet 网络2 问题: 什么是七层模型tcp 和udp区别三次握手和四次挥手************************************************** tcp ...
- C#语法-虚方法详解 Virtual 虚函数
虚方法 / Virtual 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- POJ3525:Most Distant Point from the Sea(二分+半平面交)
pro:给定凸多边形,求凸多边形内的点到最近边界的最远距离. sol:显然是二分一个圆,使得圆和凸多边形不相交,但是这样很难实现. 由于是凸多边形,我们可以把二分圆转化为二分凸多边形的移动. 如果每一 ...
- 20155208徐子涵 2016-2017-2 《Java程序设计》第9周学习总结
20155208徐子涵 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 撰写应用程序是利用通信协议对数据库进行指 ...
- 数据库(linux)
基本指令整合: 删除数据库 drop table department 修改表中已有记录 update company set salary=3000 where age-25: u ...
- 简单矩阵快速幂(HDU Tr A 1575)
题目中所给的方阵就是一个矩阵,而就是只要将题目所给矩阵不断进行相乘即可,本题中我采用的是直接重载运算符*,使矩阵每一个都进行运算,可以简化为只对对角线上的元素进行运算.最后所得结果就只需将最终的矩阵上 ...
- 03 重定向,请求转发,cookie,session
重定向: /* 之前的写法 response.setStatus(302); response.setHeader("Location", "login_success. ...
- java super的用法
通过用static来定义方法或成员,从某种程度上可以说它类似于C语言中的全局函数和全局变量. this&super这两个关键字的意义和用法. 在Java中,this通常指当前对象,super则 ...
- Js 字符串拼接的两种方法
字符串拼接的两种方法 用数组的方法的好处是:避免变量重新定义.赋值 <!DOCTYPE html> <html lang="en"> <head> ...