当我试图列出Sqoop作业时,我会得到以下异常。
由于这个例外,我无法创建Soop工作:
root@ubuntu:/usr/lib/ sqoop /conf# sqoop作业-列表16/04/11 01:51:44 error tool.JobTool: I/O错误执行作业操作: java.io.IOException:在com.cloudera.sqoop.metastore.hsqldb.AutoHsqldbStorage.open(AutoHsqldbStorage.java:113) at com.cloudera.sqoop.tool.JobTool.run(JobTool.java:279上创建tool.JobTool连接的异常( org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:182) at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:221) at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:230) at com.cloudera.sqoop.Sqoop.main(Sqoop.java:239)由:由: java.sql.DriverManager.getConnection(DriverManager.java:582)引起: java.sql.SQLException:一般错误: java.lang.ClassFormatError:>org.hsqldb.jdbc.jdbcConnection处org.hsqldb.jdbc.Util.sqlException(未知源)处的截断类文件。(未知源)在org.hsqldb.jdbcDriver.getConnection(未知源)在org.hsqldb.jdbcDriver.connect(未知源)在org.hsqldb.jdbc.jdbcConnection(未知源)处在com.cloudera.sqoop.metastore.hsqldb.HsqldbJobStorage.init(HsqldbJobStorage.java:>180) .还有8
Sqoop版本: 1.3.0-cdh3u5
请帮帮忙
使用的命令如下:
sqoop job --list
sqoop job --create sqoopjob21 -- import --connect jdbc:mysql://localhost/mysql1 --table emp --target-dir /importjob21 ;发布于 2017-08-04 09:04:02
这可能是因为sqoop找不到用于存储作业信息的hsqldb。如果没有创建,请检查sqoop安装目录中是否有"metastore.db.script“文件。创建一个名为"metastore.db.script“的文件,并放置以下行
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE MEMORY TABLE SQOOP_ROOT(VERSION INTEGER,PROPNAME VARCHAR(128) NOT NULL,PROPVAL VARCHAR(256),CONSTRAINT SQOOP_ROOT_UNQ UNIQUE(VERSION,PROPNAME))
CREATE MEMORY TABLE SQOOP_SESSIONS(JOB_NAME VARCHAR(64) NOT NULL,PROPNAME VARCHAR(128) NOT NULL,PROPVAL VARCHAR(1024),PROPCLASS VARCHAR(32) NOT NULL,CONSTRAINT SQOOP_SESSIONS_UNQ UNIQUE(JOB_NAME,PROPNAME,PROPCLASS))
CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 10
SET SCHEMA PUBLIC
INSERT INTO SQOOP_ROOT VALUES(NULL,'sqoop.hsqldb.job.storage.version','0')
INSERT INTO SQOOP_ROOT VALUES(0,'sqoop.hsqldb.job.info.table','SQOOP_SESSIONS')现在创建"metastore.db.properties“文件并放置以下行
#HSQL Database Engine 1.8.0.10
#Fri Aug 04 14:07:10 IST 2017
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=false
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=true
hsqldb.cache_scale=14
version=1.8.0
hsqldb.default_table_type=memory
hsqldb.cache_file_scale=1
hsqldb.log_size=200
modified=no
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0现在创建一个名为".sqoop“的目录(如果还没有创建),并将这两个文件放在那里。现在管理好你的工作。
https://stackoverflow.com/questions/36544144
复制相似问题