Hadoop 使用sqoop将数据传输到hdfs时出错

Hadoop 使用sqoop将数据传输到hdfs时出错,hadoop,hive,Hadoop,Hive,我使用sqoop在hdfs和oracle之间传输数据,如下所示: hadoop@jiogis-cluster-jiogis-master-001:~$ sqoop import --connect jdbc:oracle:gis-scan.ril.com/SAT --username=r4g_viewer --password=viewer_123 --table=R4G_OSP.ENODEB --hive-import --hive-table=ENODEB --target-dir=use

我使用sqoop在hdfs和oracle之间传输数据,如下所示:

hadoop@jiogis-cluster-jiogis-master-001:~$ sqoop import --connect jdbc:oracle:gis-scan.ril.com/SAT --username=r4g_viewer --password=viewer_123 --table=R4G_OSP.ENODEB --hive-import  --hive-table=ENODEB --target-dir=user/hive/warehouse/proddb/JioCenterBoundary -- direct
当我使用如上所示的sqoop时,我得到如下所示的错误

Warning: /volumes/disk1/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /volumes/disk1/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /volumes/disk1/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
16/05/09 11:11:19 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
16/05/09 11:11:19 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
16/05/09 11:11:19 INFO tool.BaseSqoopTool: Using Hive-specific delimiters for output. You can override
16/05/09 11:11:19 INFO tool.BaseSqoopTool: delimiters with --fields-terminated-by, etc.
16/05/09 11:11:19 INFO oracle.OraOopManagerFactory: Data Connector for Oracle and Hadoop is disabled.

16/05/09 11:11:19 ERROR tool.BaseSqoopTool: Got error creating database manager: java.io.IOException: No manager for connect string: jdbc:oracle:gis-scan.ril.com/SAT
        at org.apache.sqoop.ConnFactory.getManager(ConnFactory.java:191)
        at org.apache.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:256)
        at org.apache.sqoop.tool.ImportTool.init(ImportTool.java:89)
        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:593)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

您的jdbc连接字符串看起来不正确。你能用这种格式试试吗:

--connect jdbc:oracle:thin:@//hostname:port/servicename
在您的情况下,这可能是:

--connect jdbc:oracle:thin:@//gis-scan.ril.com:1521/SAT

您可能需要再次检查端口号是否正确,因为扫描侦听器可能不在默认的1521端口上。

当我尝试上述操作时,得到的结果如下16/05/16 06:11:28信息sqoop。sqoop:运行sqoop版本:1.4.6--表或--导入时需要查询。(或使用sqoop导入所有表。)