mongodb集群部署实践

一。复制集群部署

机器:134.32.213.129/130/131

端口:27003
1.主机部署准备
cd /home/lifh/mongodb/mongodb4
tar -zxf ../soft/mongodb-linux-x86_64-rhel62-4.0.12.tgz 
mv mongodb-linux-x86_64-rhel62-4.0.12/* .
mkdir conf  data  keyfile  log  run
mkdir data/config  data/data_node
vi conf/mongo_node.conf
net:
  port: 27003
  bindIp:  0.0.0.0

storage:
    engine: wiredTiger
    dbPath: /home/lifh/mongodb/mongodb4/data/data_node
    journal:
        enabled: true
systemLog:
    destination: file
    logAppend: true
    path: /home/lifh/mongodb/mongodb4/log/mongod_node.log

operationProfiling:
  slowOpThresholdMs: 10000

replication:
    oplogSizeMB: 10240
    replSetName: replica19

processManagement:
    fork: true
    pidFilePath: /home/lifh/mongodb/mongodb4/run/mongodb.pid

security:
    authorization: "enabled"
    clusterAuthMode: keyFile
    keyFile: /home/lifh/mongodb/mongodb4/keyfile/mongo.key

tar -zcf mongodb_4_green.tar.gz mongodb/mongodb4
scp mongodb_4_green.tar.gz  lifh@134.32.213.130/131

2.复制集群启动
 分别启动134.32.213.129/130/131 主机的复制集群实例;
bin/mongod -f conf/mongo_node.conf

3.数据库中集群和管理账号的配置
bin/mongo --host 127.0.0.1  --port 27003

config={_id:'replica19',members:[{_id:0,host:'134.32.213.129:27003'},{_id:1,host:'134.32.213.130:27003'},{_id:2,host:'134.32.213.131:27003'}]}
rs.initiate(config)
{ "ok" : 1 }
replica19:SECONDARY> 
replica19:PRIMARY> 
use admin
db.createUser({user:"sys_admin",pwd:"xxxxxx",roles:[{role:"root",db:"admin"}]})
Successfully added user

db.auth('sys_admin','xxxxxx')
 rs.status()
quit()
4.检查集群状态和配置
 bin/mongo 127.0.0.1:27003/admin -u sys_admin -p xxxxxx
 rs.status()
rs.printSlaveReplicationInfo()  查询从库信息
二。分片集群部署
1.主机部署准备

机器:134.32.213.129/130/131

端口:
mongos:27006
config server:27007
shard1:27017
shard2:27018
shard3:27019

cd /home/lifh/mongodb/shard_mongo
tar -zxf ../soft/mongodb-linux-x86_64-rhel62-4.0.12.tgz 
mv mongodb-linux-x86_64-rhel62-4.0.12/* .
mkdir conf  data  keyfile  log  run
mkdir data/data_config  data/data_shard
mkdir data/data_shard/shard1  data/data_shard/shard2  data/data_shard/shard3
配置分片实例的配置文件,通过调整shard1关键字和端口进行配置其他两个分片的配置文件;
conf/mongo_shard[1-3].conf
net:
  port: 27017
  bindIp:  0.0.0.0

storage:
    engine: wiredTiger
    dbPath: /home/lifh/mongodb/shard_mongo/data/data_shard/shard1
    journal:
        enabled: true
systemLog:
    destination: file
    logAppend: true
    path: /home/lifh/mongodb/shard_mongo/log/mongod_shard1.log

operationProfiling:
  slowOpThresholdMs: 10000

sharding:
    clusterRole: shardsvr

replication:
    oplogSizeMB: 40960
    replSetName: shard1

processManagement:
    fork: true
    pidFilePath: /home/lifh/mongodb/shard_mongo/run/mongodb_shard1.pid

#security:
#    authorization: "enabled"
#    clusterAuthMode: keyFile
#    keyFile: /home/lifh/mongodb/shard_mongo/keyfile/mongoshard.key
配置配置集群的配置文件
conf/mongo_config.conf
net:
  port: 27007
  bindIp:  0.0.0.0

storage:
    engine: wiredTiger
    dbPath: /home/lifh/mongodb/shard_mongo/data/data_config
    journal:
        enabled: true
systemLog:
    destination: file
    logAppend: true
    path: /home/lifh/mongodb/shard_mongo/log/mongod_config.log

operationProfiling:
  slowOpThresholdMs: 10000

sharding:
    clusterRole: configsvr

replication:
    oplogSizeMB: 40960
    replSetName: configserver

processManagement:
    fork: true
    pidFilePath: /home/lifh/mongodb/shard_mongo/run/mongodb_config.pid

#security:
#    authorization: "enabled"
#    clusterAuthMode: keyFile
#    keyFile: /home/lifh/mongodb/shard_mongo/keyfile/mongoshard.key

然后把配置目录shard_mongo打包,并复制到134.32.213.130/131两台机器;
2.分片集群启动
bin/mongod  -f conf/mongo_shard1.conf
bin/mongod  -f conf/mongo_shard2.conf
bin/mongod  -f conf/mongo_shard3.conf
bin/mongod  -f conf/mongo_config.conf
在每台机器上执行上面的4个命令,启动配置节点和分片节点
3.数据库中复制集群的配置
注意要用127.0.0.1否则会报command replSetInitiate requires authentication
bin/mongo --host 127.0.0.1 --port 27017
config={_id:'shard1',members:[{_id:0,host:'134.32.213.129:27017'},{_id:1,host:'134.32.213.130:27017'},{_id:2,host:'134.32.213.131:27017'}]}
rs.initiate(config)
bin/mongo --host 127.0.0.1 --port 27018
config={_id:'shard2',members:[{_id:0,host:'134.32.213.129:27018'},{_id:1,host:'134.32.213.130:27018'},{_id:2,host:'134.32.213.131:27018'}]}
rs.initiate(config)
bin/mongo --host 127.0.0.1 --port 27019
config={_id:'shard3',members:[{_id:0,host:'134.32.213.129:27019'},{_id:1,host:'134.32.213.130:27019'},{_id:2,host:'134.32.213.131:27019'}]}
rs.initiate(config)
bin/mongo --host 127.0.0.1 --port 27007
config={_id:'configserver',members:[{_id:0,host:'134.32.213.129:27007'},{_id:1,host:'134.32.213.130:27007'},{_id:2,host:'134.32.213.131:27007'}]}
rs.initiate(config)

4.配置路由节点
conf/mongos_route.conf
net:
  port: 27006
  bindIp:  0.0.0.0

systemLog:
    destination: file
    logAppend: true
    path: /home/lifh/mongodb/shard_mongo/log/mongos_route.log

sharding:
    configDB: configserver/134.32.213.129:27007,134.32.213.130:27007,134.32.213.131:27007

processManagement:
    fork: true
    pidFilePath: /home/lifh/mongodb/shard_mongo/run/mongos_route.pid

5.启动路由实例,并配置分片集群和管理用户的创建
bin/mongos -f conf/mongos_route.conf  &
bin/mongo --host 127.0.0.1 --port 27006
sh.addShard("shard1/134.32.213.129:27017,134.32.213.130:27017,134.32.213.131:27017")
sh.addShard("shard2/134.32.213.129:27018,134.32.213.130:27018,134.32.213.131:27018")
sh.addShard("shard3/134.32.213.129:27019,134.32.213.130:27019,134.32.213.131:27019")

use admin
db.createUser({user:"sys_admin",pwd:"xxxxxxx",roles:[{role:"root",db:"admin"}]})

db.auth('sys_admin','xxxxxxx')

6.检查分片集群状态和配置
bin/mongo --host 127.0.0.1 --port 27006
bin/mongo 127.0.0.1:27006/admin -u sys_admin -p xxxxxxx
sh.status()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值