Hi Dipesh, 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: > java.lang.RuntimeException: Could not load db driver class: > com.teradata.jdbc.TeraDriver > java.lang.RuntimeException: Could not load db driver class: > com.teradata.jdbc.TeraDrive
Your Teradata jdbc jar is not found by Sqoop. The easiest way to fix it is to put *terajdbc4.jar* and *tdgssconfig.jar* in */usr/lib/sqoop/lib*. Thanks, Cheolsoo On Mon, Apr 23, 2012 at 10:32 AM, DIPESH KUMAR SINGH <[email protected]>wrote: > Hi Cheolsoo, > > As you suggested, I tried after removing "TeraDriver" line from > connectors file but that didn't worked > too. Please help..!! > > Here is the stack trace: > >> >> 12/04/23 01:02:35 DEBUG tool.BaseSqoopTool: Enabled debug logging. >> > Enter password: >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Checking for existing >> class: com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Attempting to load jar >> through URL: >> jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Previous classloader is >> java.net.URLClassLoader@27b15692 >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Testing class in jar: >> com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Loaded jar into current >> JVM: jar:file:///ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar!/ >> > 12/04/23 01:02:42 DEBUG util.ClassLoaderStack: Added classloader for jar >> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar: >> java.net.FactoryURLClassLoader@19e3cd51 >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Added factory >> com.cloudera.sqoop.manager.TeradataManagerFactory in jar >> /ms/user/a/sqoop-user/Sqoop/sqoop-td-connector-1.0.5.jar specified by >> /ms/user/a/sqoop-user/Sqoop/conf/managers.d/connectors >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >> com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Loaded manager factory: >> com.cloudera.sqoop.manager.DefaultManagerFactory >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Trying ManagerFactory: >> com.cloudera.sqoop.manager.TeradataManagerFactory >> > 12/04/23 01:02:42 DEBUG manager.TeradataManagerFactory: Trying with >> scheme: jdbc:teradata: >> > 12/04/23 01:02:42 INFO manager.SqlManager: Using default fetchSize of 1000 >> > 12/04/23 01:02:42 DEBUG sqoop.ConnFactory: Instantiated ConnManager >> com.cloudera.sqoop.teradata.TeradataManager@220ca470 >> > 12/04/23 01:02:42 INFO tool.CodeGenTool: Beginning code generation >> > 12/04/23 01:02:42 ERROR sqoop.Sqoop: Got exception running Sqoop: >> java.lang.RuntimeException: Could not load db driver class: >> com.teradata.jdbc.TeraDriver >> > java.lang.RuntimeException: Could not load db driver class: >> com.teradata.jdbc.TeraDriver >> > at >> com.cloudera.sqoop.manager.SqlManager.makeConnection(SqlManager.java:634) >> > at >> com.cloudera.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:51) >> > at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:456) >> > at com.cloudera.sqoop.manager.SqlManager.execute(SqlManager.java:479) >> > at >> com.cloudera.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:192) >> > at >> com.cloudera.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:176) >> > at com.cloudera.sqoop.orm.ClassWriter.generate(ClassWriter.java:1017) >> > at com.cloudera.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:82) >> > at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:337) >> > at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423) >> > at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144) >> > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) >> > at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180) >> > at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219) >> > at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228) >> > at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237) >> > >> > Thanks, > > Dipesh > > > > On Sun, Apr 22, 2012 at 3:01 PM, Cheolsoo Park <[email protected]>wrote: > >> Hi Dispesh, >> >> I added the line com.teradata.jdbc.TeraDriver=<path to jar file >>> terajdbc4.jar> along with >>> com.cloudera.sqoop.manager.TeradataManagerFactory=<path to >>> sqoop-td-connector-1.0.5.jar> >>> in connectors file inside managers.d directory. >> >> >> Please remove "com.teradata.jdbc.TeraDriver=<path to jar file >> terajdbc4.jar>" from your connector file. >> >> It should only contain >> "com.cloudera.sqoop.manager.TeradataManagerFactory=<path >> to sqoop-td-connector-1.0.5.jar>". >> >> Thanks, >> Cheolsoo >> >> >> On Sat, Apr 21, 2012 at 10:21 PM, DIPESH KUMAR SINGH < >> [email protected]> wrote: >> >>> I am trying to import the data from Teradata to hdfs referring Cloudera >>> Connector guide. I added the property >>> >>> (The Hadoop environment i am working in is a shared Hadoop installation, >>> So users are not allowed to >>> add any jars in lib directory or make changes in Sqoop-site.xml of >>> central installation. >>> However, users can use .profile i.e. user's configuration files to >>> specify CLASSPATH ) >>> >>> I added the line com.teradata.jdbc.TeraDriver=<path to jar file >>> terajdbc4.jar> along with >>> com.cloudera.sqoop.manager.TeradataManagerFactory=<path to >>> sqoop-td-connector-1.0.5.jar> >>> in connectors file inside managers.d directory. In my CLASSPATH, i have >>> added path to >>> SQOOP_CONF i.e. a Sqoop folder where i have kept my managers.d and all >>> jars. >>> >>> >>> With these I suppose i am able to connect to teradata using the teradata >>> manager factory using the teradriver as well >>> but, still i am facing this when i issue the sqoop import command as >>> below >>> >>> sqoop import >>> -libjars <path to tdgssconfig.jar> >>> --driver com.teradata.jdbc.TeraDriver >>> --connect jdbc:teradata://xxxxxx/DATABASE=dbname >>> --username hadoop --P >>> --table SQOOP_TEST >>> --num-mappers 3 --verbose >>> >>> 12/04/13 02:29:32 DEBUG tool.BaseSqoopTool: Enabled debug logging. >>> 12/04/13 02:29:32 WARN tool.BaseSqoopTool: Setting your password on the >>> command-line is insecure. Consider using -P instead. >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Checking for existing >>> class: com.cloudera.sqoop.manager.TeradataManagerFactory >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Attempting to load jar >>> through URL: jar:file:///Sqoop/sqoop-td-connector-1.0.5.jar!/ >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Previous classloader is >>> java.net.URLClassLoader@6a8c436b >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Testing class in jar: >>> com.cloudera.sqoop.manager.TeradataManagerFactory >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Loaded jar into current >>> JVM: jar:file:///Sqoop/sqoop-td-connector-1.0.5.jar!/ >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Added classloader for jar >>> /Sqoop/sqoop-td-connector-1.0.5.jar: java.net.FactoryURLClassLoader@45db05b2 >>> 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Added factory >>> com.cloudera.sqoop.manager.TeradataManagerFactory in jar >>> /Sqoop/sqoop-td-connector-1.0.5.jar specified by >>> /Sqoop/conf/managers.d/connectors >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Checking for existing >>> class: com.teradata.jdbc.TeraDriver >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Attempting to load jar >>> through URL: jar:file:///Sqoop/lib/terajdbc4.jar!/ >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Previous classloader is >>> java.net.FactoryURLClassLoader@45db05b2 >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Testing class in jar: >>> com.teradata.jdbc.TeraDriver >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Loaded jar into current >>> JVM: jar:file:///Sqoop/lib/terajdbc4.jar!/ >>> 12/04/13 02:29:32 DEBUG util.ClassLoaderStack: Added classloader for jar >>> /Sqoop/lib/terajdbc4.jar: java.net.FactoryURLClassLoader@518f5824 >>> 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Added factory >>> com.teradata.jdbc.TeraDriver in jar /Sqoop/lib/terajdbc4.jar specified by >>> /Sqoop/conf/managers.d/connectors >>> 12/04/13 02:29:32 DEBUG sqoop.ConnFactory: Loaded manager factory: >>> com.cloudera.sqoop.manager.TeradataManagerFactory >>> 12/04/13 02:29:32 ERROR tool.BaseSqoopTool: Got error creating database >>> manager: java.lang.ClassCastException: com.teradata.jdbc.TeraDriver cannot >>> be cast to com.cloudera.sqoop.manager.ManagerFactory >>> at >>> com.cloudera.sqoop.ConnFactory.instantiateFactories(ConnFactory.java:90) >>> at com.cloudera.sqoop.ConnFactory.<init>(ConnFactory.java:60) >>> at com.cloudera.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:186) >>> at com.cloudera.sqoop.tool.ImportTool.init(ImportTool.java:81) >>> at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:411) >>> at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144) >>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) >>> at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180) >>> at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219) >>> at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228) >>> at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237) >>> >>> >>> Please help. >>> >>> Thanks & Regards, >>> -- >>> Dipesh Kr. Singh >>> >>> >>> >>> >>> >> > > > -- > Dipesh Kr. Singh > > > > >
