我的任务是使用带有两个端点的node.js建立一个couchbase服务器。 当我想要连接一个桶 我得到的错误如下:
CouchbaseError:身份验证失败。您可能提供了无效的用户名/密码组合 消息:'身份验证失败。您可能提供了无效的用户名/密码组合', 代码:2
我的代码app.js如下
var express = require("express");
var couchbase = require("couchbase");
var bodyParser = require("body-parser");
var cluster = new couchbase.Cluster('couchbase://localhost');
var bucket = cluster.openBucket('example'); //the name of bucket is 'example'
bucket.on('error', function(err) {
console.log('Bucket: CONNECT ERROR:', err);});
var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
// create two endpoints
app.get("/person/:id", function(req, res){
bucket.get(req.params.id, function (error, result){
if(error){
console.log("error in get method");
return res.status(400).send(error);
}
res.send(result);
});
});
app.post("/person/:id", function(req, res){
var document = {
firstName :req.body.firstName,
lastName : req.body.lastName
}
bucket.upsert(req.params.id, function (error, result){
if(error){
console.log("error in post method");
return res.status(400).send(error);
}
res.send(result);
});
});
var server = app.listen(3000, function(){
console.log("Listening on port %s...", server.address().port);
});
答案 0 :(得分:4)
在进行数据库连接时,需要提供couchbase登录凭据(cluster.authenticate)。
last_processed_time=`hive -S -e "USE db; select MAX(processed_time) from job_details where event_id = 'XXXX'"`
`echo $last_processed_time
pig -useHCatalog -Dmapred.job.queue.name=highPriority -Dtez.queue.name=highPriority -x tez -param last_processed_time=$last_processed_time test.pig`
> After executing above shell , It displays the required MAX value as
> well as pass the same value to Pig as external parameter for internal
> use within pig. Hope this will be helpful to make the same case with
> hive call using 'hiveconf'
答案 1 :(得分:0)
我们需要更新身份验证详细信息,然后才能正常工作。
cluster.authenticate({username:"admin", password: "password"});