更新时间:2022-12-14 GMT+08:00
JDK版本不匹配启动spark-sql,spark-shell失败
问题背景与现象
JDK版本不匹配导致客户端启动spark-sql,spark-shell失败。
原因分析
- 在Driver端打印异常如下:
Exception Occurs: BadPadding 16/02/22 14:25:38 ERROR Schema: Failed initialising database. Unable to open a test connection to the given database. JDBC url = jdbc:postgresql://ip:port/sparkhivemeta, username = spark. Terminating connection pool (set lazyInit to true if you expect to start your database after your app).
- Sparksql任务使用时,需要访问DBService以获取元数据信息,在客户端需要解密密文来访问,在使用过程中,用户没有按照流程操作,没有执行配置环境变量操作,且在其客户端环境变量中存在默认的jdk版本,导致在执行解密过程中调用的解密程序执行解密异常,会引起用户被锁。
解决办法
- 使用which java命令查看默认的java命令是否是客户端的java。
- 如果不是,请按正常的客户端执行流程。
source ${client_path}/bigdata_env
kinit 用户名,然后输入用户名对应的密码,启动任务即可。
父主题: 使用Spark