Mongo - rs.initiate()错误代码76

时间:2017-11-26 03:16:25

标签: mongodb

我是mongoDB的新手,我正在尝试使用以下内容。

res = rs.initiate(
{
    "_id" : "ireland",
    "members" : [
        { _id:0,host:myName+".local:"+"27000" },
        { _id:1,host:myName+".local:"+"27001" },
        { _id:2,host:myName+".local:"+"27002" }
    ]
}

);

然后我收到以下错误消息。

{
"ok" : 0,
"errmsg" : "This node was not started with the replSet option",
"code" : 76,
"codeName" : "NoReplicationEnabled"

} 我在网上环顾四周,没有运气。我在这里发现了一些类似的问题,但没有一个答案有帮助。

3 个答案:

答案 0 :(得分:0)

在启动复制集之前,需要使用--replSet选项在所有节点(端口)上启动mongo服务器。 为此,请使用以下命令在每个端口上启动mongo服务器(每个都在新的cmd提示符下):

 mongod --dbpath [databasepath] --port 27000 --replSet "ireland"
 mongod --dbpath [databasepath] --port 27001 --replSet "ireland"
 mongod --dbpath [databasepath] --port 27002 --replSet "ireland"

服务器运行后,您可以使用以下命令启动复制:

res = rs.initiate(
{
    "_id" : "ireland",
    "members" : [
        { _id:0,host:myName+".local:"+"27000" },
        { _id:1,host:myName+".local:"+"27001" },
        { _id:2,host:myName+".local:"+"27002" }
    ]
}

确保复制配置的 _id 字段与replSet名称相同。

答案 1 :(得分:0)

对我来说,解决方案是杀死MongoDB的冗余实例。

在Linux或Windows(使用git bash)上,输入命​​令以获取进程ID:

SDL_Renderer

在Linux上,使用以下命令终止进程:

    if (isset($_GET["page"] )) 
        {
        $page  = $_GET["page"]; 
        } 
    else 
       {
        $page=1; 
       };  
$index= ($page-1) * $limit;      

$sql = "SELECT * FROM survey LIMIT $index, $limit";

   $result = mysqli_query($con, $sql);
   echo "<div style='overflow: auto;'>";
echo "<table width=50% border=5px align=center >
<tr>
<th height=35 >Opinion</th>
<th>Date</th>
</tr>"; 

   if (mysqli_num_rows($result) > 0) {

         while($row = mysqli_fetch_assoc($result)) {

        echo '<tr align=center height=30 >';

                            echo "<td>" . $row['Opinion'] . "</td>";
                            echo "<td>" . $row['date'] . "</td>";
     }
} 
    else {
    echo "0 results";
}
echo "<a href='admin.php?page=".($page-1)."' class='button'>Previous</a>&nbsp&nbsp&nbsp";
    echo "<a href='admin.php?page=".($page+1)."' class='button'>Next</a>";

在Windows上,使用以下命令终止进程:

ps -alW | grep mongod. 

答案 2 :(得分:0)

我的环境是Windows,解决方案是重新启动MongoDB进程:

Task Manager->Services->MongoDB [run restart]