mysql之sqoop 从 mysql 导入 hbase : java. lang.NoSuchMethodError : org. apache.hadoop.hbase.client.HBaseAdmin
mengfanrong
阅读:118
2023-08-18 13:40:47
评论:0
我的系统环境:
Ubuntu 18.04 LTS (64bit)
Hadoop 2.7.6
HBase 2.0.1
Sqoop 1.4.7
openjdk version 1.8.0_171
启动hadoop服务和hbase后, 我尝试将表从 mysql 导入到 hbase:
/usr/local/sqoop/bin/sqoop import
--connect jdbc:mysql://localhost:3306/TESTDB
--table mytable
--username <username>
--hbase-table hbmytable
--column-family hbmytable_cf
--split-by ID
--hbase-create-table
--password ########
但是,导入失败并显示以下错误消息:
......
18/08/08 18:41:28 INFO mapreduce.ImportJobBase: Beginning import of mytable
18/08/08 18:41:28 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar
18/08/08 18:41:28 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.HBaseAdmin.<init>(Lorg/apache/hadoop/conf/Configuration;)V
at org.apache.sqoop.mapreduce.HBaseImportJob.jobSetup(HBaseImportJob.java:163)
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:268)
at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:692)
at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:127)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:520)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:628)
at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
at org.apache.sqoop.Sqoop.main(Sqoop.java:252)
有什么解决方法吗?
请您参考如下方法:
我在从 MySQL 导入数据到 Hbase 时也遇到了这个异常。
似乎依赖冲突。
我正在使用-
Hadoop - 3.2.0
Hbase - 2.2.0
Sqoop- 1.4.7
我已将下面提到的 jars 手动添加到 SQOOP_HOME/lib -
1: hbase-client-1.2.0.jar
2: hbase-common-1.2.0.jar
3: hbase-mapreduce-2.2.0.jar
4: hbase-protocol-1.2.0.jar
5: hbase-server-1.2.0.jar
6: hbase-zookeeper-2.2.0.jar
7: protobuf-java-2.5.0.jar
并且 Hbase 导入工作正常。
** 我正在使用 Hbase 2.2.0,但我仍然必须使用所有 Hbase-1.2.0 jar。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。