Testing a secured MapR cluster connection using the wizard fails with the error "Unable to connect to any of the cluster's CLDBs"

Symptoms

A Hadoop cluster is enabled with MapR authentication. A Hadoop cluster connection for MapR is created from Studio. The Force MapR Ticket Authentication option was enabled and provided the details such as user, password, and cluster name. When the Check Services button was clicked, connectivity to the name node fails with the following error:

 

org.talend.designer.hdfsbrowse.exceptions.HadoopServerException: org.talend.designer.hdfsbrowse.exceptions.HadoopServerException: java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
at org.talend.designer.hdfsbrowse.hadoop.service.check.AbstractCheckedServiceProvider.checkService(AbstractCheckedServiceProvider.java:57)
at org.talend.designer.hdfsbrowse.hadoop.service.HadoopServiceBean.check(HadoopServiceBean.java:102)
at org.talend.designer.hdfsbrowse.hadoop.service.check.CheckHadoopServicesDialog$5.run(CheckHadoopServicesDialog.java:373)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.talend.designer.hdfsbrowse.exceptions.HadoopServerException: java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
at org.talend.designer.hdfsbrowse.hadoop.service.check.CheckedWorkUnit.execute(CheckedWorkUnit.java:47)
at org.talend.designer.hdfsbrowse.hadoop.service.check.AbstractCheckedServiceProvider.checkService(AbstractCheckedServiceProvider.java:54)
... 5 more
Caused by: java.util.concurrent.ExecutionException: java.lang.reflect.InvocationTargetException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at org.talend.designer.hdfsbrowse.hadoop.service.check.CheckedWorkUnit.execute(CheckedWorkUnit.java:44)
... 6 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.talend.core.utils.ReflectionUtils.invokeMethod(ReflectionUtils.java:166)
at org.talend.designer.hdfsbrowse.hadoop.service.check.AbstractCheckedServiceProvider.setMaprTicketConfig(AbstractCheckedServiceProvider.java:157)
at org.talend.designer.hdfsbrowse.hadoop.service.check.provider.CheckedNamenodeProvider.check(CheckedNamenodeProvider.java:67)
at org.talend.designer.hdfsbrowse.hadoop.service.check.AbstractCheckedServiceProvider$1.run(AbstractCheckedServiceProvider.java:49)
at org.talend.designer.hdfsbrowse.hadoop.service.check.CheckedWorkUnit$1.call(CheckedWorkUnit.java:65)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more
Caused by: com.mapr.login.MapRLoginException: Unable to connect to any of the cluster's CLDBs. CLDBs tried: cluster-mapr52-00079213:7443. Please check your cluster configuration.
at com.mapr.login.client.MapRLoginHttpsClient.authenticateWithMapRCluster(MapRLoginHttpsClient.java:743)
at com.mapr.login.client.MapRLoginHttpsClient.getMapRCredentialsViaPassword(MapRLoginHttpsClient.java:307)
... 13 more

 

Diagnosis

  1. On a Windows machine, the MapR client configuration is verified. The MapR ticket is generated successfully using the command maprlogin password.
  2. The hadoop fs -ls / command was successfully executed from C:\opt\mapr\hadoop\hadoop-0.20.2\bin.
  3. The telnet command on the CLDB server and port 7443 is always successful.

 

The successful tests above help you to know that there are no connectivity issues or configuration issues from the MapR client. The error states that there is a CLDB connectivity issue from Studio, and this is a generic error. When MapR authentication is enabled, you use SSL for the Hadoop cluster, but Talend Studio is not configured with the Hadoop cluster SSL. Hence, this issue is observed.

 

Solution

To fix the issue, add the Hadoop cluster certificate to the cacerts file (the default keystore file in C:\Program Files\Java\jdk1.8.0_141\jre\lib\security) used by Talend Studio. The steps are given below.

 

  1. Use the following command to find the certificate of MapR from the MapR client installed location:

    keytool -list -v -keystore truststore file
  2. Export the MapR certificate using the following command from the truststore file.

    keytool -exportcert -keystore truststore file -alias alias -file temporary certificate file
  3. Import the MapR certificate using the following command to the cacerts file used by Studio:

    keytool -importcert -keystore cacerts -alias alias -file temporary certificate file

     

    Note: The Studio .log that is enabled with debug logging will not log any errors on SSL in this use case.

Version history
Revision #:
9 of 9
Last update:
‎09-29-2018 12:14 AM
Updated by: