### :-: windows搭建mongodb分片集群
* [ ] 规划:
10.10.10.10,mongos、config server、shard server1 主节点、shard server2 仲裁、shard server3 副节点
10.10.10.11,mongos、config server、shard server1 副节点、shard server2 主节点、shard server3 仲裁
10.10.10.16,mongos、config server、shard server1 仲裁、shard server2 副节点、shard server3 主节点
端口分配:mongos:27017 config:27000 shard1:27001 shard2:27002 shard3:27003
* [ ] 进入C:\mongodb_3.2目录下
* [ ] 创建目录
```
mkdir data\config,data\shard1,data\shard2,data\shard3
mkdir logs
mkdir conf
```
* [ ] 配置服务器搭建副本集
1. 准备配置文件conf\config.conf
2. 上传到C:\mongodb_3.2\conf目录下
3. 启动10.10.10.10\11\16的config server,进入C:\mongodb_3.2\bin目录下执行(--install表示后台运行):
mongod -f C:\mongodb_3.2\conf\config.conf --serviceName "MongoDB Configsvr" --serviceDisplayName "MongoDB Configsvr" --install
4. 启动服务:net start "MongoDB Configsvr"
5. 设置开机自动启动:管理工具----服务----MongoDB----启动方式设为:自动
6. 登录任意一台配置服务器,初始化配置副本集。进入C:\mongodb_3.2\bin目录下
使用docview数据库
`mongo --port 27000 docview`
定义变量(其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,
”members” 中的 “host” 为三个节点的 ip 和 port。)
```
cfg = {
_id : "configs",
members : [
{_id : 0, host : "10.10.10.10:27000" },
{_id : 1, host : "10.10.10.11:27000" },
{_id : 2, host : "10.10.10.16:27000" }
]
}
```
初始化副本集
`rs.initiate(cfg)`
查看集群状态
`rs.status()`
`
* [ ] 搭建分片服务器副本集-shard1
a)准备配置文件conf\shard1.conf
b)上传到C:\mongodb_3.2\conf目录下
c)启动10.10.10.10\11\16的shard1 server,进入C:\mongodb_3.2\bin目录下执行(--install表示后台运行):
`mongod -f C:\mongodb_3.2\conf\shard1.conf --serviceName "MongoDB Shard1" --serviceDisplayName "MongoDB Shard1" --install`
d)启动服务:`net start "MongoDB Shard1"`
e)设置开机自动启动:管理工具----服务----MongoDB----启动方式设为:自动
f)登录任意一台配置服务器,初始化配置副本集。进入C:\mongodb_3.2\bin目录下
使用docview数据库
`mongo --port 27001 docview`
定义变量(其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,
”members” 中的 “host” 为三个节点的 ip 和 port。)
```
cfg = {
_id : "shard1",
members : [
{_id : 0, host : "10.10.10.10:27001" , priority: 2 },
{_id : 1, host : "10.10.10.11:27001" , priority: 1 },
{_id : 2, host : "10.10.10.16:27001" , arbiterOnly: true }
]
}
```
初始化副本集
`rs.initiate(cfg)`
查看集群状态
`rs.status()`
* [ ] 搭建分片服务器副本集-shard2
a)准备配置文件conf\shard2.conf
b)上传到C:\mongodb_3.2\conf目录下
c)启动10.10.10.10\11\16的shard2 server,进入C:\mongodb_3.2\bin目录下执行(--install表示后台运行):
`mongod -f C:\mongodb_3.2\conf\shard2.conf --serviceName "MongoDB Shard2" --serviceDisplayName "MongoDB Shard2" --install`
d)启动服务:net start "MongoDB Shard2"
e)设置开机自动启动:管理工具----服务----MongoDB----启动方式设为:自动
f)登录任意一台配置服务器,初始化配置副本集。进入C:\mongodb_3.2\bin目录下
使用docview数据库
`mongo --port 27002 docview`
定义变量(其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,
”members” 中的 “host” 为三个节点的 ip 和 port。)
```
cfg = {
_id : "shard2",
members : [
{_id : 0, host : "10.10.10.10:27002" , arbiterOnly: true },
{_id : 1, host : "10.10.10.11:27002" , priority: 2 },
{_id : 2, host : "10.10.10.16:27002" , priority: 1 }
]
}
```
初始化副本集
`rs.initiate(cfg)`
查看集群状态
`rs.status()`
* [ ] 搭建分片服务器副本集-shard3
a)准备配置文件conf\shard3.conf
b)上传到C:\mongodb_3.2\conf目录下
c)启动10.10.10.10\11\16的shard3 server,进入C:\mongodb_3.2\bin目录下执行(--install表示后台运行):
`mongod -f C:\mongodb_3.2\conf\shard3.conf --serviceName "MongoDB Shard3" --serviceDisplayName "MongoDB Shard3" --install`
d)启动服务:net start "MongoDB Shard3"
e)设置开机自动启动:管理工具----服务----MongoDB----启动方式设为:自动
f)登录任意一台配置服务器,初始化配置副本集。进入C:\mongodb_3.2\bin目录下
使用docview数据库
`mongo --port 27003 docview`
定义变量(其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,
”members” 中的 “host” 为三个节点的 ip 和 port。)
```
cfg = {
_id : "shard3",
members : [
{_id : 0, host : "10.10.10.10:27003" , priority: 1 },
{_id : 1, host : "10.10.10.11:27003" , arbiterOnly: true },
{_id : 2, host : "10.10.10.16:27003" , priority: 2 }
]
}
```
初始化副本集
`rs.initiate(cfg)`
查看集群状态
`rs.status()`
* [ ] 配置路由服务器
a)准备配置文件conf\mongos.conf
b)上传到C:\mongodb_3.2\conf目录下
c)官网下载mongos
`https://www.mongodb.org/dl/win32/win32/mongodb-win32-x86_64-3.2.5.zip`
d)上传mongos到C:\mongodb_3.2\bin目录下
e)启动10.10.10.10\11\16的mongos server,进入C:\mongodb_3.2\bin目录下执行(--install表示后台运行):
`mongos -f C:\mongodb_3.2\conf\mongos.conf --serviceName "MongoDB Mongos" --serviceDisplayName "MongoDB Mongos" --install`
f)启动服务:net start "MongoDB Mongos"
g)设置开机自动启动:管理工具----服务----MongoDB----启动方式设为:自动
* [ ] 串联路由服务器与分配副本集
登录任意一台配置服务器,配置分片。进入C:\mongodb_3.2\bin目录下
使用docview数据库(必须带上)
`mongo --port 27017 docview`
串联路由服务器与分配副本集
```
sh.addShard("shard1/10.10.10.10:27001,10.10.10.11:27001,10.10.10.16:27001")
sh.addShard("shard2/10.10.10.10:27002,10.10.10.11:27002,10.10.10.16:27002")
sh.addShard("shard3/10.10.10.10:27003,10.10.10.11:27003,10.10.10.16:27003")
```
查看集群状态(只显示主从节点,从节点默认不可读)
`sh.status()`
* [ ] 指定数据库里需要分片的集合和片键(不指定,数据全部在shard1上)
连接在mongos上,准备让指定的数据库、指定的集合分片生效。
指定docview分片生效:
`db.runCommand( { enablesharding :"docview"} );`
指定数据库里需要分片的集合和片键:
```
db.runCommand( { shardcollection : "docview.app",key : {_id: "hashed"} } )
db.runCommand( { shardcollection : "docview.user",key : {_id: "hashed"} } )
db.runCommand( { shardcollection : "docview.doc",key : {md5: "hashed"} } )
```
* [ ] 查看分片状态
```
sh.status()
db.stats()
db.doc.stats()
```
- CentOS运维手册
- CentOS6.9挂载额外的磁盘
- ACL(access control list)-权限控制
- 普通用户不能绑定80端口
- ssh8.1p1编译步骤
- 制作openssh8_1的rpm包
- 离线yum源维护
- 去除VIM中打开文件里有的^M字符
- Mysql运维手册
- CentOS6.9搭建Mariadb-Galera集群
- mysql编码报错
- haproxy代理mysql galera
- 常用sql
- MySQL通用知识点
- 修复断电损坏的MySQL数据表
- sync_binlog配置的分析
- Xtrabackup备份与恢复
- Innodb线程并发同步机制
- redo log
- 死锁分析
- 慢SQL分析
- nginx运维手册
- nginx日志分割
- proxy_set_header作用
- nginx优化
- url末尾不加/
- 负载均衡
- haproxy和nginx研究
- haproxy配置
- redis运维手册
- redis_5.0.8集群搭建
- Redis集群原理分析
- predixy的安装和配置
- redis优化
- NFS运维手册
- flock操作失败
- mongodb运维手册
- MongoDB开启用户认证
- shell编码规范
- HTTP
- HTTP的传输编码
- 性能分析
- java内存分析
- javaCPU分析