mongodb 集群linux,linux系统如何搭建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()

你可能感兴趣的:(mongodb,集群linux)