Created on 04-04-2018 02:42 PM - edited 09-16-2022 06:04 AM
Hi Community,
I am trying to run a YARN script to test tune my cluster using teraGen and TeraSort. I have modified the script and got the teraGen part Running with no problems. However I keep getting an error when the teraSort begins:
Below is the error:
18/04/04 21:29:47 INFO terasort.TeraSort: starting
java.net.URISyntaxException: Illegal character in path at index 0: /_partition.lst#_partition.lst
at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parseHierarchical(URI.java:3086)
at java.net.URI$Parser.parse(URI.java:3044)
at java.net.URI.<init>(URI.java:595)
at org.apache.hadoop.examples.terasort.TeraSort.run(TeraSort.java:300)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.examples.terasort.TeraSort.main(TeraSort.java:325)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:71)
at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)And below is the Script
#!/bin/sh
# Confirm the path values given below correspond to your installation
MR=/opt/cloudera/parcels/CDH/lib/hadoop-0.20-mapreduce
HADOOP=/opt/cloudera/parcels/CDH/bin
# Mark start of the loop
echo Testing loop started on `date`
# Mapper containers
for i in 8
do
# Reducer containers
for j in 1
do
# Container memory
for k in 512 1024
do
# Set mapper JVM heap
MAP_MB=`echo "($k*0.8)/1" | bc`
# Set reducer JVM heap
RED_MB=`echo "($k*0.8)/1" | bc`
time ${HADOOP}/hadoop jar ${MR}/hadoop-examples.jar teragen \
-Dmapreduce.job.maps=$i \
-Dmapreduce.map.memory.mb=$k \
-Dmapreduce.map.java.opts.max.heap=$MAP_MB \
100000000 /user/devops/results/tg-10GB-${i}-${j}-${k} 1>teragen_${i}_${j}_${k}.out 2>teragen_${i}_${j}_${k}.err
time ${HADOOP}/hadoop jar ${MR}/hadoop-examples.jar terasort \
-Dmapreduce.job.maps=$i \
-Dmapreduce.job.reduces=$j \
-Dmapreduce.map.memory.mb=$k \
-Dmapreduce.map.java.opts.max.heap=$MAP_MB \
-Dmapreduce.reduce.memory.mb=$k \
-Dmapreduce.reduce.java.opts.max.heap=$RED_MB \
/user/devops/results/tg-10GB-${i}-${j}-${k} \
/user/devops/results/ts-10GB-${i}-${j}-${k} 1>>tera_${i}_${j}_${k}.out 2>>tera_${i}_${j}_${k}.err
$HADOOP/hadoop fs -rm -r -skipTrash /user/devops/results/tg-10GB-${i}-${j}-${k}
$HADOOP/hadoop fs -rm -r -skipTrash /user/devops/results/ts-10GB-${i}-${j}-${k}
done
done
done
echo Testing loop ended on `date`Been at this for a couple of days so any help is more than welcome!
thanks
Created on 05-07-2018 09:42 AM - edited 05-07-2018 09:43 AM
Ok so I finally found an answer. It seems copying from notepad to vi adds hidden characters had to code everything on vi and I had no issue.
Created on 05-07-2018 09:42 AM - edited 05-07-2018 09:43 AM
Ok so I finally found an answer. It seems copying from notepad to vi adds hidden characters had to code everything on vi and I had no issue.