Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us at Qlik Connect 2026 in Orlando, April 13–15: Register Here!

'UnsatisfiedLinkError' when executing a Job that uses a tMapRStreamsInput component

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
TalendSolutionExpert
Contributor II
Contributor II

'UnsatisfiedLinkError' when executing a Job that uses a tMapRStreamsInput component

Last Update:

Feb 9, 2024 1:22:49 PM

Updated By:

Jamie_Gregory

Created date:

Apr 1, 2021 6:14:02 AM

Problem Description

When running a Talend 6.3.1 standard Job that uses a tMapRStreamsInput component against MapR 5.2 Hadoop cluster, it fails with the following error:

[FATAL]: testtc.lect_stdt_mapr_stream_0_1.lect_stdt_mapr_stream - tMapRStreamsInput_1 Error occurred while instantiating com.mapr.streams.impl.listener.MarlinListener.
java.lang.UnsatisfiedLinkError: com.mapr.fs.jni.MarlinJniListener.OpenListener(Ljava/lang/String;Ljava/lang/String;IZZJJIIILjava/lang/String;Ljava/lang/String;JZ)J.
Exception in component tMapRStreamsInput_1
..
java.lang.RuntimeException: Error occurred while instantiating com.mapr.streams.impl.listener.MarlinListener.
java.lang.UnsatisfiedLinkError: com.mapr.fs.jni.MarlinJniListener.OpenListener(Ljava/lang/String;Ljava/lang/String;IZZJJIIILjava/lang/String;Ljava/lang/String;JZ)J.
at org.apache.kafka.clients.mapr.GenericHFactory.getImplementorInstance(GenericHFactory.java:41)
at org.apache.kafka.clients.consumer.KafkaConsumer.initializeConsumer(KafkaConsumer.java:591)
at org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(KafkaConsumer.java:902)
at org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(KafkaConsumer.java:949)
at testtc.lect_stdt_mapr_stream_0_1.lect_stdt_mapr_stream.tMapRStreamsInput_1Process(lect_stdt_mapr_stream.java:1312)

 

Root Cause

The Job has a dependency on a user routine, delete_maprdb, that depends on a Java library, fat-hbase-client-0.0.1-SNAPSHOT-jar-with-dependencies.jar. This Java library is used when running the Job and provides classes, overriding classes imported by Talend, that are not compatible with the C native library of MapR 2.5.

 

0693p000008u9VRAAY.pngRoutine delete_maprdb libraries > fat-hbase-client-0.0.1-SNAPSHOT-jar-with-dependencies.jar

 

Solution

Configure the Job so that it does not use the routine, delete_maprdb, that needs the fat-hbase-client-0.0.1-SNAPSHOT-jar-with-dependencies.jar user library.

 

To implement this solution, perform the following steps:

  1. From Studio, right-click your Job.

  2. Select Setup routine dependencies.

  3. Select the routine you want to delete, in this case, delete_maprdb.

  4. Click the red X. Click OK.

    0693p000008u9jIAAQ.pngDeleting User routines

Version history
Last update:
‎2024-02-09 01:22 PM
Updated by: