设置 CouchDB 2.0 集群
Setup CouchDB 2.0 Cluster
我正在尝试为边缘计算项目设置一个带有一些 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
盯着数据库
su - couchdb
cd /usr/local/couchdb
./bin/couchdb
-首先对我不起作用,su pw - 身份验证失败 - 通过 sudo su
和 su - couchdb
切换用户
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)
为集群模式准备了两个 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"
似乎命令已被接受
继续 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 真的很陌生,但我需要得到那个集群 运行。我希望,我的描述有助于找到问题所在。总而言之,我有一种感觉,我错过了或误解了一个重要的观点。
来自德国汉堡的问候
在设置集群遇到一些麻烦后,一个朋友发现了问题。需要更改 /couchdb/etc/vm.args 文件中的节点名称。正如我在另一个 post 中读到的那样,将它命名为 @localhost 是非法的。我将其更改为设备的 IP 地址。
之后,我现在一切正常。
还请记住,在设置集群以及在添加或重新启动时发现问题等...请确保您的 "cookie" 没有空格。
我正在尝试为边缘计算项目设置一个带有一些 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盯着数据库
su - couchdb cd /usr/local/couchdb ./bin/couchdb
-首先对我不起作用,su pw - 身份验证失败 - 通过
sudo su
和su - couchdb
切换用户
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)
为集群模式准备了两个 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"
似乎命令已被接受
继续 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 真的很陌生,但我需要得到那个集群 运行。我希望,我的描述有助于找到问题所在。总而言之,我有一种感觉,我错过了或误解了一个重要的观点。
来自德国汉堡的问候
在设置集群遇到一些麻烦后,一个朋友发现了问题。需要更改 /couchdb/etc/vm.args 文件中的节点名称。正如我在另一个 post 中读到的那样,将它命名为 @localhost 是非法的。我将其更改为设备的 IP 地址。
之后,我现在一切正常。
还请记住,在设置集群以及在添加或重新启动时发现问题等...请确保您的 "cookie" 没有空格。