在couchdb升级之后,再也无法创建新数据库或更新旧数据库的_security。
答案 0 :(得分:1)
另一个原因可能是旧节点在_membership配置中挥之不去。
即,_membership显示:
{
"all_nodes": [
"couchdb@localhost"
],
"cluster_nodes": [
"couchdb@127.0.0.1",
"couchdb@localhost"
]
}
何时显示
{
"all_nodes": [
"couchdb@localhost"
],
"cluster_nodes": [
"couchdb@localhost"
]
}
按照docs中的说明删除了坏群集节点。
请注意,_nodes可能在端口5984上不可用,但仅在5986上可用。
答案 1 :(得分:1)
对于到/ db / _security的PUT,如果用户不是数据库管理员或服务器管理员,则响应为HTTP状态500,其中包含{“ error”:“ error”,“ reason”:“ no_majority”},但服务器日志信息更丰富,包括:{禁止,<<“您不是数据库或服务器管理员。” >>}
答案 2 :(得分:0)
一个原因可能是couchdb进程达到了最大打开文件数,导致读取错误和(错误地)no_majority错误。
答案 3 :(得分:0)
另一个原因可能是服务器从单节点配置切换到多节点配置(例如在升级期间)。
将节点数更改为1有助于
答案 4 :(得分:0)
我刚刚在CouchDB 2.1.1中遇到了这个问题。我的问题是我尝试传递的安全对象格式错误。
从https://issues.apache.org/jira/browse/COUCHDB-2326,
尝试编写格式错误的“ admins”或“ members”值的安全对象将导致HTTP 500响应具有以下内容:
driver = webdriver.Chrome('/usr/lib/chromium-rowser/chromedriver',port=3000)
这实际上应该是HTTP 400响应,带有“ bad_request”错误值和不同的错误原因。
要复制:
{"error":"error","reason":"no_majority"}