DataFlow JOB报错:无法分配sha384(原因:-2)求解决方案
解决DataFlow启动报错"ima: Can not allocate sha384 (reason: -2)"
报错场景
执行以下DataFlow启动命令时触发报错:
python nbo.py --temp_location gs://xxxxx/tmp/ --project xxxxx --region us-central1 --runner DataflowRunner --job_name xxxxx --output_table xxxxx.xxxxx --input_subscription projects/xxxxx/subscriptions/xxxxx
错误信息:
"ima: Can not allocate sha384 (reason: -2)"
可能的解决方法
- 更新加密相关依赖库:该错误多与加密库版本不兼容或缺失有关,执行以下命令更新Python环境中的加密依赖:
pip install --upgrade cryptography pyopenssl - 检查系统OpenSSL版本:若在本地或自定义Worker镜像运行,通过
openssl version查看版本,若版本过低,升级系统的OpenSSL包,确保其支持SHA384算法。 - 切换DataFlow SDK版本:旧版SDK可能存在加密算法调用问题,切换到官方推荐的稳定版SDK(如2.x系列最新版),避免使用过旧或测试版本。
- 排查自定义Worker镜像:如果使用自定义镜像,确认镜像中完整包含OpenSSL核心组件,未裁剪加密相关依赖。
- 临时调整加密配置(仅测试用):若以上方法无效,可尝试通过环境变量临时跳过特定加密配置,但不建议生产环境使用:
export OPENSSL_CONF=/dev/null
内容的提问来源于stack exchange,提问作者andres acosta
相关产品推荐
相关产品推荐

