Sqoop HBase 导入:java.lang.NoSuchMethodError:org.apache.hadoop.hbase.HTableDescriptor.addFamily
Posted
技术标签:
【中文标题】Sqoop HBase 导入:java.lang.NoSuchMethodError:org.apache.hadoop.hbase.HTableDescriptor.addFamily【英文标题】:Sqoop HBase Import: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily 【发布时间】:2016-12-13 14:57:14 【问题描述】:我在 Ubuntu 14.04 上将 Hadoop 作为伪分布式集群运行。我也安装了 HBase,一切正常。现在我想使用 Sqoop 中的“import”命令将数据从本地 mysql Server 导入 HBase
Hadoop 版本:2.7.3 HBase 版本:1.2.4 Sqoop 版本:1.4.6(Hadoop 2.0.4-alpha)Hadoop 和 HBase 工作正常,没有问题,但运行命令
./sqoop import --connect jdbc:mysql://localhost:3306/company --table people --username mysqluser -P --hbase-table people_import --column-family peoplecf --hbase-create-table
导致以下错误
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)V
at org.apache.sqoop.mapreduce.HBaseImportJob.jobSetup(HBaseImportJob.java:222)
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:264)
at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:673)
at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
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)
有人可以帮帮我吗?
【问题讨论】:
【参考方案1】:Sqoop 还不支持最新版本的 Hbase。 最新的 Sqoop 与 Hbase issue (SQOOP-2759)。
【讨论】:
以上是关于Sqoop HBase 导入:java.lang.NoSuchMethodError:org.apache.hadoop.hbase.HTableDescriptor.addFamily的主要内容,如果未能解决你的问题,请参考以下文章
Exception in thread “main“ java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.HBaseAdmin.