mongodb的集群结构如上图
网上有个mongo3.0的集群例子:
router提供入口,mongo客户端通过router连入集群(本例只配置一个route集群)
config servers辅助记录数据分片(一个集群)
shard为数据分片集群(本例中配置两个,用于验证分片),
本例中,为每个集群(shard config)三个mongo实例
config与shard为同一个类型的进程mongod
route则为mongos进程
下载mongo二进制压缩包
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.6.tgz
解压可以看到
用openssl生成一个key,用于mongo集群内部数据通迅
mongod配置为件(config与shard通用)
mongo_node.conf:
mongos的配置文件(即图中的route)
mongos.conf:
启动config集群(3个mongod进程)
启动成功后
用命令mongo –port 26001 –host 127.0.0.1
如下图,进入mongo的shell
在shell中输入如下js代码 设置config集群
三个config mongo进程会自动选出一个primary,过一会再进入shell就会发现 shell提示变成primary
顺便给config添加一个admin用户,(一个集群只要在primary进程添加一次,会自动同步给secondary)
同样之后shard也做同样的添加用户操作,便于后继观察数据
启动shard
用mongo –port 27001 –host 127.0.0.1进入mongo shell
同样用之前的添加用户的js
并用同样的方法启动shard2集群,用于实验数据分片
对应的目录与分片名改成shard2
启动route
路由添加分片
用mongo –port 25001 –host 127.0.0.1 -u admin -p 123456进入shell
或者这样也可 mongo mongodb://admin:123456@127.0.0.1:25001
在mongo shell分别执行以下两行js
创建一个mongo database与collection
并设置分片
在mongo shell用以下js添加数据,可以修改循环次数避免测试时间过长
在windows下安装mongodb,利用自带的compass客户端观察两个shard集群
会发现数据分流到两个集群了
也可以直接连route观察数据
补充:
把js存到文件里给shell执行会比较方便
执行js命令如下:
mongo mongodb://admin:123456@127.0.0.1:25001 ./test.js
示例js代码:
到此这篇关于mongodb linux下集群搭建的文章就介绍到这了,更多相关mongodb集群搭建内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!