文档首页/ MapReduce服务 MRS/ 故障排除/ 集群管理类/ 生成HA证书时报错“symbol xxx not defined in file libcrypto.so.1.1”
更新时间:2023-11-10 GMT+08:00

生成HA证书时报错“symbol xxx not defined in file libcrypto.so.1.1”

用户问题

更换HA证书时,执行sh ${OMS_RUN_PATH}/workspace/ha/module/hacom/script/gen-cert.sh --root-ca --country=CN --state=state --city=city --company=company --organize=organize --common-name=commonname --email=集群用户邮箱命令在主管理节点“${OMS_RUN_PATH}/workspace0/ha/local/cert”目录生成“root-ca.crt”和“root-ca.pem”时,发生以下报错:

openssl: relocation error: openssl: symbol BIO_new_dgram_sctp version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time referencecreate server private key failed.

原因分析

  • 用户可能修改了openssl不是系统默认的/usr/bin/openssl。
  • 动态库依赖libcrypto.so.1.1无法找到。
  • 如果集群为3.2.0及之前版本,可能在执行操作前执行了配置环境变量的命令(例如source bigdata_env),或修改了环境变量。3.2.0之后版本已修复该问题。

处理步骤

  1. omm用户通过主管理节点IP登录主管理节点。
  2. 执行以下命令查看执行结果是否为“/usr/bin/openssl”。如果不是请修改openssl为系统默认的/usr/bin/openssl。

    which openssl

  3. 执行以下命令查看动态库依赖。

    ldd /usr/bin/openssl

    例如执行后结果如下:

    [omm@xxx ~]$ ldd /usr/bin/openssl
            linux-vdso.so.1 (0x0000ffffaf016000)
            libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x0000ffffaee7a000)
            libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x0000ffffaebc2000)
            libz.so.1 => /usr/lib64/libz.so.1 (0x0000ffffaeb91000)
            libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000ffffaeb70000)
            libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000ffffaeb3b000)
            libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffffae9c5000)
            /lib/ld-linux-aarch64.so.1 (0x0000ffffaefe8000)

    查看执行结果中libcrypto.so.1.1的指向是否有值,如果为not found请执行以下命令加载。

    echo $LD_LIBRARY_PATH

  4. 查看系统库环境变量里是否加载了非系统的openssl相关的库。如果是,请修改为系统的openssl相关的库。
  5. 如果仍旧无法解决,请联系支持人员。