我正在使用带有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
答案 0 :(得分:0)
请你试试以下内容:
在连接字符串中添加端口号: JDBC:MySQL的://本地主机:3306 /样品
删除 - 表格。首先使用列族在Hbase上创建所需的表。
提及--split-by id
最后提到一个特定的--fetch-size,因为MySQL的sqoop客户端在内部有一个错误,它试图设置默认的MIN提取大小,这将会遇到异常。
你能再次尝试导入并告诉我们吗?