mongodb分片集群

第一章

1.mongodb 分片集群解释和目的

一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础。

第二章

1.实验环境

centos7  3台服务器 

192.168.1.195 2G内存 

192.168.1.196 2G内存 

192.168.1.197 2G内存 

2.初始化环境(三台都操作)

yum -y install ntp
 systemctl enable ntpd
 systemctl start ntpd
 ntpdate -u cn.pool.ntp.org
 hwclock --systohc
 timedatectl set-timezone Asia/Shanghai
# 关闭防火墙 Selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

3.系统文件数设置

cat >> /etc/security/limits.conf <<EOF
* soft nofile 102400
* hard nofile 409600
* soft nproc 2048
* hard nproc 4096
EOF

echo never >> /sys/kernel/mm/transparent_hugepage/enabled
echo never >> /sys/kernel/mm/transparent_hugepage/defrag

第三章(三台都需要操作)

1.下载mongodb包 

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.5.tgz

2.创建mongodb用户

useradd -M -u 8000 -s /sbin/nologin mongo

3.下载文件解压缩

mkdir /data/ 然后解压MongoDB二进制包到/data目录下,并改名为mongo

4.配置环境

mkdir -p /data/mongo/config
mkdir -p /data/mongo/data/server
mkdir -p /data/mongo/log/server
mkdir -p /data/mongo/log/mongos
for i in {1..3};do mkdir -p /data/mongo/data/shard$i; done
for i in {1..3};do mkdir -p /data/mongo/log/shard$i; done

5.configsvr配置文件

#不同机器更改bind_ip

cat >> /data/mongo/config/config.conf << EOF
bind_ip=192.168.1.195
dbpath=/data/mongo/data/server
pidfilepath=/data/mongo/mongo.pid
logpath=/data/mongo/log/server/mongodb.log
logappend=true
journal = true
port=27000
fork=true
configsvr=true
logRotate=rename
#副本集名字
replSet=damowang
#最大连接数  
maxConns=20000
EOF

6.权限更改

chown -R mongo:mongo /data/mongo

7.启动configsvr

 /data/mongo/bin/mongod -f config/config.conf

8.初始化configsvr (单台机器操作)

#登录其中任意一台机器  
 /data/mongo/bin/mongo --host 192.168.10.203 --port 27000

config = {_id : "damowang", members : [{_id : 0, host : "192.168.1.195:27000"}, {_id : 1, host : "192.168.1.196:27000"}, {_id : 2, host : "192.168.1.197:27000"}]}

#初始化副本集
rs.initiate(config)

第四章 (三台机器都操作)

1.配置shard

cat >> /data/mongo/config/shard1.conf << EOF

#不同机器bind_ip改变
bind_ip=192.168.1.195
#更改为对应shard
dbpath=/data/mongo/data/shard1
pidfilepath=/data/mongo/shard1.pid
logpath=/data/mongo/log/shard1/mongodb.log
logappend=true
journal = true
#更改为对应shard端口
port=27001
fork=true
logRotate=rename
shardsvr=true
#副本集名称
replSet=shard1
#最大连接数
maxConns=20000
EOF

猜你喜欢

转载自www.cnblogs.com/zoulixiang/p/9844374.html