我遇到了一個非常奇怪的情況。我一直在嘗試使用thrift來獲取nodeJS客戶端,以便運行Hbase,除了獲取任何返回數據外,我似乎大部分時間都取得了成功。我正在運行hbase.0.94.8(目前是穩定版本),並且它確實正在運行,我正在運行節儉0.9.0,它也被構建並運行。與他們兩個跑,我能查詢HBase的與外殼,也得到了節儉的網頁,但是當我運行下面的代碼,沒有任何反應:NodeJS Hbase節儉奇怪
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肯定在運行,節儉肯定在運行,9095上的網頁和9090上的服務(由日誌報告)。日誌似乎反映出什麼都沒有發生(即節儉和hbase日誌似乎不受該請求的影響),但我確實獲得了成功的連接。
有什麼想法?
你從不同的服務器來訪問HBase的運行的節點文件腳本服務器?我問,因爲我試圖實現REST hbase連接,並且無法理解節點腳本如何運行。 – vbNewbie