本操作方法是由GitHub项目“node-hbase”总结而出,使用前需要先安装相应的操作模块,通过npm install hbase安装,或者直接下载该GitHub项目,将该项目放到nodejs工程的module下
nodejs操作Hbase数据库是通过Hbase的REST Server,使用前先在集群上启动该服务, bin/hbase-daemon.sh start rest
REST Server默认监听8080端口,如果8080端口被占用,可以修改HBase的l文件,添加下列属性。
<property><name&st.port</name><value>8090</value></property>
var hbase = require('hbase');
var client = hbase({host: '127.0.0.1',port:8080)}//插入数据
exports.insertSplitJarInfo = function(req,res){var splitName = req.body.splitName;var jarName = req.body.jarName.split('\').pop();var timestamp = (new Date()).valueOf();var key = jarName +";"+ splitName;client.table('SPLITEMETHOND_INFO').row().put([{key:key, column:'splitMethond:splitName',$:splitName},{key:key, column:'splitMethond:jarName',$:jarName}],function(err, success){if(success)res.json({success:true});else res.json({success:false, reason:err});})
}
})//查询数据SplitMethond = function(req, res){client.table('SPLITEMETHOND_INFO').scan({maxVersions:1}, function(err, rows){if(err!=null){res.json({initSuccess:false, reason:err});console.log(err);}else{var result = analyzeRows(rows);res.json({initSuccess:true, result: result});}});
}//删除数据exports.deleteSplitMethond = function(req, res){if(pe == 'A'){var splitInfo = req.body.splitInfo;console.log(splitInfo);client.table('SPLITEMETHOND_INFO').row(splitInfo).delete(function(err, success){if(!success){res.json({success: false, reason: "数据库删除错误"});}else{var targetPath = __dirname + '/public/files/splitjars/';var s0 = 'rm -f ' + targetPath + splitInfo.split(';')[0];var exec = require('child_process').exec;exec(s0,function(error, stdout, stderr){});res.json({success:true});}})}else{res.json({success: false, reason: "没有删除权限"});}
}
本文发布于:2024-02-03 03:59:28,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690396648504.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |