Sqoop导入安全hbase失败

时间:2015-01-21 11:45:24

标签: mysql hadoop hbase kerberos sqoop

我正在使用带有kerberos安全性的hadoop-2.6.0。我已经安装了具有kerberos安全性的hbase,并且能够创建表并扫描它。

我也可以运行sqoop job来将数据从mysql导入hdfs,但尝试从mysql导入HBase时sqoop job失败。

Sqoop Command

sqoop import --hbase-create-table  --hbase-table newtable --column-family ck --hbase-row-key id --connect jdbc:mysql://localhost/sample --username root --password root --table newtable -m 1

异常

15/01/21 16:30:24 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=90000 watcher=hconnection-0x734c0647, quorum=localhost:2181, baseZNode=/hbase
15/01/21 16:30:24 INFO zookeeper.ClientCnxn: Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknownerror)
15/01/21 16:30:24 INFO zookeeper.ClientCnxn: Socket connection established to 127.0.0.1/127.0.0.1:2181, initiating session
15/01/21 16:30:24 INFO zookeeper.ClientCnxn: Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x14b0ac124600016, negotiated timeout = 40000
15/01/21 16:30:25 ERROR tool.ImportTool: Error during import: Can't get authentication token

1 个答案:

答案 0 :(得分:0)

请你试试以下内容:

  1. 在连接字符串中添加端口号: JDBC:MySQL的://本地主机:3306 /样品

  2. 删除 - 表格。首先使用列族在Hbase上创建所需的表。

  3. 提及--split-by id

  4. 最后提到一个特定的--fetch-size,因为MySQL的sqoop客户端在内部有一个错误,它试图设置默认的MIN提取大小,这将会遇到异常。

  5. 你能再次尝试导入并告诉我们吗?