前言
这是我在使用kettle进行数据抽取的时候遇到的问题,本来以为需要解决这个问题,没想到不用,但是毕竟尝试了,可能解决了,还是记录下来,给大家参考
解决方案
关于这个问题,官方有解释
再来了解 随机数生成器
/dev/random是Linux内核提供的安全随机数生成设备;
/dev/random依赖系统中断信息来生成随机数,
当设备数目比较少时,产生随机数的速度比较慢,如果应用对随机数的需求比较大时就会供不应求;
/dev/random在读取时会阻塞调用线程;
/dev/urandom是/dev/random的改良版本,
解决了随机数生成慢、阻塞调用的问题,但同时稍微降低了安全性;
出现这个问题的原因就是随机数不够用了
1。要将java里的security里的/dev/random改为/dev/urandom
我是Centos8系统,安装的java版本是
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
因为是通过yum安装,所以这个文件位置在
cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el8_0.x86_64/jre/lib/security
vim java.security
在118行的样子,将
securerandom.source=file:/dev/random
改为
securerandom.source=file:/dev/./urandom
之后保存退出就行了
然后我还安装了一个程序包
yum install haveged
这个程序作用是提供熵,使熵值变大,随机数产生速度加快