2

我正在开发一个以 hbase 作为后端的 python 应用程序。我已经安装了 hbase,它的 shell 运行良好。请注意,我还没有安装 hadoop,因为我没有节点。但是因为令人印象深刻的架构决定使用 hbase。

现在的问题是,我无法从诸如happybase之类的库或直接使用thrift的python连接到hbase。我也试过这个 - http://binesh.in/hbase/connecting-to-a-remote-standalone-hbase/,但没用。请帮助我。

更新 -

> >>> import happybase
> >>> con =happybase.Connection('localhost') Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File
> "/usr/local/lib/python2.7/dist-packages/happybase/api.py", line 121,
> in __init__
>     self.open()   File "/usr/local/lib/python2.7/dist-packages/happybase/api.py", line 138,
> in open
>     self.transport.open()   File "build/bdist.linux-i686/egg/thrift/transport/TTransport.py", line 149,
> in open   File
> "build/bdist.linux-i686/egg/thrift/transport/TSocket.py", line 99, in
> open thrift.transport.TTransport.TTransportException: Could not
> connect to localhost:9090
> >>>

与直接调用几乎相同的prbm。总之,我只想在我的 python 应用程序中使用 hbase 数据库而不是 mongodb。没有hadoop,没有hdfs等。这是可行的还是我试图实现一些不可能的事情?

4

1 回答 1

5

Trift 服务器必须启动并运行。您的连接也必须打开:

nohup hbase thrift start &

使用前在python中打开连接。例子:

import happybase
connection = happybase.Connection('localhost', autoconnect=False)
connection.open()
于 2013-04-08T07:00:07.287 回答