MongoDB集群搭建
作者:链上研发-欧阳
时间:2016-08-18
手把手搭建MongoDB集群
目标
搭建带有安全认证的mongodb集群准生产环境。
一共3个shard,每一个shard有3个replica set,replicat set采用primary、secondary、secondary方式。9个mongod实例,另外,3个config server,3个mongod实例,3个mongos实例。
mongodb版本 3.2.9 社区版本
Cores 4
OS Name CentOS release 6.6 (Final)
OS Version Linux version 2.6.32-504.3.3.el6.x86_64
RAM (MB) 3729
注意:关闭SELINUX
注意:服务器时间同步,比如用ntpdate,可以暂时略过不管。
最后会有核武。MongoDB Ops Manager
服务器准备:
服务器-ip |
---|
192.168.3.73 |
192.168.3.74 |
192.168.3.75 |
另外准备一台192.168.3.81用作MongoDB Ops Manager。
访问互通
比如在192.168.3.73机器上修改
vi /etc/hosts
192.168.3.73 73.dooioo.org
192.168.3.74 74.dooioo.org
192.168.3.75 75.dooioo.org
192.168.3.76 76.dooioo.org
192.168.3.81 81.dooioo.org
vi /etc/sysconfig/network
HOSTNAME=73.dooioo.org
生效
hostname 73.dooioo.org
下载安装
登录到192.168.3.73
$ cd /root
$ wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.9.tgz
$ scp mongodb-linux-x86_64-rhel62-3.2.9.tgz root@192.168.3.74:/root
$ scp mongodb-linux-x86_64-rhel62-3.2.9.tgz root@192.168.3.75:/root
$ scp mongodb-linux-x86_64-rhel62-3.2.9.tgz root@192.168.3.76:/root
$ tar zxvf mongodb-linux-x86_64-rhel62-3.2.9.tgz
规划集群和分片
规划3个shard * 3个replicat set + 配置服务
shard rs name | Primary | Secondary | Secondary | port |
---|---|---|---|---|
fang-s-a | a1 | a2 | a3 | 28111 |
fang-s-b | b2 | b1 | b3 | 28112 |
fang-s-c | c3 | c1 | c2 | 28113 |
fang-cs | configserver1 | configserver2 | configserver3 | 28200 |
规划3个config server的mongod实例configserver1、configserver2、configserver3
hostname | 实例 |
---|---|
73.dooioo.org | a1 b1 c1 configserver1 |
74.dooioo.org | a2 b2 c2 configserver2 |
75.dooioo.org | a3 b3 c3 configserver3 |
规划目录和配置文件
创建必要的目录和文件
#!/usr/bin/env bash
# 登录到192.168.3.73
# 创建db目录 日志目录 mongod配置文件
mkdir -p /mongodb/a1
mkdir -p /home/log/mongodb/a1
mkdir -p /mongodb/b1
mkdir -p /home/log/mongodb/b1
mkdir -p /mongodb/c1
mkdir -p /home/log/mongodb/c1
mkdir -p /mongodb/configserver1
mkdir -p /home/log/mongodb/configserver1
touch /mongodb/mongod-a1-config.yml
touch /mongodb/mongod-b1-config.yml
touch /mongodb/mongod-c1-config.yml
touch /mongodb/mongod-configserver1.yml
# 登录到192.168.3.74
mkdir -p /mongodb/a2
mkdir -p /home/log/mongodb/a2
mkdir -p /mongodb/b2
mkdir -p /home/log/mongodb/b2
mkdir -p /mongodb/c2
mkdir -p /home/log/mongodb/c2
mkdir -p /mongodb/configserver2
mkdir -p /home/log