我正在尝试使用一些Raspberry Pi为边缘计算项目设置CouchDB集群。但直到现在我所做的一切都没有成功。我没有让群集正常工作。
这就是我所做的: 我按照设置指南进行操作 http://docs.couchdb.org/en/2.0.0/install/unix.html#
./configure
- 工作没有错误 make release
- 无错误地工作
按照指南:添加couchdb用户:
adduser --system --no-create-home --shell /bin/bash --group --gecos
"CouchDB Administrator" couchdb
无错误地工作
mv rel/couchdb /usr/local/
- 无错误地工作
chown -R couchdb:couchdb /usr/local/couchdb
- 没有首先工作 - 没有用户组couchdb - 添加了用户组更改了/usr/local/couchdb/etc/vm.args中的节点名称:-name n1.couch.local
添加了-kernel inet_dist_listen_min 9100
和
-kernel inet_dist_listen_max 9200
- 没有工作 - 已更改回到couchdb @ localhost
盯着db
su - couchdb
cd /usr/local/couchdb
./bin/couchdb
-didn首先为我工作,su pw - 身份验证失败 - 由sudo su
和su - couchdb
db starts - 运行,但抛出错误(暂时忽略错误,因为db正在运行):
[error] 2017-02-17T12:34:26.672758Z couchdb@localhost emulator ------
-- Error in process <0.354.0> on node 'couchdb@localhost' with exit
value: {database_does_not_exist,
[{mem3_shards,load_shards_from_db,"_users",
[{file,"src/mem3_shards.erl"},{line,327}]},
{mem3_shards,load_shards_from_disk,1,[{file,"src/mem3_shards.erl"},
{line,315}]},{mem3_shards,load_shards_from_disk...
[notice] 2017-02-17T12:34:26.672918Z couchdb@localhost <0.353.0> ----
---- chttpd_auth_cache changes listener died database_does_not_exist
at mem3_shards:load_shards_from_db/6(line:327) <=
mem3_shards:load_shards_from_disk/1(line:315) <=
mem3_shards:load_shards_from_disk/2(line:331) <=
mem3_shards:for_docid/3(line:87) <= fabric_doc_open:go/3(line:38) <=
chttpd_auth_cache:ensure_auth_ddoc_exists/2(line:187) <=
chttpd_auth_cache:listen_for_changes/1(line:134)
为群集模式准备了两个Raspberry Pi(2个CouchDB节点):
curl -X PUT http://127.0.0.1:5984/_node/couchdb@localhost/
_config/admins/admin -d '"conmonmrp"'`
回答:
&#34; -pbkdf2-9ec43ace4195ee45a37773c9dfc2aba9380468cb, cddfb98dd1b2416dea2b53dc9fe9a31b,10&#34;
和
`curl -X PUT http://127.0.0.1:5984/_node/couchdb@localhost/
_config/chttpd/bind_address -d '"0.0.0.0"'`
"0.0.0.0"
似乎已接受命令
访问localhost:5984 / _utils /并尝试设置群集输入的凭据(未更改IP和端口)并通过IP添加另一个节点(网络IP,即10.228.101.210),创建群集以完成设置 - fauxton接受了没有错误。
尝试通过localhost获取群集中的所有节点:5984 / _membership /结果:
{"all_nodes":["couchdb@localhost"],"cluster_nodes":
["couchdb@10.228.101.210","couchdb@localhost"]}`
尝试在一个节点上添加数据库并在另一个节点上看到它并不起作用
我根本不熟悉那个CouchDB,但我需要让这个集群运行起来。我希望,我的描述有助于找到问题所在。总而言之,我有这种感觉,我错过了或者误解了一个重要的观点。
来自德国汉堡的致以最诚挚的问候
答案 0 :(得分:3)
在设置群集时出现问题后,一位朋友发现了问题。有必要在/couchdb/etc/vm.args文件中更改节点的名称。正如我在另一篇文章中所读到的,将它命名为@localhost是违法的。我将其更改为设备的IP地址。
在那之后,现在一切正常。
答案 1 :(得分:1)
还要记住,在设置群集并在添加或重新启动时发现问题等时......请确保您的“cookie”没有空格。