1

我正在尝试为边缘计算项目设置带有一些 Raspberry Pi 的 CouchDB 集群。但是直到现在我所做的一切都没有成功。我没有让集群正常工作。

这就是我所做的:我按照 http://docs.couchdb.org/en/2.0.0/install/unix.html#中的设置指南进行操作

结合: https ://medium.com/linagora-engineering/setting-up-a-couchdb-2-cluster-on-centos-7-8cbf32ae619f#.eopseqi4h

  1. 安装依赖项 - 正常工作
  2. ./configure- 工作没有错误
  3. make release- 工作没有错误

  4. 遵循指南:添加 couchdb 用户:

    adduser --system --no-create-home --shell /bin/bash --group --gecos   
    "CouchDB Administrator" couchdb
    

    工作没有错误

  5. mv rel/couchdb /usr/local/- 工作没有错误

  6. chown -R couchdb:couchdb /usr/local/couchdb- 首先没有工作 - 没有用户组 couchdb - 添加了用户组
  7. 在 /usr/local/couchdb/etc/vm.args 中更改了节点名称:-name n1.couch.local添加-kernel inet_dist_listen_min 9100并且 -kernel inet_dist_listen_max 9200- 不起作用 - 改回 couchdb@localhost

  8. 盯着分贝

    su - couchdb
    cd /usr/local/couchdb
    ./bin/couchdb
    

    - 首先对我不起作用,su pw - 身份验证失败 - 通过sudo su和切换用户su - couchdb

  9. db 启动 - 运行,但抛出错误(暂时忽略错误,因为 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)
    
  10. 为集群模式准备了两个 Raspberry Pi(2 个 CouchDB 节点):

    curl -X PUT http://127.0.0.1:5984/_node/couchdb@localhost/
    _config/admins/admin -d '"conmonmrp"'` 
    
    • 回答:

      “-pbkdf2-9ec43ace4195ee45a37773c9dfc2aba9380468cb, cddfb98dd1b2416dea2b53dc9fe9a31b,10”

    `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"

    似乎命令已被接受

  11. 继续 localhost:5984/_utils/ 并尝试设置集群 - 输入凭据(未更改 IP 和端口)并通过 IP(网络 IP,即 10.228.101.210)添加另一个节点,创建集群以完成设置 - fauxton 接受了一个错误。

  12. 尝试通过 localhost:5984/_membership/ 获取集群中的所有节点会导致:

    {"all_nodes":["couchdb@localhost"],"cluster_nodes":     
    ["couchdb@10.228.101.210","couchdb@localhost"]}`
    
  13. 尝试在一个节点上添加数据库并在另一个节点上查看它不起作用

我对那个 CouchDB 的东西真的很陌生,但我需要让那个集群运行起来。我希望,我的描述有助于找到问题。总而言之,我有一种感觉,我错过或误解了重要的一点。

来自德国汉堡的问候

4

2 回答 2

4

在设置集群遇到一些麻烦后,有朋友发现了问题。需要在 /couchdb/etc/vm.args 文件中更改节点的名称。正如我在另一篇文章中所读到的,将其命名为@localhost 是非法的。我将其更改为设备的 IP 地址。

在那之后,现在一切对我来说都很好。

于 2017-02-28T08:14:37.480 回答
1

还请记住,在设置集群并在添加或重新启动时发现问题等时...确保您的“cookie”没有空格。

于 2017-04-11T19:06:19.660 回答