- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
sqoop import error
- Labels:
-
Apache Hadoop
-
Apache Sqoop
Created ‎03-08-2018 11:02 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to import a table named 'widgets' in the data base 'Testdb' with the command below:
$sqoop import --connect jdbc:mysql://hadoop/Testdb --table widgets -m 4 -username root -P
I get the error "Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver"
Created ‎03-08-2018 11:26 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you do not have the mysql driver in your host then please install it as following:
# yum install mysql-connector-java* # cp -f /usr/share/java/mysql-connector-java.jar /usr/hdp/current/sqoop-client/lib/
.
If you do not want to use "yum" to install mysql-connector-java then you can also download the tar archive of the connector from the following site and then put the extracted JAR (mysql-connector-java*.jar) inside the "usr/hdp/current/sqoop-client/lib/"
https://dev.mysql.com/downloads/connector/j/
.
Created ‎03-08-2018 11:13 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you copy the JDBC driver (mysql-connector-java*) to the $SQOOP_HOME/lib directory of your Sqoop installation.?
Then re-run the command
Created ‎03-08-2018 11:24 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
$ls -ltr /usr/share/java/mysql-connector-java-5.1.17.jar
ls: cannot access '/usr/share/java/mysql-connector-java-5.1.17.jar': No such file or directory
Created ‎03-08-2018 11:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You will need to download the mysql-connector-java (MySQL JDBC driver) and then put it to the following location:
# cp -f /usr/share/java/mysql-connector-java.jar /usr/hdp/current/sqoop-client/lib/
The you can run the Sqoop command something like following:
# su -l sqoop -c "sqoop import --connect jdbc:mysql://hadoop/Testdb --table widgets -m 4 --username root --password CHANGEME --driver com.mysql.jdbc.Driver"
.
Created ‎03-08-2018 11:19 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Following link talks about it in more detail: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.4/bk_data-movement-and-integration/content/ap...
Created ‎03-08-2018 11:38 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
$ cp -f /usr/share/java/mysql-connector-java.jar /usr/hdp/current/sqoop-client/lib/
cp: '/usr/share/java/mysql-connector-java.jar' and '/usr/hdp/current/sqoop-client/lib/mysql-connector-java.jar' are the same file
Created ‎03-08-2018 11:48 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you see the following symlink exist with the following user permission:
# ls -l /usr/hdp/current/sqoop-client/lib/mysql-connector-java.jar lrwxrwxrwx. 1 root root 40 Jun 9 2017 /usr/hdp/current/sqoop-client/lib/mysql-connector-java.jar -> /usr/share/java/mysql-connector-java.ja
.
Also do you see the following command shows the class found?
# jar -tvf /usr/share/java/mysql-connector-java.jar | grep 'com.mysql.jdbc.Driver' 919 Tue Jan 01 00:00:00 UTC 1980 com/mysql/jdbc/Driver.class
Created ‎03-08-2018 11:26 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you do not have the mysql driver in your host then please install it as following:
# yum install mysql-connector-java* # cp -f /usr/share/java/mysql-connector-java.jar /usr/hdp/current/sqoop-client/lib/
.
If you do not want to use "yum" to install mysql-connector-java then you can also download the tar archive of the connector from the following site and then put the extracted JAR (mysql-connector-java*.jar) inside the "usr/hdp/current/sqoop-client/lib/"
https://dev.mysql.com/downloads/connector/j/
.
Created ‎03-08-2018 11:48 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
#su -l sqoop -c "sqoop import --connect jdbc:mysql://hadoop/Testdb --table widgets -m 4 --username root --password CHANGEME --driver com.mysql.jdbc.Driver"
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Created ‎03-08-2018 11:50 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Now the error says that it is not able to communicate with MySQL server.
So please check if your mysql server is running file and listening to "hadoop:3306" port
# netstat -tnlpa | grep 3306 # hostname -f # ps -ef | grep mysql
.
Also please check if there is any issue/error logged in mysql log.
.
