mongdb 3 安装 分片 复本 搭建

1.环境
Linux:CentOS 6.5
MongoDB:3.2.7
10.30.44.56 分片1主,分片2从
10.30.44.57 分片2主,分片1从
10.30.44.58 配置、仲裁、路由

2.下载mongodb
https://www.mongodb.com/download-center?jmp=nav#community
[root@VM6-56 ~]$ curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.7.tgz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 71.6M    0  527k    0     0  25212      0  0:49:40  0:00:21  0:49:19 23015

将下载的mongodb-linux-x86_64-3.2.7.tgz复制到另外两台机器上
[root@VM6-56 ~]$scp mongodb-linux-x86_64-3.2.7.tgz 10.30.44.57:/root
[root@VM6-56 ~]$scp mongodb-linux-x86_64-3.2.7.tgz 10.30.44.58:/root

3.安装mongodb(在三台机器上都执行)
[root@VM6-56 ~]# groupadd mongodb
[root@VM6-56 ~]# useradd -g mongodb mongodb
[root@VM6-56 ~]# passwd mongodb
[root@VM6-56 ~]# mkdir /u01/mongodb -p
[root@VM6-56 ~]# chown mongodb.mongodb /u01/mongodb
[root@VM6-56 ~]# chown mongodb.mongodb mongodb-linux-x86_64-3.2.7.tgz
[root@VM6-56 ~]# mv mongodb-linux-x86_64-3.2.7.tgz /u01/mongodb
[root@VM6-56 ~]# su - mongodb
[mongodb@VM6-56 ~]$ cd /u01/mongodb
[mongodb@VM6-56 mongodb]$ tar -zxvf mongodb-linux-x86_64-3.2.7.tgz
[mongodb@VM6-56 mongodb]$ mv mongodb-linux-x86_64-rhel62-3.2.7 mongodb327
[mongodb@VM6-56 mongodb]$ cd
[mongodb@VM6-56 mongodb]$ vi .bash_profile
export PATH=/u01/mongodb/mongodb327/bin:$PATH:$HOME/bin

3.创建目录
在三台机器上都执行以下命令:
[mongodb@VM6-56 mongodb]$ pwd
/u01/mongodb
[mongodb@VM6-56 mongodb]$ mkdir mongodb     #创建mongodb的base目录
[mongodb@VM6-56 mongodb]$ cd mongodb
[mongodb@VM6-56 mongodb]$ mkdir data logs conf     #创建数据 日志 配置目录
以下命令在56 57上执行:
[mongodb@VM6-56 mongodb]$ cd data
[mongodb@VM6-56data]$ mkdir shard1 shard2     #创建分片数据目录
以下命令在58上执行:
[mongodb@VM6-56 mongodb]$ cd data
[mongodb@VM6-56 data]$ mkdir shard1_arb shard2_arb config     #创建分片1仲裁、分片2仲裁和配置库数据目录

4.配置文件
mongod的启动需要指定各种参数,这些参数可以写在文件里也可以在命令行指定,这里采用写在文件里的方式:
以下两个配置文件在56 57上执行:
[mongodb@VM6-56 mongodb]$ cd conf
[mongodb@VM6-56 conf]$ vi shard1.conf     #在56 57上执行
port = 31001     #端口
dbpath = /u01/mongodb/mongodb/data/shard1     #数据目录
logpath = /u01/mongodb/mongodb/logs/shard1.log     #日志文件
logappend = true     #日志记录方式
pidfilepath = /u01/mongodb/mongodb/logs/shard1.pid     #pid文件位置
directoryperdb = true
replSet = rep1     #副本集名
oplogSize = 1024     #操作日志大小,单位为M
fork = true     #独立进程运行
storageEngine=wiredTiger     #新存储引擎
shardsvr = true     #是不是分片
#journal = true     #是否记日志
[mongodb@VM6-56 conf]$ vi shard2.conf     #在56 57上执行
port = 31002     #端口
dbpath = /u01/mongodb/mongodb/data/shard2     #数据目录
logpath = /u01/mongodb/mongodb/logs/shard2.log     #日志文件

logappend = true     #日志记录方式
pidfilepath = /u01/mongodb/mongodb/logs/shard2.pid     #pid文件位置
directoryperdb = true
replSet = rep2     #副本集名
oplogSize = 1024     #操作日志大小,单位为M
fork = true     #独立进程运行
storageEngine=wiredTiger     #新存储引擎
shardsvr = true     #是不是分片
#journal = true     #是否记日志


以下三个配置文件在58上执行:
[mongodb@VM6-58 conf]$ vi shard1_arb.conf
port = 31001
dbpath = /u01/mongodb/mongodb/data/shard1_arb
logpath = /u01/mongodb/mongodb/logs/shard1_arb.log

logappend = true
pidfilepath = /u01/mongodb/mongodb/logs/shard1_arb.pid
directoryperdb = true
replSet = rep1
oplogSize = 1024
fork = true
storageEngine=wiredTiger
shardsvr = true
#journal = true


[mongodb@VM6-58 conf]$ vi shard2_arb.conf
port = 31002
dbpath = /u01/mongodb/mongodb/data/shard2_arb
logpath = /u01/mongodb/mongodb/logs/shard2_arb.log

logappend = true
pidfilepath = /u01/mongodb/mongodb/logs/shard2_arb.pid
directoryperdb = true
replSet = rep2
oplogSize = 1024
fork = true
storageEngine=wiredTiger
shardsvr = true
#journal = true


[mongodb@VM6-58 conf]$ vi config.conf
port = 31003
dbpath = /u01/mongodb/mongodb/data/config
logpath = /u01/mongodb/mongodb/logs/config.log

logappend = true
pidfilepath = /u01/mongodb/mongodb/logs/config.pid
directoryperdb = true
oplogSize = 1024
fork = true
storageEngine=wiredTiger
configsvr = true
#journal = true


[mongodb@VM6-58 conf]$ vi mongos.conf

port = 31010

#这没有数据目录

logpath = /u01/mongodb/mongodb/logs/mongos.log
logappend = true
pidfilepath = /u01/mongodb/mongodb/logs/mongos.pid
fork = true
configdb = 10.30.44.58:31003     #配置服务器


至此为止,一共在三台机器上产生了八个配置文件:
56上:shard1.conf shard2.conf
57上:shard1.conf shard2.conf
58上:shard1_arb.conf shard2_arb.conf config.conf mongos.conf
这些文件的内容大部分一样,只是config.conf里没有repSet项,因为配置服务器存放分片信息,与复本无关。路由服务器不存放数据,只使用内存,所以没有数据文件。这里配置参数只是简单的示例参数,可以使用集群工作,在生产环境上还要配置更多的参数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值