实验环境
虚拟机:四节点,node01~node04,相互之间已经配置免密登录,并配置反向解析(编辑/etc/hosts)
实验环境:centos 6.5,并以root用户登录,因此以下所有命令不需要加sudo
mongodb版本:3.4
mongodb安装
参考mongodb官方文档,在centos下安装mongodb
创建/etc/yum.repo.d/mongodb-org-3.4.repo文件,编辑内容如下:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
# 这里将gpgcheck改为0
gpgcheck=0
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
随后直接运行yum install -y mongodb-org
即可
集群规划
本次实验集群规划如下:
分片数:2(d1,d2)
配置服务器:c
副本数:3
node01运行mongos进程
剩下的node02~node04,采取不同数据路径的方法,在同一个节点上分别启动三个mongod进程,其中两个分片副本,一个是配置服务器副本,即[d1,d2,c]
实验步骤
在各节点上创建数据目录等
简单的在node02上编辑一个脚本mkdir.sh:
#!/bin/bash
for i in {
1..3}
do
if [ $i -eq 3 ];then
mkdir -p /vdisk$i/configsvr/data
mkdir -p /vdisk$i/configsvr/log/
cd /vdisk$i/configsvr/log
touch configsvr.log
cp /etc/mongod.conf /vdisk$i/configsvr/configsvr.conf
else
mkdir -p /vdisk$i/shard$i/data
mkdir -p /vdisk$i/shard$i/log/
cd /vdisk$i/shard$i