Error launching sqoop client on windows

Per the installation directions I run:

./bin/sqoop.sh client

and it returns error:

could not find or load main class org.apache.sqoop.shell.SqoopShell

I'm setting up Sqoop for the first time. I have the server up and running on Redhat Linux. Now I am stuck running the client on Windows Server 2012. I am running hadoop v2 and sqoop-1.99.3-bin-hadoop200. At the command line I verified java is installed by running "java -version" at the command line and seeing "1.8.0". Scoop is written in Java 1.6. Does that matter? I'm having difficulty locating an active download link to 1.6 for windows for troubleshooting.

I tried installing Cygwin and running the command. Same error.

Answers


Locate the directory traversal for the case of client in sqoop.sh

# Build class path with full path to each library
 for f in $SQOOP_CLIENT_LIB/*.jar; do
  CLASSPATH="${CLASSPATH}:$f"
done

Just add the following search and replace params (note changes of colon to semicolon in classpath)

# Build class path with full path to each library
PARAMSEARCH="/c/"
PARAMREPLACE="C:\\"
for f in $SQOOP_CLIENT_LIB/*.jar; do
  f=${f/$PARAMSEARCH/$PARAMREPLACE}
  CLASSPATH="${CLASSPATH};$f"
done

I had the same issue running on Windows 8.1. Turns out it's caused because sqoop.sh uses POSIX style directory paths. So / instead of . This results in the script being unable to set the correct CLASSPATH. This could have been remedied by using a cmd file for Windows. I don't know why they didn't do it. There are cmd files for catalina and such but not for launching sqoop!

Anyway I got around this issue by adding all the jar files in the shell\lib folder to CLASSPATH. You do have to add each & every jar file there and not just the folder path. A restart was required after this which was annoying. However the shell script will still not launch the client even after this change. The little trick I used is to just launch the client at the command prompt from the shell\lib folder with the following command

      ***java org.apache.sqoop.shell.SqoopShell***

Now I get the groovy prompt from where I can run all the commands provided here


I used the following steps to configure sqoop in a windows machine and now able to work with sqoop 1.99.3 successfully.

*Cygwin must be installed before continuing further steps. Also its just for using the native libraries, we can interact with sqoop directly from windows command prompt.

  1. Save the sqoop package folder in “C:” drive name as sqoop
  2. Copy the hadoop lib folder “hadoop” from C:\hadoop\share into C:\usr\lib\hadoop [If this directory doesn't exists, then create one]
  3. Change the hadoop configuration properties in the file “sqoop.properties” from the location “C:\sqoop\server\conf” as below

    at line:132 org.apache.sqoop.submission.engine.mapreduce.configuration.directory=C:\hadoop\etc\hadoop

Copy the sqoop.properties and sqoop_bootstrap.properties from “C:\sqoop\server\conf” into “C:\sqoop\server\bin”.

Set the environment variables for sqoop home as well as path:

SQOOP_HOME = C:\sqoop

Starting the server:

  1. Open Command prompt (run as Administrator) and enter into the $SQOOP_HOME location and type command as follows

C:\sqoop> cd server\bin C:\sqoop\server\bin> catalina start

The catalina server will be start and check it in the below location

http://localhost:12000/sqoop

Client Shell Command

  1. Open the command prompt and enter the following command

    java -classpath C:\sqoop\shell\lib\sqoop-shell-2.0.0-SNAPSHOT.jar;C:\sqoop\shell\lib\sqoop-common-2.0.0-SNAPSHOT.jar;C:\sqoop\shell\lib\sqoop-client-2.0.0-SNAPSHOT.jar;C:\sqoop\shell\lib\log4j-1.2.16.jar;C:\sqoop\shell\lib\json-simple-1.1.jar;C:\sqoop\shell\lib\jline-0.9.94.jar;C:\sqoop\shell\lib\jersey-core-1.11.jar;C:\sqoop\shell\lib\jersey-client-1.11.jar;C:\sqoop\shell\lib\jansi-1.7.jar;C:\sqoop\shell\lib\hamcrest-core-1.3.jar;C:\sqoop\shell\lib\groovy-all-1.8.5.jar;C:\sqoop\shell\lib\commons-lang-2.6.jar;C:\sqoop\shell\lib\commons-cli-1.2.jar org.apache.sqoop.shell.SqoopShell

The client shell command will be displayed as :

    Sqoop Shell: Type 'help' or '\h' for help.
    sqoop:000>

Hope this helps

Thanks


Need Your Help

Unify the size of swf

actionscript-3 flash apache-flex ant flex4.5

When I compile the same project with ant many times it gives a different sizes for each compilation

jQuery AutoComplete, How to accept Found & UnFound Terms

jquery jquery-ui jquery-autocomplete

I'm referencing the jQuery autocomplete plugin code seen in this tutorial: