
# Sqoop读取MySQL数据到HBase时报HBaseAdmin.\<init\>方法找不到异常
#### 问题
使用MRS的Sqoop客户端（1.4.7版本），从MySQL数据库中指定表抽取数据，存放到HBase（2.2.3版本）指定的表中，报出异常：
```
Trying to load data into HBASE through Sqoop getting below error.
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.HBaseAdmin.<init>(Lorg/apache/hadoop/conf/Configuration;)V
```
完整异常信息如图所示：
![](https://support.huaweicloud.com/trouble-mrs/zh-cn_image_0000001298827533.png "点击放大")
执行Sqoop抽取数据命令样例，
```
sqoop import \
--connect jdbc:mysql://MySQL服务器地址:端口号/database1 \
--username admin \
--table table1 \
--hbase-table table2 \
--column-family info \
--hbase-row-key id \
--hbase-create-table --m 1
-P
```
#### 处理步骤
Sqoop客户端安装完成之后，没有直接引入HBase相关的依赖jar包，需要通过手动导入指定低版本的HBase相关依赖jar包。解决方法步骤如下：
1. 确认Sqoop客户端和HBase客户端是否在同一个路径下。 
   - 是，执行[2]。
   
   - 否，删除原有的Sqoop和HBase客户端文件，从FusionInsight Manager上下载完整的客户端安装在同一路径下，执行[2]。
   
   
   
   

2. 以**root**用户登录Sqoop客户端安装节点。
3. 下载以下HBase 1.6.0版本的jar包上传到Sqoop客户端的"lib"目录下。 
   - [hbase-client-1.6.0.jar](https://repo.huaweicloud.com/repository/maven/org/apache/hbase/hbase-client/1.6.0/hbase-client-1.6.0.jar)
   
   - [hbase-common-1.6.0.jar](https://repo.huaweicloud.com/repository/maven/org/apache/hbase/hbase-common/1.6.0/hbase-common-1.6.0.jar)
   
   - [hbase-protocol-1.6.0.jar](https://repo.huaweicloud.com/repository/maven/org/apache/hbase/hbase-protocol/1.6.0/hbase-protocol-1.6.0.jar)
   
   - [hbase-server-1.6.0.jar](https://repo.huaweicloud.com/repository/maven/org/apache/hbase/hbase-server/1.6.0/hbase-server-1.6.0.jar)
   
   
   
   
4. 上传包之后，修改包的权限，可以设置为755，具体执行命令为： 
   **chmod 755** *包名称*
   
   
5. 在客户端目录下执行以下命令刷新Sqoop客户端： 
   **source** **bigdata_env**
   重新执行sqoop命令。
   
   
 
