【问题标题】:ProtocolError: No protocol version headerProtocolError:没有协议版本标头
【发布时间】:2018-02-06 10:39:07
【问题描述】:

我有以下版本的 hortonworks 集群:

  • hbase = 1.1.2
  • happybase=1.1.0
  • hortonworks hadoop 集群 = HDP-2.6.2.0

当我尝试运行简单示例时:

import happybase
server = "server-address"
connection = happybase.Connection(server)
print connection.tables()

我遇到了这个异常:

Traceback (most recent call last):
  File "/Users/psobolewski/hbase_urls.py", line 19, in <module>
    print connection.tables()
  File "/Library/Python/2.7/site-packages/happybase/connection.py", line 242, in tables
    names = self.client.getTableNames()
  File "/Library/Python/2.7/site-packages/thriftpy/thrift.py", line 198, in _req
    return self._recv(_api)
  File "/Library/Python/2.7/site-packages/thriftpy/thrift.py", line 210, in _recv
    fname, mtype, rseqid = self._iprot.read_message_begin()
  File "thriftpy/protocol/cybin/cybin.pyx", line 439, in cybin.TCyBinaryProtocol.read_message_begin (thriftpy/protocol/cybin/cybin.c:6470)
cybin.ProtocolError: No protocol version header

【问题讨论】:

  • 您是否连接到正确的端口和正确的地址?您的服务器地址似乎不太可能真的是“服务器地址” - 地址到底是什么?
  • 另外,您是否按照happybase.readthedocs.io/en/latest/api.html#connection 使用正确的transportprotocol
  • @TomDalton 我连接到正确的地址和端口。端口也对我的主机开放。
  • 问题解决了吗?我在尝试放置新数据时遇到了同样的问题

标签: python hadoop hbase thrift happybase


【解决方案1】:

尝试更改 port=2181 并检查 hbase-site.xml

【讨论】:

  • 嗨萨马特。我认为如果你在 hbase-site.xml 中说你在哪里找到端口 2181 会有所帮助,因为通常端口 2181 并不意味着所有人都会使用同一个端口。
猜你喜欢
  • 2017-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 2017-06-25
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多