#!/bin/bash
# 解压安装mongodb
mongodb_package="mongodb-linux-x86_64-rhel70-4.0.20.tgz"
mongodb_install_path="/usr/local/mongodb"
tar zxf "${mongodb_package}"
mv "${mongodb_package%.*}" "${mongodb_install_path}"
echo "PATH=$PATH:$mongodb_install_path/bin" > /etc/profile.d/mongodb.sh
source /etc/profile
mkdir -p /data/mongodb/mongos/{log,conf}
mkdir -p /data/mongodb/mongoconf/{data,log,conf}
mkdir -p /data/mongodb/shard1/{data,log,conf}
mkdir -p /data/mongodb/shard2/{data,log,conf}
mkdir -p /data/mongodb/shard3/{data,log,conf}
touch /data/mongodb/mongos/log/mongos.log
touch /data/mongodb/mongoconf/log/mongoconf.log
touch /data/mongodb/shard1/log/shard1.log
touch /data/mongodb/shard2/log/shard2.log
touch /data/mongodb/shard3/log/shard3.log
cat > /data/mongodb/mongoconf/conf/mongoconf.conf <<EOF
systemLog:
destination: file
path: "/data/mongodb/mongoconf/log/mongoconf.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/data/mongodb/mongoconf/data"
processManagement:
fork: true
net:
bindIp: 0.0.0.0
port: 21000
sharding:
clusterRole: configsvr
replication:
replSetName: "replconf"
EOF
mongod -f /data/mongodb/mongoconf/conf/mongoconf.conf
# mongod --shutdown --dbpath /data/mongodb/mongoconf/data/
firewall-cmd --zone=public --add-port=21000/tcp --permanent
firewall-cmd --reload
mongo --port 21000
use admin
config = {
_id:"replconf",
members:[
{_id:0,host:"192.168.122.132:21000"},
{_id:1,host:"192.168.122.133:21000"},
{_id:2,host:"192.168.122.134:21000"},
]
}
rs.initiate(config)
cat > /data/mongodb/shard1/conf/shard.conf <<EOF
systemLog:
destination: file
path: "/data/mongodb/shard1/log/shard1.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/data/mongodb/shard1/data"
processManagement:
fork: true
net:
bindIp: 0.0.0.0
port: 22001
sharding:
clusterRole: shardsvr
replication:
replSetName: "shard1"
EOF
firewall-cmd --zone=public --add-port=22001/tcp --permanent
firewall-cmd --reload
mongod -f /data/mongodb/shard1/conf/shard.conf
mongo --port 22001
use admin
config = {
_id:"shard1",
protocolVersion: 1,
members:[
{_id:0,host:"192.168.122.132:22001"},
{_id:1,host:"192.168.122.133:22001",arbiterOnly:true},
{_id:2,host:"192.168.122.134:22001"},
]
}
rs.initiate(config)
cat > /data/mongodb/shard2/conf/shard.conf <<EOF
systemLog:
destination: file
path: "/data/mongodb/shard2/log/shard2.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/data/mongodb/shard2/data"
processManagement:
fork: true
net:
bindIp: 0.0.0.0
port: 22002
sharding:
clusterRole: shardsvr
replication:
replSetName: "shard2"
EOF
firewall-cmd --zone=public --add-port=22002/tcp --permanent
firewall-cmd --reload
mongod -f /data/mongodb/shard2/conf/shard.conf
mongo --port 22002
use admin
config = {
_id:"shard2",
protocolVersion: 1,
members:[
{_id:0,host:"192.168.122.132:22002"},
{_id:1,host:"192.168.122.133:22002"},
{_id:2,host:"192.168.122.134:22002",arbiterOnly:true},
]
}
rs.initiate(config)
cat > /data/mongodb/shard3/conf/shard.conf <<EOF
systemLog:
destination: file
path: "/data/mongodb/shard3/log/shard3.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/data/mongodb/shard3/data"
processManagement:
fork: true
net:
bindIp: 0.0.0.0
port: 22003
sharding:
clusterRole: shardsvr
replication:
replSetName: "shard3"
EOF
firewall-cmd --zone=public --add-port=22003/tcp --permanent
firewall-cmd --reload
mongod -f /data/mongodb/shard3/conf/shard.conf
mongo --port 22003
use admin
config = {
_id:"shard3",
protocolVersion: 1,
members:[
{_id:0,host:"192.168.122.132:22003",arbiterOnly:true},
{_id:1,host:"192.168.122.133:22003"},
{_id:2,host:"192.168.122.134:22003"},
]
}
rs.initiate(config)
cat > /data/mongodb/mongos/conf/mongos.conf <<EOF
systemLog:
destination: file
path: "/data/mongodb/mongos/log/mongos.log"
logAppend: true
processManagement:
fork: true
net:
bindIp: 0.0.0.0
port: 20000
sharding:
configDB: replconf/192.168.122.132:21000,192.168.122.133:21000,192.168.122.134:21000
EOF
firewall-cmd --zone=public --add-port=20000/tcp --permanent
firewall-cmd --reload
mongos -f /data/mongodb/mongos/conf/mongos.conf
mongo --port 20000
use admin
db.runCommand({addshard:"shard1/192.168.122.132:22001,192.168.122.133:22001,192.168.122.134:22001"})
db.runCommand({addshard:"shard2/192.168.122.132:22002,192.168.122.133:22002,192.168.122.134:22002"})
db.runCommand({addshard:"shard3/192.168.122.132:22003,192.168.122.133:22003,192.168.122.134:22003"})
db.runCommand({enablesharding:"test"})
db.runCommand({shardcollection:"test.collection1",key:{_id:"hashed"}})
use test
for(var i=1;i<=100000;i++) db.collection1.save({_id:i,"test1":"testval1"})
centos7部署mongodb分片集群
最新推荐文章于 2024-08-06 17:28:55 发布