MongoDB高可用架构—Replica Set 集群实战
Replica Set使用的是n个mongod节点,构建具备自动的容错功能(auto-failover),自动恢复的(auto-recovery)的高可用方案。
使用Replica Set来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操作。
对于Replica Set中的secondary 节点默认是不可读的。
架构:
192.168.8.30 192.168.8.31 192.168.8.32
replica set1 : shard11 shard12 shard13
replica set2 : shard21 shard22 shard23
config : config config config
mongos : mongos mongos mongos
架构图:
分别在各服务器上运行两个mongod实例:
shard11 + shard12 + shard13 ----> 组成一个replica set --|
|-----> sharding_cluster
shard21 + shard22 + shard23 ----> 组成一个replica set --|
Shard Server: 用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个relica set承担,防止主机单点故障!
Config Server: 存储了整个 Cluster Metadata,其中包括 chunk 信息!
Route Server: 前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。
一、安装配置mongodb环境
1.安装
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz tar zxf mongodb-linux-x86_64-2.0.4.tgz mv mongodb-linux-x86_64-2.0.4 /opt/mongodb echo "export PATH=$PATH:/opt/mongodb/bin" >> /etc/profile source /etc/profile
2.建立用户和组
useradd -u 600 -s /bin/false mongodb
3.创建数据目录
在各服务器上建立如下目录:
30服务器: mkdir -p /data0/mongodb/{db,logs} mkdir -p /data0/mongodb/db/{shard11,shard21,config} 31服务器: mkdir -p /data0/mongodb/{db,logs} mkdir -p /data0/mongodb/db/{shard12,shard22,config} 32服务器: mkdir -p /data0/mongodb/{db,logs} mkdir -p /data0/mongodb/db/{shard13,shard23,config}
4.设置各节点服务器hosts解析
true > /etc/hosts echo -ne " 192.168.8.30 mong01 192.168.8.31 mong02 192.168.8.32 mong03 " >>/etc/hosts 或 cat >> /etc/hosts << EOF 192.168.8.30 mong01 192.168.8.31 mong02 192.168.8.32 mong03 EOF
5.同步时钟
ntpdate ntp.api.bz
写到crontab任务计划中!
这里务必要同步时钟,不然shrad不能同步!
以上配置各节点都进行操作!!
相关推荐
lbyd0 2020-11-17
BigYellow 2020-11-16
sushuanglei 2020-11-12
我心似明月 2020-11-09
zhushenghan 2020-11-09
sunnnyduan 2020-10-16
不要皱眉 2020-10-14
xiaohai 2020-09-29
songxiugongwang 2020-09-22
萌亖 2020-09-17
LuckyLXG 2020-09-08
sdmzhu 2020-09-01
mkhhxxttxs 2020-09-16
xiaohai 2020-09-16
newcome 2020-09-09
jaylong 2020-08-19
大秦铁骑 2020-08-19
thatway 2020-08-19