本次在storm中进行jdbc批量insert的时候,jdbc使用了executebatch进行批量插入,老是报statement cancelled due to timeout or client request错误,因为插入的数据量比较大。(默认超时为30s)
但是在本地自己测试往耗时是8秒。。。。
最后,找到了问题所在。jdbc url配置的时候需要设置rewriteBatchedStatements=true。否则,即使使用了executebatch进行插入,还是因为没有设置而变成一条一条插,这样每一次插入都要进行一次网络传输,速度自然就下来了,数据量一大,自然就会超时。。
参考:http://www.cnblogs.com/chenjianjx/archive/2012/08/14/2637914.html