前言
首先再次感谢博客园的各位朋友。正是你们的关注才让我有信心将这个工具开发下去。
这周同样也有热心网友对于MongoCola存在的问题给予了反馈。
这次工具更新到了版本1.20,强化的地方是增加了Replset和Sharding的管理能力。MongoVUE和Mongocola以前在显示一个Replset或者Sharding的时候只是将Connection里面的内容,也就是Server的内容显示出来,而没有将Sharding的构造给显示出来,例如,Sharding可能是一个Replset,Replset里面可能有2台服务器。这个版本能够表示这些服务器的Instance的结构了。
当然这个版本还是无法获得Sharding的Config服务器的信息,C#Driver的作者也表示不能确定是不是能够从Mongos获得Config的信息。。。。
注意:这个版本现在还是测试版,可能有BUG,如果您发现了,请联系我,谢谢。
Replset的初始化
请先准备好这样两个服务器
mongod --port 10001 --dbpath C:\mongodb\shard1 --replSet set1 --rest
mongod --port 10002 --dbpath C:\mongodb\shard2 --replSet set1 --rest
使用工具将 localhost:10001的主机打开。
注意,配置Connection的时候,除了连接名称,主机,端口以外,一定要选中 SlaveOK。这个选项在OptionTab里面。原因是Replset里面,所有的非Primary的机器都是不可读的。
在Replset没有启动的时候,如果这台机器已经标识为Replset的话,如果没有SlaveOk,就是不可读的。(Replset暂时不用填写)
好了,第一台服务器配置好了。试着连接好以后,在主界面上面就可以查看和操作它了。
注意,现在这台服务器还不是一个Replset,我们要以这台服务器为主(Primary)服务器,初始化一个Replset(副本)。
选中这台服务器的连接(Connection,第一层得节点,根结点)右键菜单,初始化副本。在弹出框中填上副本的名称。一定要使用启动时候的名称。例如这个例子里面“--replSet set1”
那么,这里就要填上 set1.确认之后,如果工具将会做初始化操作,这个操作将耗时30秒左右,30秒后,请刷新界面(F5)。
Connection节点将现实逻辑的数据库内容,Servers里面是物理的数据库结构。
注意,这个操作会自动更新Connection的配置信息,将普通服务器的配置改为副本。
Replset的成员和删除添加
好了,我们将另一台服务器也添加到这个副本里面去吧。选中根节点,右键菜单:副本设定
填上主机名称,端口,设置一下优先度,就可以添加主机了。ArbiterOnly的意思是将这台服务器作为仲裁服务器。当主服务器出问题的时候,靠优先度无法仲裁谁来接替主服务的时候,由这台机器的信息来仲裁。一般不用这样的仲裁服务器。
注意,这个操作会自动更新Connection的配置信息,将添加副本的成员。
(由于是测试版本,这个功能会出现一些异常,请无视。这个异常已经报告给C#的驱动开发者了,功能还是正常的)
添加之后,也请等待30秒后重新刷新(F5)
至于删除,大家看了界面后,一定都会了。。。\(^o^)/~