Hi Zuo,

Can you make sure that the user, which impalad runs as, has read
permissions on that file (/var/lib/impala/udfs/libaes-deencrypt.651.7.so)?

Have you changed anything else except the cdh version? OS? SELinux?

Best wishes, Lars

On Thu, Apr 21, 2016 at 7:13 AM, WANG Zuo (王佐) <[email protected]> wrote:

> Hi -
>
> I was able to register the UDF functions on cdh5.5.2, but failed to
> register it on cdh5.7.0. Could anybody help me to take a look?
>
> Here is the logs:
> 506 I0421 13:00:15.342900   886 lib-cache.cc:376] Adding lib cache entry:
> hdfs://bjs0-3a7.big1.lf.wanda.cn:8020/udf/libaes-deencrypt.so, local
> path: /var/lib/impala/udfs/libaes-deencrypt.6
> 1507 I0421 13:00:15.401532   886 status.cc:112] Unable to load
> /var/lib/impala/udfs/libaes-deencrypt.651.7.so
> 1508 dlerror: /var/lib/impala/udfs/libaes-deencrypt.651.7.so: failed to
> map segment from shared object: Operation not permitted
> 1509     @           0x7acb89  (unknown)
> 1510     @           0xa93284  (unknown)
> 1511     @           0x956f5a  (unknown)
> 1512     @           0x957772  (unknown)
> 1513     @           0x957c2a  (unknown)
> 1514     @           0x9dcb95  (unknown)
> 1515     @     0x7f39f7bbbd98  (unknown)
> 1516 I0421 13:00:15.401562   886 lib-cache.cc:242] Removing lib cache
> entry: hdfs://bjs0-3a7.big1.lf.wanda.cn:8020/udf/libaes-deencrypt.so,
> local path: /var/lib/impala/udfs/libaes-deencrypt
> 1517 I0421 13:00:15.404769 886 jni-util.cc:177]
> com.cloudera.impala.common.AnalysisException: Could not load binary:
> /udf/libaes-deencrypt.so
> 1518 Unable to load /var/lib/impala/udfs/libaes-deencrypt.651.7.so
> 1519 dlerror: /var/lib/impala/udfs/libaes-deencrypt.651.7.so: failed to
> map segment from shared object: Operation not permitted
> 1520
> 1521     at
> com.cloudera.impala.catalog.Function.lookupSymbol(Function.java:419)
> 1522     at
> com.cloudera.impala.analysis.CreateUdfStmt.analyze(CreateUdfStmt.java:92)
> 1523     at
> com.cloudera.impala.analysis.AnalysisContext.analyze(AnalysisContext.java:354)
> 1524     at
> com.cloudera.impala.analysis.AnalysisContext.analyze(AnalysisContext.java:329)
> 1525     at
> com.cloudera.impala.service.Frontend.analyzeStmt(Frontend.java:875)
> 1526     at
> com.cloudera.impala.service.Frontend.createExecRequest(Frontend.java:904)
> 1527     at
> com.cloudera.impala.service.JniFrontend.createExecRequest(JniFrontend.java:141)
> 1528 I0421 13:00:15.413624   886 status.cc:112] AnalysisException: Could
> not load binary: /udf/libaes-deencrypt.so
> 1529 Unable to load /var/lib/impala/udfs/libaes-deencrypt.651.7.so
> 1530 dlerror: /var/lib/impala/udfs/libaes-deencrypt.651.7.so: failed to
> map segment from shared object: Operation not permitted
> 1531
> 1532     @           0x7acb89  (unknown)
> 1533     @           0xab05f0  (unknown)
> 1534     @           0x9d2ff4  (unknown)
> 1535     @           0x9ecf1b  (unknown)
> 1536     @           0x9f3229  (unknown)
> 1537     @           0xa32783  (unknown)
> 1538     @           0xc0c125  (unknown)
> 1539     @           0xc0f424  (unknown)
> 1540     @           0x77a25c  (unknown)
> 1541     @          0x160b61b  (unknown)
> 1542     @          0x15f3289  (unknown)
> 1543     @           0x93df49  (unknown)
> 1544     @           0x93e9a2  (unknown)
> 1545     @           0xafb4c7  (unknown)
> 1546     @           0xafbdd4  (unknown)
> 1547     @           0xd2f8aa  (unknown)
> 1548     @     0x7f39ff2e0dc5  start_thread
> 1549     @     0x7f39fe19728d  __clone
>
>
> Server version: impalad version 2.3.0-cdh5.5.2 RELEASE (build
> cc1125f10419a7269366f7f950f57b24b07acd64)
> [==========:21000] > show functions;
> Query: show functions
> +-------------+-----------------------------+
> | return type | signature                   |
> +-------------+-----------------------------+
> | STRING      | aes_decrypt(STRING, STRING) |
> | STRING      | aes_encrypt(STRING, STRING) |
> +-------------+-----------------------------+
>
>
> Server version: impalad version 2.5.0-cdh5.7.0 RELEASE (build
> ad3f5adabedf56fe6bd9eea39147c067cc552703)
> [=============:21000] > create function udf.aes_encrypt(string,string)
> returns string location "/udf/libaes-deencrypt.so" symbol="AES_Encrypt";
> Query: create function udf.aes_encrypt(string,string) returns string
> location "/udf/libaes-deencrypt.so" symbol="AES_Encrypt"
> ERROR: AnalysisException: Could not load binary: /udf/libaes-deencrypt.so
> Unable to load /var/lib/impala/udfs/libaes-deencrypt.651.7.so
> dlerror: /var/lib/impala/udfs/libaes-deencrypt.651.7.so: failed to map
> segment from shared object: Operation not permitted
>
>
> Best Regards,
> Zuo
>

Reply via email to