2013-04-22 57 views
2

我试图从MySQL导入数据使用sqoop到HBase的:问题与MySQL的sqoop进口HBase的

sqoop import --connect jdbc:mysql://<hostname>:3306/test --username USERNAME -P --table testtable --direct --hbase-table testtable --column-family info --hbase-row-key id --hbase-create-table 

过程运行顺畅,没有任何错误,但数据进入HDFS和到hbase。

这里是我的设置:

HBase的和Hadoop安装在分布式模式在我的三个服务器集群。 Namenode和HBase Master是一个服务器。 Datanodes和Region服务器位于另外两台服务器中。 Sqoop仅安装在NameNode服务器中。 我使用Hadoop版本0.20.2-cdh3u3,hbase版本0.90.6-cdh3u4和sqoop版本1.3.0-cdh3u3。

任何建议,我做错了吗?

回答

4

Sqoop的直接连接器通常不支持HBase,MySQL直接连接器绝对是这种情况。如果需要将数据导入HBase,则应该删除--direct选项。

+0

非常感谢亚雷克,它解决了问题的例子。 表正在HBase中创建,但我得到以下错误: '13/04/23 11:53:23信息mapred.JobClient:正在运行的作业:job_201304231148_0003 13/04/23 11:53:24 INFO mapred.JobClient:地图0%减少0% 13/04/23 11时53分四十零秒INFO mapred.JobClient:任务标识:attempt_201304231148_0003_m_000000_0,状态:失败 错误:TestTable的:不支持MAJOR.MINOR版本51.0 ' 任何帮助将不胜感激。 – VikasG 2013-04-23 06:53:52

+1

得到它的工作...需要在hadoop-env.sh文件中正确设置JAVA_HOME路径 – VikasG 2013-04-23 07:48:00