Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

oozie/bin/oozie.distro: line 59: java: command not found

avatar
Rising Star

I have an HDP Hadoop Cluster 2.3 where the JAVA_HOME is set to:

(cluster etc/profile)
JAVA_HOME=/usr/local/cloud/java/jdk1.8.0_65
PATH=$PATH:$JAVA_HOME/bin

and i checked the oozie and JDK by this way:

>java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

>oozie version
Oozie client build version: 4.2.0.2.3.2.0-2950

but when i running any oozie command we get an error, e.g. :

>oozie job -run -config ./job.properties -oozie {my oozie server url}
/usr/hdp/2.3.2.0-2950/oozie/bin/oozie.distro: line 59: java: command not found

and the oozie.distro file content is:

  1 #!/bin/bash
  2 #
  3 # Licensed to the Apache Software Foundation (ASF) under one
  4 # or more contributor license agreements.  See the NOTICE file
  5 # distributed with this work for additional information
  6 # regarding copyright ownership.  The ASF licenses this file
  7 # to you under the Apache License, Version 2.0 (the
  8 # "License"); you may not use this file except in compliance
  9 # with the License.  You may obtain a copy of the License at
 10 #
 11 #      http://www.apache.org/licenses/LICENSE-2.0
 12 #
 13 # Unless required by applicable law or agreed to in writing, software
 14 # distributed under the License is distributed on an "AS IS" BASIS,
 15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 16 # See the License for the specific language governing permissions and
 17 # limitations under the License.
 18 #
 19 
 20 # resolve links - $0 may be a softlink
 21 PRG="${0}"
 22 
 23 while [ -h "${PRG}" ]; do
 24   ls=`ls -ld "${PRG}"`
 25   link=`expr "$ls" : '.*-> \(.*\)$'`
 26   if expr "$link" : '/.*' > /dev/null; then
 27     PRG="$link"
 28   else
 29     PRG=`dirname "${PRG}"`/"$link"
 30   fi
 31 done
 32 
 33 BASEDIR=`dirname ${PRG}`
 34 BASEDIR=`cd ${BASEDIR}/..;pwd`
 35 
 36 OOZIECPPATH=""
 37 for i in "${BASEDIR}/lib/"*.jar; do
 38   OOZIECPPATH="${OOZIECPPATH}:$i"
 39 done
 40 for i in "${BASEDIR}/libext/"*.jar; do
 41   OOZIECPPATH="${OOZIECPPATH}:$i"
 42 done
 43 
 44 
 45 if test -z ${JAVA_HOME}
 46 then
 47     JAVA_BIN=java
 48 else
 49     JAVA_BIN=${JAVA_HOME}/bin/java
 50 fi
 51 
 52 # Prime OOZIE_CLIENT_OPTS with JAVA_PROPERTIES for backwards compatibility
 53 OOZIE_CLIENT_OPTS="${JAVA_PROPERTIES} ${OOZIE_CLIENT_OPTS}"
 54 
 55 while [[ ${1} =~ ^\-D ]]; do
 56   OOZIE_CLIENT_OPTS="${OOZIE_CLIENT_OPTS} ${1}"
 57   shift
 58 done
 59 ${JAVA_BIN} ${OOZIE_CLIENT_OPTS} -cp ${OOZIECPPATH} org.apache.oozie.cli.OozieCLI "${@}"

Thanks in advance!


oozie.png
1 ACCEPTED SOLUTION

avatar
Rising Star

add this line as below into /usr/hdp/2.3.2.0-2950/oozie/bin/oozie.distro, then it works ok.

JAVA_HOME="YOUR_JDK_INSTALLED_PATH"

View solution in original post

4 REPLIES 4

avatar
Super Collaborator

Edit /usr/hdp/2.3.2.0-2950/oozie/bin/oozie.distro and add below line before line 59 to see what value JAVA_BIN is taking. This may happen if you have updated/reinstalled Java and script is referring to old path.

echo ${JAVA_BIN}

avatar
Rising Star

@Rahul Pathak

i added this line into oozie.distro file. and the console output is java, linke below:

echo ${JAVA_BIN}
java


avatar
Rising Star

@Rahul Pathak

i add JAVA_HOME="" line into /usr/hdp/2.3.2.0-2950/oozie/bin/oozie.distro. then it works ok.

Thank you for your advice.

avatar
Rising Star

add this line as below into /usr/hdp/2.3.2.0-2950/oozie/bin/oozie.distro, then it works ok.

JAVA_HOME="YOUR_JDK_INSTALLED_PATH"