centos下搭建mongodb集群

安装前先同步服务器时间:
a.yum install ntp
b.ntpdate 210.72.145.44

同步时间方式2:
yum install rdate
rdate -t 60 -s stdtime.gov.hk
hwclock -w

rdate的命令使用方法介绍

功能说明:显示其他主机的日期与时间。
语  法:rdate [-ps][主机名称或IP地址...]
补充说明:执行rdate指令,向其他主机询问系统时间并显示出来。
参  数:
  -p  显示远端主机的日期与时间。
  -s  把从远端主机收到的日期和时间,回存到本地主机的系统时间。

配置总览:
3个分片sharding
每一个分片由3个节点构成1主2备的Replica Sets
3个配置节点Configsever
1个路由节点Mongos

步骤:
1. 创建分片:
server A:
mkdir -p /data/a/r0
mkdir -p /data/b/r0
mkdir -p /data/c/r0
mkdir -p /data/logs/a
mkdir -p /data/logs/b
mkdir -p /data/logs/c
mkdir -p /data/configServer/r0
mkdir -p /data/logs/configServer
mkdir -p /data/logs/serverlogs



./mongod --logpath /data/logs/a/r0.log --logappend --dbpath /data/a/r0 --port 10000 --shardsvr --replSet setA --rest  --oplogSize 64 --fork

serverB serverC  执行同上命令。

2.初始化复制集setA:

./mongo 192.168.1.115:10000/admin

config={_id: 'setA', members:[{_id: 0,host:'192.168.1.115:10000'},{_id:1,host:'192.168.1.116:10000'},{_id:2,host:'192.168.1.117:10000'}]}

rs.initiate(config);

3.初始化复制集setB:

./mongod --logpath /data/logs/b/r0.log --logappend --dbpath /data/b/r0 --port 20000 --shardsvr --replSet setB --rest  --oplogSize 64 --fork

./mongo 192.168.1.116:20000/admin

config={_id: 'setB', members:[{_id: 0,host:'192.168.1.115:20000'},{_id:1,host:'192.168.1.116:20000'},{_id:2,host:'192.168.1.117:20000'}]}
rs.initiate(config);

4.初始化复制集setC:

./mongod --logpath /data/logs/c/r0.log --logappend --dbpath /data/c/r0 --port 30000 --shardsvr --replSet setC --rest  --oplogSize 64 --fork

./mongo 192.168.1.117:30000/admin

config={_id: 'setC', members:[{_id: 0,host:'192.168.1.115:30000'},{_id:1,host:'192.168.1.116:30000'},{_id:2,host:'192.168.1.117:30000'}]}
rs.initiate(config);

5.配置config Server:
115 116 117上执行
./mongod --configsvr --logpath /data/logs/configServer/r0.log --logappend --dbpath /data/configServer/r0 --port 40000 --shardsvr --fork

6.启动路由节点:
115 116 117上执行
./mongos --configdb 192.168.1.115:40000,192.168.1.116:40000,192.168.1.117:40000 --logpath   /data/logs/serverlogs/mongos.log --logappend --port 50000 --fork

7.配置分片
115 上执行:
./mongo 127.0.0.1:50000
use admin
db.runCommand({addshard:"setA/192.168.1.115:10000,192.168.1.116:10000,192.168.1.117:10000",name:"ShardSetA"})
db.runCommand({addshard:"setB/192.168.1.115:20000,192.168.1.116:20000,192.168.1.117:20000",name:"ShardSetB"})
db.runCommand({addshard:"setC/192.168.1.115:30000,192.168.1.116:30000,192.168.1.117:30000",name:"ShardSetC"})
printShardingStatus();

数据库连接时通过192.168.1.115 端口连接50000
ES连接river配置时,不能通过路由端口。 可通过10000或者20000

1.设置分片存储的DB,如设置test库分片存储。
db.runCommand({ enablesharding:"test" })
2.db.runCommand({ shardcollection: "test.users", key: { _id:1 }}) --设置分片的集合名称,且必须指定Shard Key,系统会自动创建索引
3.查看存储状态
db.users.stats()

猜你喜欢

转载自maxrocray.iteye.com/blog/1700372