gpt4 book ai didi

node.js - NodeJS Hbase 节俭怪异

转载 作者:搜寻专家 更新时间:2023-10-31 23:31:57 25 4
gpt4 key购买 nike

我遇到了一个非常奇怪的情况。我一直在尝试使用 Thrift 为 Hbase 运行获取一个 nodeJS 客户端,而且除了获取任何返回数据外,我似乎在大多数情况下都取得了成功。我正在运行 hbase.0.94.8(目前是稳定版),它确实在运行,我正在运行 thrift 0.9.0,它也已构建并正在运行。在它们都运行的情况下,我可以使用 shell 查询 Hbase 并访问 thrift 网页,但是当我运行以下代码时,没有任何反应:

var thrift = require('thrift'),
HBase = require('./Hbase.js'),
HBaseTypes = require('./Hbase_types.js');

var connection = thrift.createConnection('localhost',9090,{ transport: thrift.TBufferedTransport,protocol:thrift.TBinaryProtocol });

connection.on('connect',function(){
console.log('connected');
var client = thrift.createClient(HBase,connection);
client.getTableNames(function(err,data){
if(err)
console.log('there was an error:',err);
else
console.log('hbase tables:',data);
});
});

connection.on('error',function(err){
console.log('error',err);
});

我确实获得了连接(或者,至少,连接事件触发),但另一端似乎什么也没有。在你回答之前,Hbase master 肯定在运行,thrift 肯定在运行,9095 上的网页和 9090 上的服务(根据日志报告)。日志似乎反射(reflect)什么都没有发生(即 thrift 和 hbase 日志似乎不受请求的影响),但我确实获得了成功的连接。

有什么想法吗?

最佳答案

请通读您的全文 http://dailyjs.com/2013/07/04/hbase/并在 OSX 10.9.1 (Java 1.6.0_65) 上试用它,通过 Homebrew 安装了 Hadoop (1.2.1) 和 HBase (0.94.15)。

我用 -f 标志启动了 thrift 服务器

    hbase-daemon.sh start thrift -f

我发现连接设置需要一点改变

    connection = thrift.createConnection('localhost', 9090, {
transport: thrift.TFramedTransport, //TBufferedTransport doesn't work!
//protocol: thrift.TBinaryProtocol //protocol seems not required
});

关于node.js - NodeJS Hbase 节俭怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com