Luca Toscano created BIGTOP-3308:
------------------------------------
Summary: Openssl fails to load in hadoop checknative -a on Debian 9
Key: BIGTOP-3308
URL: https://issues.apache.org/jira/browse/BIGTOP-3308
Project: Bigtop
Issue Type: Bug
Affects Versions: 1.4.0
Reporter: Luca Toscano
Hi!
I am trying to switch from CDH 5.16 to BigTop 1.4. I am currently trying to
upgrade on a test cluster with Debian 9.
We use Spark 2.4.4 with RPC encryption+auth enabled, relying on openssl's
libcrypto capabilities. I noticed that with BigTop 1.4 hadoop checknative
reports an error for openssl:
openssl: false EVP_CIPHER_CTX_encrypting
Since on Debian 9 we have both openssl 1.10 and 1.0.2 deployed, we configured
libcrypto in this way:
0 lrwxrwxrwx 1 root root 44 Feb 17 08:59 /usr/lib/x86_64-linux-gnu/libcrypto.so
-> /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2
We had to add this symlink on CDH since a versioned libcrypto.so is not picked
up, and libssl-dev on Debian 9 creates a symlink to libcrypto1.1.0, not 1.0.2
(that was failing).
I see that EVP_CIPHER_CTX_encrypting seems guarded by a ifdef after
https://issues.apache.org/jira/browse/BIGTOP-2932, so I guess that BigTop on
Debian 9 builds against libssl1.1.0? (Still a bit ignorant, don't know how to
check how things are build :()
I tried to move the symlink to something like:
0 lrwxrwxrwx 1 root root 42 Feb 17 10:31 /usr/lib/x86_64-linux-gnu/libcrypto.so
-> /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
And now checknative returns a different error:
openssl: false EVP_CIPHER_CTX_cleanup
The error in my opinion makes sense, since EVP_CIPHER_CTX_cleanup seems
deprecated from openssl 1.1.0 onward. From the Hadoop mailing list I found this
interesting thread, that shows the same problem:
[http://mail-archives.us.apache.org/mod_mbox/hadoop-user/201910.mbox/%3ccalh-6saug29ua2ix+aznr_tjzjqpwvbcvv_macqdxnyygoo...@mail.gmail.com%3e]
The main issue is that the reporter mentions libssl1.1.1, not 1.1.0, that
should be working with the aforementioned patch. Looking at the code I can see
that EVP_CIPHER_CTX_cleanup is not guarded by any ifdef (in
[https://github.com/apache/hadoop/blob/branch-2.8.5/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/OpensslCipher.c]),
so the error kinda makes sense to me.
Am I missing something obvious or is there a bug somewhere between Hadoop and
BigTop?
Thanks in advance!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)