解决sqoop抽数报错:IO Error: Connection reset

解决sqoop抽数报错:IO Error: Connection reset


问题:进行sqoop抽数时,虽然能成功执行,但是过程中有很多这样的信息
在这里插入图片描述
会发生很多次重新连接,有的会传输失败。

解决办法

官方给出的文档解决办法

网址:https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html
在这里插入图片描述
根据官方的提示,我们可以确定是系统的熵池

熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,而当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了

在系统计算时会产生一定数量的比特,这些比特会作为字节流返回,
java中会有两个文件来决定产生随机数,分别是/dev/urandom 和 /dev/random 后者在不能产生新的随机数时会阻塞程序,而前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择。/dev/random 会阻塞当前的程序,直到根据熵池产生新的随机字节之后才返回,所以使用 /dev/random 比使用 /dev/urandom 产生大量随机数的速度要慢。
本错误的原因是java默认选择/dev/random文件,在没有新的随机字节是会阻塞程序,而oracle服务器长期阻塞而时间超时会产生这种错误。

解决办法:

cd $JAVA_HOME/jre/lib/security
vi java.security

修改成如下内容:
securerandom.source=file:///dev/urandom

假如如上面还会出现相同的问题,我们通过查询cloudera社区熵池小于500时也会出现这种问题
查询熵池指令:cat /proc/sys/kernel/random/entropy_avail
我们通过下载第三方插件rng-tools可以解决s

yum install rng-tools -y

启动服务:

service rngd start

再次查看熵池大小为3千多,这个时候问题就会解决。

参考网址:
https://www.cnblogs.com/hello-wei/p/11898324.html
https://blog.csdn.net/tom_fans/article/details/85060733
https://blog.csdn.net/cwclw/article/details/52797131

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值