【问题标题】:Thrift RPC failing from a thrift client in c# to a thrift server spinned over HBase serverThrift RPC 从 c# 中的 thrift 客户端失败到在 HBase 服务器上旋转的 thrift 服务器
【发布时间】:2014-01-06 12:42:36
【问题描述】:

我正在做一个项目,我正在尝试从 C# 客户端通过 thrift 服务器与 HBase 服务器进行通信。

我已经设置了 HBase 服务器。我能够打开插座。

调用API时:_hbase.getTableNames(),抛出异常;我踏入了这个功能, 它在内部调用 - send_getTableNames();recv_getTableNames();

第一个函数通过(在内部他们正在写入套接字)但在第二个 他们试图从套接字读取的函数并且客户端节俭代码正在接收零字节, 因此它抛出了一个异常。

这可能是什么原因?

注意:服务器上安装了 HBase 0.92.0,并在 thrift 服务器端使用 HBase.thrift。 但在客户端,我们使用的是 HBase 0.94.0 附带的 HBase.thrift 文件。 我猜这可能是原因(虽然我可能不正确)。

以下是客户端失败的代码sn-p:

transport.Open();                 
var names = _hbase.getTableNames();

【问题讨论】:

  • 请添加异常详情。可能会有所帮助。

标签: rpc thrift


【解决方案1】:

我在 EMR 上使用 AWS HBase,然后在 HBase 服务器上运行节俭服务器。在设置 thrift 服务器时,AWS 管理控制台中有一个选项可以设置允许的 IP 地址和端口号。我允许端口号为 9000 ,但 thrift 服务器侦听端口号 9090。一旦我将端口号 9090 添加到允许的端口号列表中,我就能够连接到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-08
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2014-03-16
    • 2017-08-20
    相关资源
    最近更新 更多