Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geomesa-users] Hortonworks/Geomesa distributed ingestion, error.


I did try this, and I thought it would work.

In my shell scrip that launches the load I included these lines:


myHortonVersion=`hadoop version | grep "^This command" | sed " s/^.*hdp.// " | sed "s/.hadoop.hadoop-common.*//" | sed "s/^/-Dhdp.version=/" `

echo “determined this is the local hortonworks version:"
echo ${myHortonVersion}

export JAVA_OPTS=${myHortonVersion}
echo "Using this Java Option: “
echo ${JAVA_OPTS}


geomesa ingest \
-u ${accumulo_user} -p ${accumulo_pw} \
-i ${accumulo_instance_id_param} -z ${zookeeper_param} \
-c myGeomesa.gcam -s gcam-schema \
-C gcam-reader \


When I run it I still get the same error, pasted below:

[andrew@gzet loadscripts]$ . load_gcam.sh
using these java opts:
-Dhdp.version=2.4.0.0-169
Using this Java Option: -Dhdp.version=2.4.0.0-169
Using GEOMESA_HOME = /home/andrew/data/geo/geomesa-1.2.4/dist/tools/geomesa-tools-1.2.4
Creating schema gcam-schema
Running ingestion in distributed mode
Submitting job - please wait...
Unable to parse '/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework' as a URI, check the setting for mapreduce.application.framework.path
java.lang.IllegalArgumentException: Unable to parse '/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework' as a URI, check the setting for mapreduce.application.framework.path


when I inspect the error further I find the mapreduce.tar.gz that the code is looking for here:

/usr/hdp/2.4.0.0-169/hadoop/mapreduce.tar.gz


We see that we are looking at the wrong path, albeit with the right version embedded in it.
The way the version option is assembled from the JAVA_OPTS into the URI for the file it’s searching for needs adjusting.

Is there a way you can pass that in an an option too?

many thanks with this
Andrew









Andrew J 
Morgan

CEO, Bytesumo Limited
Tel: +44 (0)7970130767
E-mail: andrew@xxxxxxxxxxxx

Bytesumo Limited - Registered Company in England and Wales 33 Brodrick Grove, London, SE2 0SR, UK. Company Number: 8505203 

On 27 Jul 2016, at 23:17, Andrew Morgan <andrew@xxxxxxxxxxxx> wrote:

James - this is really useful, thanks.

I’m now working through creating valid ingestion configuration routines for my files.
I had some errors in my configurations and I’m tweaking things to fix them.
For now I’m quickly testing using some local test files.

When my converter works properly, which should be shortly, I’ll re-point it at the HDFS data and try a larger ingest of my back history, and report back in.

thanks again!
Andrew




Andrew J 
Morgan

CEO, Bytesumo Limited
Tel: +44 (0)7970130767
E-mail: andrew@xxxxxxxxxxxx

Bytesumo Limited - Registered Company in England and Wales 33 Brodrick Grove, London, SE2 0SR, UK. Company Number: 8505203 

On 27 Jul 2016, at 20:09, Jason Brown <jbrown@xxxxxxxx> wrote:

Andrew,

Hi and welcome! We're glad you're up and running and got smoothly this far!

The fix is to set (or append to) an environment variable JAVA_OPTS with the key `-Dhdp.version`. Use hadoop version to get the hdp.version. For example:

$ hadoop version

Hadoop 2.7.1.2.4.2.0-258
Subversion git@xxxxxxxxxx:hortonworks/hadoop.git -r 13debf893a605e8a88df18a7d8d214f571e05289
Compiled by jenkins on 2016-04-25T05:46Z
Compiled with protoc 2.5.0
From source with checksum 2a2d95f05ec6c3ac547ed58cab713ac
This command was run using /usr/hdp/2.4.2.0-258/hadoop/hadoop-common-2.7.1.2.4.2.0-258.jar

We parse as Hadoop 2.7.1 and HDP version 2.4.2.0-258. Note the HDP version appears in both the hadoop version and the directory for hadoop-common.jar. So now set (or append) your JAVA_OPTS.

$ JAVA_OPTS="-Dhdp.version=2.4.2.0-258"

And try your ingest again. Let us know if you run into any additional issues.

-Jason





Back to the top