三台机器操做系统环境以下:node
1linux 2mongodb 3shell 4bash 5架构 6fetch 7ui |
|
架构以下图,以前的架构图找不到了,就凑合看下面的表格吧。。
192.168.75.12八、shard1:1000一、shard2:1000二、shard3:1000三、configsvr:1000四、mongos:10005
注:shard1主节点,shard2仲裁,shard3副本
192.168.75.12九、shard1:1000一、shard2:1000二、shard3:1000三、configsvr:1000四、mongos:10005
注:shard1副本,shard2主节点,shard3仲裁
192.168.75.130、shard1:1000一、shard2:1000二、shard3:1000三、configsvr:1000四、mongos:10005
注:shard1仲裁,shard2副本,shard3主节点
node1:192.168.75.128
node2:192.168.75.129
node3:192.168.75.130
建立mongodb用户
1 2 3 4 5 |
|
建立目录和文件
1 2 3 4 5 6 |
|
下载mongodb
1 2 3 |
|
配置mongodb环境变量
1 2 |
|
shard1.conf配置文件内容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
shard2.conf配置文件内容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
shard3.conf配置文件内容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
configsvr.conf配置文件内容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
mongos.conf配置文件内容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
注:以上操做只是在node1机器上操做,请把上面这些操做步骤在另外2台机器操做一下,包括建立用户建立目录文件以及安装mongodb等,以及文件拷贝到node二、node3对应的目录下,拷贝以后查看一下文件的属主属组是否为mongodb。关于configsvr的问题,官方建议1台或者3台,最好为奇数,你懂得。不懂的话自行搜索mongodb官方就知道答案了,连接找不到了,本身找找吧。
启动各个机器节点的mongod,shard一、shard二、shard3
1 2 3 4 5 |
|
注:没法启动,看到相应的提示后
解决:安装openssl便可,三台机器均安装openssl-devel
1 2 3 |
|
再次切换mongodb用户启动三台机器上的mongod,shard一、shard二、shard3
1 2 3 4 5 6 7 8 9 10 11 12 |
|
进入node1机器上的mongod:10001登陆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
注:提示warning......
解决:在三台机器上均操做一下内容便可
1 2 3 4 |
|
关闭三台机器上的mongod实例,而后再次启动三台机器上mongod实例便可。
1 2 3 4 |
|
配置复制集
node1机器上操做配置复制集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
node2机器上操做配置复制集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
node3机器上操做配置复制集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
注:以上是配置rs复制集,相关命令如:rs.status(),查看各个复制集的情况
启动三台机器上的configsvr和mongos节点
1 2 3 4 5 6 7 8 |
|
配置shard分片
在node1机器上配置shard分片
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 |
|
查看shard信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
查看分片状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
启用shard分片的库名字为'zxl',即为库
1 2 |
|
设置集合的名字以及字段,默认自动创建索引,zxl库,haha集合
1 2 |
|
模拟在haha集合中插入10000数据
1 2 |
|
能够使用上面mongos> sh.status()命令查看各个shard分片状况,以上就是复制集和shard分片搭建完成,主要仍是须要理解rs和shard原理。仍是把结果发出来吧,以下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
以上就是mongodb3.2复制集和shard分片搭建就此完成,仍是多多看看各个角色是什么概念以及原理性的东东吧。。