昨天,我让代码工作并从Hbase读取数据,传输了大量数据。我没有接触代码,然而,不知何故,当我今天回到它的时候,它不想打印出数据。我在服务器上做的唯一一件事就是设置了一个REST框架来写入数据库。下面是代码的一部分(看起来像是连接起来了)--
import happybase
connection = happybase.Connection('<ip-address>', '9090')
table = connection.table('rawdataingestion')
然后,当它到达这一部分时,它就停止工作。
n = 0
li = []
for key, data in table.scan(row_start=None):
data = json.loads(data['cf:rawmsg'])
li.append(data)
n += 1
if n == 1000:
break
正如我所说的,服务器上唯一改变的是我设置了REST端口(8000)。这是问题所在吗?我所需要的就是从数据库中提取数据。
发布于 2016-01-22 20:57:26
如果我错了,请纠正我,但似乎REST和节俭不能在同一台服务器上同时工作。因此,我可以使用THRIFT从Hbase拉取数据,也可以使用REST将数据推送到Hbase。如果一个程序在拉取数据时工作,则另一个推送数据的程序将失败,反之亦然。
我通过键入jps
(您也可以使用ps -a
)来查找与节约进程相对应的数字,从而解决了这个问题。然后我用kill 12345
终止了这个进程。之后,我通过输入./hbase-daemon.sh start thrift
在后台重新启动了THRIFT。在我这样做之后,我的程序可以成功地从数据库中提取数据,但我的另一个插入数据的程序停止工作。
代码没有问题,问题是REST和节俭不能同时在同一台服务器上运行。
https://stackoverflow.com/questions/34933532
复制相似问题