使用Sqoop导入MySQL数据到Hyperbase

  其他常见问题
内容纲要

概要描述

使用Sqoop把MySQL数据库的数据导入到Hyperbase中。

实验环境为TDH 6.2.1,其他版本也可以参考。


详细说明

TDH Client集成了Sqoop工具,而Sqoop是支持MySQL及HBase数据库的,Hyperbase部分兼容HBase,所以可以尝试这个方案。

操作步骤

1 安装TDH Client

在Manager 8180页面中下载TDH Client然后上传到服务器中。

2 检查TDH-Client目录中是否有hbase目录

进入TDH-Client目录中,检查是否有hbase目录。

如果存在hbase目录则表示正常,进入下一步。

如果不存在hbase目录,则创建hbase目录并将hyperbase目录下所有文件拷贝进去。

mkdir hbase
cp -r hyperbase/* hbase/
3 下载lib包

通过本链接下载lib包。

4 将下载的lib包中的所有jar包上传到sqoop/lib目录

将上一步下载的lib包中所有的.jar文件上传到TDH-Client/sqoop/lib目录中。

5 初始化TDH Client

在TDH Client根目录,执行以下命令进行初始化。

source init.sh
6 使用如下命令进行导数
sqoop import \

--connect jdbc:mysql://172.22.40.199:3306/test \

--username root \

--password  root \

--table test2  \

--hbase-table test3 \

--column-family name  \

--hbase-create-table \

--hbase-row-key id \

--hbase-bulkload 

将上面示例中的MySQL和Hyperbase相关信息改成实际的即可。

常见问题

AuthFailedException: KeeperErrorCode = AuthFailed for /hyperbase1/hbaseid

image.png

这是由于开了安全的集群zookeeper开了强认证导致的。

解决方法是在Manager节点,修改/var/lib/transwarp-manager/master/content/meta/services/ZOOKEEPER/transwarp-6.2.1-final/templates/zookeeper-env.sh.ftl文件,查找关键词-Dzookeeper.allowSaslFailedClients=false,然后把false改成true,重启manager,配置服务+重启zookeeper即可。

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。