Set up Pentaho to connect to a MapR cluster
Before you begin
Procedure
Check the Components Reference to verify that your Pentaho version supports your version of the HDP cluster.
Set up a MapR cluster.
Pentaho can connect to secured and unsecured MapR clusters:Configure a MapR cluster.
See MapR's documentation if you need help.Install any required services and service client tools.
Test the cluster.
Set up MapR client
Install the MapR client, then test to make sure it is properly installed on your computer and is able to connect to and browse your MapR cluster. For more information on how to do this, visit the MapR site.
Set the MAPR_HOME environment variable to the installation location of the MapR client.
NoteIf you are installing MapR 4.0.1 on Windows, use version 4.0.1.31009GA or later as your MapR client. If you are using MapR 4.1.0, use version 4.1.0.31175GA of the MapR client. The software can be obtained from MapR.
Read the Notes section to review special configuration instructions for your version of MapR.
Setup a secured cluster
Procedure
Secure the MapR cluster with Kerberos.
Pentaho supports Kerberos authentication. You will need to:Configure Kerberos security on the cluster, including the Kerberos Realm, Kerberos KDC, and Kerberos Administrative Server.
Configure the name, data, secondary name, job tracker, and task tracker nodes to accept remote connection requests.
Set up Kerberos for name, data, secondary name, job tracker, and task tracker nodes if you are have deployed Hadoop using an enterprise-level program.
Add the user account credential for each Pentaho user that should have access to the Hadoop cluster to the Kerberos database.
Make sure there is an operating system user account on each node in the Hadoop cluster for each user that you want to add to the Kerberos database. Add operating system user accounts if necessary.NoteThe user account UIDs must be greater than the minimum user ID value (min.user.id). Usually, the minimum user ID value is set to 1000.
Set up Kerberos on your Pentaho computers.
Instructions for how to do this appear in Set Up Kerberos for Pentaho.Set up impersonation.
If you will be using impersonation, you will also need to complete the steps in the Use Kerberos with MapR article.
If you plan to use spoofing or impersonation to connect to the MapR client, specify the appropriate User ID (UID), Group ID (GID), and name as indicated in the MapR documentation.
NoteMake sure that the account that you use for spoofing is created the client and on each node. Each spoofing account should have the same UID and GID as the one on the client.
Next steps
Configure Pentaho component shims
You must configure the shim in each of the following Pentaho components, on each computer from which Pentaho will be used to connect to the MapR cluster:
- PDI client (Spoon)
- Pentaho Server
- Pentaho Report Designer (PRD)
- Pentaho Metadata Editor (PME)
As a best practice, configure the shim in the PDI client first. The PDI client has features that will help you test your configuration. Then copy the tested PDI client configuration files to other components, making changes if necessary.
You can also opt to go through these instructions for each Pentaho component, and not copy the shim files from the PDI client.
Step 1: Locate the Pentaho Big Data plugin and shim directories
Shims and other parts of the Pentaho Adaptive Big Data Layer are in the Pentaho Big Data Plugin directory. The path to this directory differs by component. You need to know the locations of this directory, for each component, to complete shim configuration and testing tasks.
Components | Location of Pentaho Big Data Plugin Directory |
PDI client | <pentaho home>/design-tools/data-integration/plugins/pentaho-big-data-plugin |
Pentaho Server | <pentaho home>/server/pentaho-server/pentaho-solutions/system/kettle/plugins/pentaho-big-data-plugin |
Pentaho Report Designer | <pentaho home>/design-tools/report-designer/plugins/pentaho-big-data-plugin |
Pentaho Metadata Editor | <pentaho home>/design-tools/metadata-editor/plugins/pentaho-big-data-plugin |
Shims are located in the pentaho-big-data-plugin/hadoop-configurations directory. Shim directory names consist of a three or four-letter Hadoop Distribution abbreviation followed by the Hadoop Distribution's version number. The version number does not contain a decimal point. For example, the shim directory named cdh512 is the shim for the CDH (Cloudera Distribution for Hadoop), version 5.12. Here is a list of the shim directory abbreviations.
Abbreviation | Shim |
cdh | Cloudera's Distribution of Apache Hadoop |
emr | Amazon Elastic Map Reduce |
hdi | Microsoft Azure HDInsight |
hdp | Hortonworks Data Platform |
mapr | MapR |
Step 2: Select the correct shim
Procedure
Navigate to the pentaho-big-data-plugin/hadoop-configurations directory to view the shim directories.
If the shim you want to use is already there, you can go to Step 3: Copy the configuration files from cluster to shim.On the Customer Portal home page, sign in using the Pentaho support user name and password provided to you in your Pentaho Welcome Packet.
In the search box, enter the name of the shim you want, then select the shim from the search results.
(Optional) You can browse the shims by version on the Downloads page.Read all prerequisites, warnings, and instructions.
On the bottom of the page in the Box widget, click the shim ZIP file to download it.
Unzip the downloaded shim package into the pentaho-big-data-plugin/hadoop-configurations directory.
Step 3: Copy the configuration files from cluster to shim
Procedure
Back up the existing MapR shim files in the pentaho-big-data-plugin/hadoop-configurations/maprxx directory.
Copy the following configuration files from the MapR cluster to pentaho-big-data-plugin/hadoop-configurations/maprxx.
You should overwrite the existing files.- hbase-site.xml
- hdfs-site.xml
- hive-site.xml
Copy the following configuration files from the MapR cluster to the Hadoop directory under the MapR Client installed on your computer.
NoteThe Winows path to the MapR client is usually C:\opt\mapr\hadoop\hadoop-2.x.x\etc\hadoop. In Linux the path is usually /opt/mapr/hadoop/hadoop-2.x.x/etc/hadoop.- core-site.xml
- mapred-site.xml
- yarn-site.xml
Step 4: Edit the shim configuration files
You need to verify or change settings in authentication, Oozie, Hive, MapReduce, and YARN in these shim configuration files:
- config.properties
- mapred-site.xml
- yarn-site.xml
Edit configuration properties (Windows)
Procedure
Navigate to the pentaho-big-data-plugin/hadoop-configurations/maprxx directory and open the config.properties file.
Add the following values:
Parameter Value windows.classpath This value should match your local MapR client tools installation directory. Set the windows.classpath parameter equal to these: - Hadoop classpath
- Pentaho installation directory path
- MapR shim directory path
NoteThe MapR shim might fail to load correctly if the drive letter in the Windows classpath or library path has a capital letter. This is a known issue with MapR software. If this happens, use the lower case instead, like this:file:///c:/opt/mapr
.NoteThe value of windows.classpath parameter should include lib/hadoop2-windows-patch-08072014.jar as a first entry in the string, the Hadoop classpath of MapR client on the current machine, a full directory path where MapR shim is located under each Pentaho component, and this entry: file:///c:/opt/mapr/lib. To determine your hadoop classpath, execute the hadoop classpath command and use those values instead. Convert any directory paths to Windows URL format. The following is an example:windows.classpath=lib/hadoop2-windows-patch-08072014.jar,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/etc/hadoop,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/etc/hadoop,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common/lib,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common,file:///C://opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/hdfs,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/hdfs/lib,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/yarn/lib,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/yarn,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/mapreduce/lib,file:///C:/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/mapreduce,file:///C:/opt/mapr/sqoop/sqoop-1.4.5,file:///C:/opt/mapr/sqoop/sqoop-1.4.5/lib,file:///C:/contrib/capacity-scheduler,file:///C:/opt/Pentaho/design-tools/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/mapr401,file:///C:/opt/Pentaho/design-tools/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/mapr401/lib,file:///C:/opt/mapr/lib
windows.library.path windows.library.path=C:\\opt\\mapr\\lib
pentaho.oozie.proxy.user You do not need to verify this unless you plan to access the Oozie service through a proxy. If so, add the proxy user's name here. Save and close the file.
Edit configuration properties (Linux)
Procedure
Navigate to the pentaho-big-data-plugin/hadoop-configurations/maprxx directory and open the config.properties file.
Add the following values:
Parameter Value linux.classpath Edit this value to match your local MapR client tools installation directory. Set the linux.classpath parameter equal to these: - Hadoop classpath
- Pentaho installation directory path
- MapR shim directory path
The linux.classpath should contain the Hadoop classpath of MapR client on the current machine, a full directory path where MapR shim is located under each Pentaho component, and this entry:
/opt/mapr/lib
. To determine your hadoop classpath, execute the hadoop classpath command and use those values instead. The following is an example:linux.classpath=/opt/mapr/hadoop/hadoop-2.4.1/etc/hadoop,/opt/mapr/hadoop/hadoop-2.4.1/etc/hadoop,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common/lib,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/hdfs,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/hdfs/lib,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/yarn/lib,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/yarn,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/mapreduce/lib,/opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/mapreduce,/opt/mapr/sqoop/sqoop-1.4.5,/opt/mapr/sqoop/sqoop-1.4.5/lib,/contrib/capacity-scheduler,/opt/Pentaho/design-tools/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/mapr401,/opt/Pentaho/design-tools/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/mapr401/lib,/opt/mapr/lib
linux.library.path linux.library.path=/opt/mapr/lib
pentaho.oozie.proxy.user You do not need to verify this unless you plan to access the Oozie service through a proxy. If so, add the proxy user's name here. Save and close the file.
Edit Mapred site XML file
Procedure
Navigate to the Hadoop directory in your MapR Client and open the mapred-site.xml file.
Add the following values:
Parameter Value mapreduce.jobhistory.address Set this to the folder where you want to store the job history logs. mapreduce.app-submission.cross-platform Add this property to allow MapReduce jobs to run on either Windows client or Linux server platforms: <property> <name>mapreduce.app-submission.cross-platform</name> <value>true</value> </property>
Save and close the file.
Edit YARN site XML file
Procedure
Navigate to the Hadoop directory in your MapR Client and open the yarn-site.xml file.
Add the following values:
Parameter Value yarn.application.classpath <property> <name>yarn.application.classpath</name> <value>$HADOOP_CONF_DIR:$HADOOP_COMMON_HOME/share/hadoop/common/* :$HADOOP_COMMON_HOME/share/hadoop/common/lib/*:$HADOOP_HDFS_HOME/share/hadoop/hdfs/* :$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*:$HADOOP_YARN_HOME/share/hadoop/yarn/* :$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*:/usr/share/aws/emr/emrfs/lib/* :/usr/share/aws/emr/lib/*:/usr/share/aws/emr/auxlib/*:$PWD/*:%PWD%/* </value> </property>
yarn.resourcemanager.hostname Change to the hostname of the resource manager in your environment. yarn.resourcemanager.address Change to the hostname and port for your environment. yarn.resourcemanager.admin.address Change to the hostname and port for your environment. Save and close the file.
Step 5: Set MAPR_HOME
Set the MAPR_HOME environment variable to the installation location of the MapR client, then restart your computer.
Connect to a Hadoop cluster with the PDI client
Once you have set up your shim, you must make it active, then configure and test the connection to the cluster. For details on setting up the connection, see the article Connect to a Hadoop Cluster with the PDI Client.
Connect other Pentaho components to the MapR cluster
These instructions explain how to create and test a connection to the cluster in the Pentaho Server, PRD, and PME. Creating and testing a connection to the cluster in the PDI client involves two tasks:
- Setting the active shim on PRD, PME, and the Pentaho Server
- Configuring and testing the cluster connections.
Set the Active Shim on PRD, PME, and Pentaho Server
Procedure
Stop the component.
Locate the pentaho-big-data-plugin directory for your component.
Navigate to the hadoop-configurations directory.
Navigate to the pentaho-big-data-plugin directory and open the plugin.properties file.
Set the active.hadoop.configuration property to the directory name of the shim you want to make active. Here is an example:
active.hadoop.configuation=mpr410
Save and close the plugin.properties file.
Restart the component.
Create and test connections
Connection tests appear in the following table:
Component | Test |
Pentaho Server for DI | Create a transformation in the PDI client and run it remotely. |
Pentaho Server for BA | Create a connection to the cluster in the Data Source Wizard. |
PME | Create a connection to the cluster in PME. |
PRD | Create a connection to the cluster in PRD. |
Once you have connected to the cluster and its services properly, provide connection information to users who need access to the cluster and its services. Those users can only obtain access from computers that have been properly configured to connect to the cluster.
These users need the following information to connect:
- Hadoop distribution and version of the cluster
- HDFS, JobTracker, ZooKeeper, and Hive2/Impala Hostnames, IP addresses and port numbers
- Oozie URL (if used)
- Users also require the appropriate permissions to access the directories they need on HDFS. This typically includes their home directory and any other required directories.
They might also need more information depending on the job entries, transformation steps, and services they use. See the Hadoop connection and access information list for a more detailed list of information that your users might need from you.
Notes
The following are special topics for MapR.
Drive letter casing issue (Windows)
The MapR shim might fail to load correctly if the drive letter in the Windows classpath or library path has a capital letter. This is a known issue with MapR software. If this happens, use the lower case instead, like this: file:///c:/opt/mapr.
MapR 6.0 notes
The following notes address issues with MapR 6.0
Use MapR 6.0 with HBase
Perform the following steps to use HBase with the MapR 6.0 shim:
Procedure
Close all the Pentaho products and stop all HBase services.
On a MapR cluster, open the core-site.xml file.
Add the following property and values in the core-site.xml file:
<property> <name>hbase.table.namespace.mappings</name> <value>*://hbase</value> </property>
Save and close the core-site.xml file.
Copy the core-site.xml file to every cluster node.
Copy the core-site.xml file from the MapR cluster to the Hadoop directory under the MapR Client installed on your computer.
NoteThe default Windows path to the MapR client is C:\opt\mapr\hadoop\hadoop-2.x.x\etc\hadoop. The default Linux path is /opt/mapr/hadoop/hadoop-2.x.x/etc/hadoop.Restart all HBase services and Pentaho products.
Use MapR with MapR-DB
An additional setting is required to use MapR with MapR-DB. See the MapR Mapping to HBase Table Namespaces documentation for more information about this setting. Due to MapR limitations, Hbase comparators are not supported.
MapR 4.1 notes
The following notes address issues with MapR 4.1.
Impala support note
Pentaho does not support connections to Impala on a secured MapR 4.1 cluster. For more information, please see these references:
For troubleshooting cluster and service configuration Issues, refer to Big Data issues.