我正在从事一个项目,我试图通过来自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