我尝试多次使用CouchDB 2.1创建一个2节点集群(在Windows和ubuntu上)并且它从未起作用。我完全按照官方文档here中所述完成。
当我完成两个节点的集群配置时,我希望在node1上创建一个数据库,该数据库应显示在node2上。通过fauxton验证两个节点也失败了#34;内部服务器错误" - 在Linux(ubuntu 14.04)和Windows(10,Server 2012,Server 2016)2.1版本下都会发生这种情况
通过API配置两个CouchDB节点:
node1:(10.0.0.1) 1. POST {" action":" enable_cluster"," bind_address":" 0.0.0.0"," username&#34 ;:" admin","密码":" mypassword"," node_count":" 2"}
POST {" action":" enable_cluster"," bind_address":" 0.0.0.0",&#34 ;用户名":"管理员","密码":" mypassword","端口":5984," node_count&# 34;:" 2"," remote_node":" 10.0.0.2"," remote_current_user":" admin" ," remote_current_password":" mypassword" }
POST {" action":" add_node"," host":" 10.0.0.2",&#34 ;端口":" 5984","用户名":"管理员","密码":" mypassword" }
POST {" action":" finish_cluster"}
http://10.0.0.1:5984/_membership {"使用all_nodes":[" CouchDB的@本地&#34]," cluster_nodes":[" couchdb@10.0.0.2",&#34 ; CouchDB的@本地"]}
节点2(10.0.0.2) 与node1相同的配置,但其他节点的IP地址更改为10.0.0.1
http://10.0.0.2:5984/_membership {"使用all_nodes":[" CouchDB的@本地&#34]," cluster_nodes":[" couchdb@10.0.0.1",&#34 ; CouchDB的@本地"]}
我从未定义过某个区域 - 这是集群工作的强制要求吗? 这里是否有人已经建立了具有2个或更多节点的工作Couchdb-Cluster? 有人能够在配置节点时看到我犯的错误吗?如果我能提供更多信息,请告诉我。
非常感谢帮助。
最好的问候, 哈拉尔德
答案 0 :(得分:1)
我已经配置了CouchDB 2的3节点集群
在我看来,主要的困难是在erlang通信的节点之间正确设置网络配置。
http://docs.couchdb.org/en/2.1.1/cluster/setup.html#cluster-setup
首先,您应该确保erlang在节点之间进行通信。 (http://docs.couchdb.org/en/2.1.1/cluster/setup.html#first-time-in-erlang-time-to-play)
您应该在couchdb安装的vm.args文件中设置erlang节点名称值。
您使用的名称应该可以通过两个节点中的DNS或本地主机文件进行解析。
最后,当您确定erlang正在进行通信时,您应该在群集中注册两个节点。