我正在從事一個項目,我試圖通過來自C#客戶端的節儉服務器與HBase服務器通信。Thrift RPC從c#中的節儉客戶端失敗轉到HBase服務器上的節點服務器
我設置了HBase服務器。我可以打開插座。
當調用API:_hbase.getTableNames()
時,它會引發異常;我加入了這個功能, 它在內部呼叫 - send_getTableNames();
和recv_getTableNames();
。
第一個函數通過(在內部它們正在寫入套接字),但在第二個 函數中,它們試圖從套接字讀取並且客戶端節儉代碼正在接收零字節,因此它會拋出異常。
這可能是什麼原因?
注意:服務器上安裝了HBase 0.92.0,並使用HBase.thrift,它在服務器端很簡單。 但是在客戶端,我們使用的是HBase 0.94.0附帶的HBase.thrift文件。 我猜這可能是原因(雖然我可能不正確)。
以下是在客戶端的代碼片段,其失敗:
transport.Open();
var names = _hbase.getTableNames();
請添加例外詳情。可能有幫助。 – JensG