生命就像人家的魔法书,涂涂改改又是一年📖

目录

原因
解决办法

完整报错:

在这里插入图片描述
在这里插入图片描述
在执行sqoop脚本导数据的时候出现Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateNotYetValidException: NotBefore: Tue Oct 11 17:24:18 CST 2022报错,证书不合法,解决办法是jdbc连接MySQL时不使用ssl协议,所以在jdbc连接后面加上参数useSSL=false就可以了。

jdbc:mysql://localhost:3306/student?useSSL=false

原因:

sqoop连接MySQL会使用安全加密的连接也就是SSL协议(非对称加密,有公钥和私钥),CertificateNotYetValidException:证书不合法。这个证书其实存储的是公钥,这个公钥有时间要求的,从证书创建到有效期结束(比如证书有效期两年),这段时间这个证书是有效的,也就是可用的。根据提示可知我的证书创建时间是:Oct 11 17:24:18 CST 2022,10月11号(这个证书是sqoop连接MySQL的时候自动创建的)。而我为了生成2021年的数据修改了时间,所以这里的证书就不在有效期内,所以就抛异常了。

解决办法:

知道了原因就很简单了,只要把时间改到证书生成那个时间后就可以了。

或者

一劳永逸,干脆不使用ssl协议,在jdbc的url后面加上参数useSSL=false就可以了。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐