复制集+分片 { "errmsg" : "server is not running with --replSet", "ok" : 0 }

一ran 2014-04-06 06:27:42
Replica Sets + Sharding
.#shard1上配置复制集
A机器
./mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shardset/shard1_1 --logpath /data/shardset/shard1_1/shard1_1.log --logappend --fork

B机器
./mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shardset/shard1_2 --logpath /data/shardset/shard1_2/shard1_2.log --logappend --fork

C机器
./mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shardset/shard1_3 --logpath /data/shardset/shard1_3/shard1_3.log --logappend --fork

#用mongo连接一台机器的27017端口的mongod,初始化repl set shard1:
./mongo --port 27017
config={_id:'shard1',members:[{_id:0,host:'192.168.1.112:27017'},
{_id:1,host:'192.168.1.162:27017'},{_id:2,host:'192.168.1.167:27017'}]}
rs.initiate(config) #此后开始报错:
connecting to: 127.0.0.1:27017/test
> config={_id:'shard1',members:[{_id:0,host:'192.168.1.112:27017'},
... {_id:1,host:'192.168.1.162:27017'},{_id:2,host:'192.168.1.167:27017'}]}
{
"_id" : "shard1",
"members" : [
{
"_id" : 0,
"host" : "192.168.1.112:27017"
},
{
"_id" : 1,
"host" : "192.168.1.162:27017"
},
{
"_id" : 2,
"host" : "192.168.1.167:27017"
}
]
}
> rs.initiate(config)
{ "errmsg" : "server is not running with --replSet", "ok" : 0 }
各位前辈,请问此处是什么原因?网上有说是:启动参数没有设置--replSet,是这样吗?
我用的是centos6.4
...全文
1213 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
HuiliQin 2014-04-10
  • 打赏
  • 举报
回复
getaddrinfo("localhost.localdomain03") failed: Name or service not known 貌似其中的一个ip映射成"localhost.localdomain03",复制集中的成员没法解析这个机器名。 1. 检查所有三台机器里/etc/hosts以及命名服务器里ip和机器名的映射是否正确,是否可以正确解析。 2. 检查三个mongod的节点是否可以互通,可以参考这个文档中的步骤检查一下: http://docs.mongodb.org/manual/tutorial/troubleshoot-replica-sets/#test-connections-between-all-members 需要注意的是,除了要检查本机是否能连通其他两台机器的mongod,还需要保证在该台机器上能连通本机的mongod。
qizihappy 2014-04-09
  • 打赏
  • 举报
回复
关闭防火墙!
一ran 2014-04-08
  • 打赏
  • 举报
回复
哎呀,别用您您的,我用的是putty远程连接其中的一台服务器(三个IP中的一个),这个配置信息是在putty上运行的,好像是27017端口被别的进程占用了,我改成27020之后呢报错信息变成了 > rs.initiate(config) { "startupStatus" : 4, "info" : "shard1", "errmsg" : "all members and seeds must be reachable to initiate set", "ok" : 0 } 查看日志: Tue Apr 8 09:41:42 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:41:42 [rsStart] replSet can't get local.system.replset config from self or any seed (yet) Tue Apr 8 09:41:52 [rsStart] warning: getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:41:52 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:41:52 [rsStart] trying to contact localhost.localdomain03:27020 Tue Apr 8 09:41:52 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:41:52 [rsStart] couldn't connect to localhost.localdomain03:27020: couldn't connect to server localhost.localdomain03:27020 Tue Apr 8 09:41:52 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:41:52 [rsStart] replSet can't get local.system.replset config from self or any seed (yet) Tue Apr 8 09:42:02 [rsStart] warning: getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:42:02 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:42:02 [rsStart] trying to contact localhost.localdomain03:27020 Tue Apr 8 09:42:02 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:42:02 [rsStart] couldn't connect to localhost.localdomain03:27020: couldn't connect to server localhost.localdomain03:27020 Tue Apr 8 09:42:02 [rsStart] getaddrinfo("localhost.localdomain03") failed: Name or service not known Tue Apr 8 09:42:02 [rsStart] replSet can't get local.system.replset config from self or any seed (yet) 不知道什么意思
HuiliQin 2014-04-07
  • 打赏
  • 举报
回复
A,B,C的ip地址是下面的ip吗? 192.168.1.112, 192.168.1.162, 192.168.1.167 当您运行“./mongo --port 27017” 时,根据提示信息,您连接的是本地的mongod: connecting to: 127.0.0.1:27017/test 需要注意的是,您需要连接到三台机器里其中的一台来运行 rs.initiate() 命令。 您能确认一下您是在以上三台机器中的一台运行mongo命令的吗?如果不是的话,你需要运行以下命令: ./mongo --port 27017 --host <ip> 来连接到三台机器中的某一台,再运行以上配置复制集的命令(请把<ip>替换成这三台机器里其中的一个ip)

1,799

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧