2015-01-21 127 views
1

我正在使用hadoop-2.6.0和kerberos安全性。我已經安裝了具有kerberos安全性的hbase,並且可以創建表並對其進行掃描。Sqoop導入到安全的hbase失敗

我也可以運行sqoop作業以及將數據從mysql導入hdfs,但是當試圖從mysql導入到HBase時,sqoop作業失敗。

Sqoop命令

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

可以請你把完整的信息。請在HADOOP_OPTS =「 - Dsun.security.krb5.debug = true後執行該命令,以便輕鬆理解正在發生的事情 – 2015-06-08 13:47:04

回答

0

能否請您嘗試以下操作:

  1. 在連接字符串中添加端口號爲: jdbc:mysql:// localhost:3306/sample

  2. 刪除--table newtable。首先用列族在Hbase上創建所需的表。

  3. 提--split-通過ID

  4. 最後提到具體--fetch大小,作爲MySQL的sqoop客戶內部有一個錯誤,它試圖設置默認MIN取的會碰上大小一個例外。

您能再次嘗試導入並告訴我們嗎?