MarkLogic Connector for Hadoop Developer's Guide (PDF)

MarkLogic 9 Product Documentation
MarkLogic Connector for Hadoop Developer's Guide
— Chapter 6

« Previous chapter
Next chapter »

Troubleshooting and Debugging

This chapter covers the following topics related to troubleshooting and debugging MapReduce jobs that use the MarkLogic Connector for Hadoop:

Enabling Debug Level Logging

Enable debug logging for more insight into the job processing. For example, with debug logging enabled, the MarkLogic Connector for Hadoop logs detailed information about input splits, including the split query. To enable debug logging:

  1. Edit $HADOOP_CONF_DIR/log4j.properties.
  2. Add the following line to enable debug logging:
    log4j.logger.com.marklogic.mapreduce=DEBUG
  3. Re-run the job and look for DEBUG messages in the console output or log files.

In standalone mode, job output goes to stdout and stderr. In pseudo-distributed or fully distributed mode, job output goes to stdout, stderr, and Hadoop log files. For information on locating log files, see Viewing Job Status and Logs.

Solutions to Common Problems

This section presents symptoms and possible solutions for the following common problems:

For details, consult the documentation for your Hadoop distribution or the Apache Hadoop documentation at http://hadoop.apache.org.

Configuration File Not Found

Symptom: Job exits with IllegalArgumentException related to one of the connector configuration properties.
Cause: Hadoop failed to find or open the sample configuration file.
Solution: Confirm that job configuration file is present in $HADOOP_CONF_DIR and is readable by the user under which Hadoop runs.
Example: Exception in thread "main" java.lang.IllegalArgumentException: mapreduce.marklogic.output.hosts is not specified

XDBC App Server Not Reachable

Symptom: Job exits with an error related to the default provider, or exits with a connection refused error.
Cause: The XDBC App Server is not reachable. Either the host or port for the input or output XDBC App Server is incorrect.
Solution: Correct your configuration settings in the job configuration file in $HADOOP_CONF_DIR.
Example:

Exception in thread "main" java.lang.IllegalArgumentException: Default provider - Not a usable net address

Exception in thread "main" java.io.IOException: com.marklogic.xcc.exceptions.ServerConnectionException: Connection refused

Authorization Failure

Symptom: Job exits with an authorization failure.
Cause: The user name or password for the input or output user is incorrect.
Solution: Correct your configuration settings in the job configuration file in $HADOOP_CONF_DIR.
Example: Exception in thread "main" java.io.IOException: com.marklogic.xcc.exceptions.RequestPermissionException: Authorization failed for user 'fred'

« Previous chapter
Next chapter »
Powered by MarkLogic Server | Terms of Use | Privacy Policy