使用ApacheSqoop从sqlserver导入配置单元时发生sql server问题?

qv7cva1a  于 2021-05-30  发布在  Hadoop
关注(0)|答案(0)|浏览(250)

当我从$sqoop\u home/bin运行以下sqoop命令时,它工作正常

sqoop import --connect "jdbc:sqlserver://ip_address:port_number;database=database_name;username=sa;password=sa@Admin" --table $SQL_TABLE_NAME --hive-import --hive-home $HIVE_HOME --hive-table $HIVE_TABLE_NAME -m 1

但是当我从bash脚本对不同的数据库在循环中运行相同的命令时,如下所示

while IFS='' read -r line || [[ -n $line ]]; do  
$DATABASE_NAME=$line

sqoop import --connect "jdbc:sqlserver://ip_address:port_number;database=$DATABASE_NAME;username=sa;password=sa@Admin" --table $SQL_TABLE_NAME --hive-import --hive-home $HIVE_HOME --hive-table $HIVE_TABLE_NAME -m 1  

done < "$1"

我将数据库名称作为参数传递给文本文件中的bash脚本。我的配置单元表与我只想在一个配置单元表中附加来自所有数据库的数据相同。
对于前两个或三个数据库,它工作正常,之后它开始给出以下错误

15/06/25 11:41:06 INFO mapreduce.Job: Job job_1435124207953_0033 failed with state FAILED due to:  

15/06/25 11:41:06 INFO mapreduce.ImportJobBase: The MapReduce job has already been retired. Performance  

15/06/25 11:41:06 INFO mapreduce.ImportJobBase: counters are unavailable. To get this information,  

15/06/25 11:41:06 INFO mapreduce.ImportJobBase: you will need to enable the completed job store on  

15/06/25 11:41:06 INFO mapreduce.ImportJobBase: the jobtracker with:  
11:41:06 INFO mapreduce.ImportJobBase:mapreduce.jobtracker.persist.jobstatus.active = true  
11:41:06 INFO mapreduce.ImportJobBase: mapreduce.jobtracker.persist.jobstatus.hours = 1  
15/06/25 11:41:06 INFO mapreduce.ImportJobBase: A jobtracker restart is required for these settings  
15/06/25 11:41:06 INFO mapreduce.ImportJobBase: to take effect.  
15/06/25 11:41:06 ERROR tool.ImportTool: Error during import: Import job failed!

我已经用上述两个参数修改mapred-site.xml,重新启动了我的多节点hadoop集群

mapreduce.ImportJobBase:mapreduce.jobtracker.persist.jobstatus.active = true  
 mapreduce.jobtracker.persist.jobstatus.hours = 1

但我仍然面临着同样的问题。由于我刚刚开始学习sqoop,任何帮助都将不胜感激。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题