当前位置:Gxlcms > 数据库问题 > mongdb集群3.4 shard 模式

mongdb集群3.4 shard 模式

时间:2021-07-01 10:21:17 帮助过:14人阅读



cd /data/work/mongodb/ 


 mkdir {shard1,shard2,shard3,shard4,shard5,shard6,server,mongos}

 

 cd /dev/shm/

 mkdir {shard1,shard2,shard3,shard4,shard5,shard6,server}

 

 二启动sharding服务

 wget http://10.31.67.32:8099/Download/mongodb/mongodb-linux-x86_64-rhel62-3.4.2.tgz

 

 tar -zxvf mongodb-linux-x86_64-rhel62-3.4.2.tgz 

 

 mv  mongodb-linux-x86_64-rhel62-3.4.2 /data/app/mongodb


#####开启验证需要 任意服务器产生kefile文件:

    openssl rand -base64 741 > keyfile

    chmod 600 keyfile

    注意:要上传到集群中每一台服务器:/data/work/mongodb/mongo-keyfile

 

 cd /data/work/mongodb/conf

 吧配置文件上传

cat /data/work/mongodb/conf/shard1.conf 

storage:

   dbPath: /dev/shm/shard1

   journal:

      enabled: true

   directoryPerDB: true

   #syncPeriodSecs: 60

   engine: wiredTiger


processManagement:

   fork: true

   pidFilePath: /data/work/mongodb/shard1/mongod.pid


net:

   port: 27011

   http:

      enabled: false

   

systemLog:

   destination: file

   path: /data/work/mongodb/shard1/mongod.log

   logAppend: true   


  

operationProfiling:

   slowOpThresholdMs: 100

   mode: slowOp

需要用户认证则开启

###security:

  ## keyFile: /data/work/mongodb/mongo-keyfile

   #authorization: enabled

replication:

   oplogSizeMB: 20000

   replSetName: rs001

每个配置文件 日志路径和存储路径 改下即可

3台机器从别启动

numactl --interleave=all /data/app/mongodb/bin/mongod --shardsvr -f /data/work/mongodb/conf/shard1.conf 

numactl --interleave=all /data/app/mongodb/bin/mongod --shardsvr -f /data/work/mongodb/conf/shard2.conf 

numactl --interleave=all /data/app/mongodb/bin/mongod --shardsvr -f /data/work/mongodb/conf/shard3.conf 

numactl --interleave=all /data/app/mongodb/bin/mongod --shardsvr -f /data/work/mongodb/conf/shard4.conf 

numactl --interleave=all /data/app/mongodb/bin/mongod --shardsvr -f /data/work/mongodb/conf/shard5.conf 

numactl --interleave=all /data/app/mongodb/bin/mongod --shardsvr -f /data/work/mongodb/conf/shard6.conf 


 以上3台机器全部执行

 让 主从仲裁 分别在每台机器上

 

hostrs001rs002rs003rs004rs005rs006
10.33.100.118
10.33.100.118
10.33.100.119



登入 端口27011 -27016 

 /data/app/mongodb/bin/mongo  --port 27016 

 cfg={ _id:"rs006", members:[ {_id:0,host:‘10.33.100.119:27016‘,priority:2}, {_id:1,host:‘10.33.100.117:27016‘,priority:1},{_id:2,host:‘10.33.100.118:27016‘,arbiterOnly:true}] };

 rs.initiate(cfg)

rs.status()


三启动配置服务

[root@localhost ~]# cat  /data/work/mongodb/conf/server.conf  

storage:

   dbPath: /dev/shm/server

   journal:

      enabled: true

   directoryPerDB: true

   #syncPeriodSecs: 60

   engine: wiredTiger


processManagement:

   fork: true

   pidFilePath: /data/work/mongodb/server/mongod.pid


net:

   port: 27020

   http:

      enabled: false

   

systemLog:

   destination: file

   path: /data/work/mongodb/server/mongod.log

   logAppend: true


replication:

   replSetName: configReplSet



 /data/app/mongodb/bin/mongod --configsvr  -f /data/work/mongodb/conf/server.conf 

 



3台分别 配置服务启动

  /data/app/mongodb/bin/mongo  --port 27020

 rs.initiate( {_id: "configReplSet",configsvr: true,members: [{ _id: 0, host: "10.33.100.117:27020"},{ _id: 1, host: "10.33.100.118:27020"},{ _id: 2, host: "10.33.100.119:27020"}]} )


四:3台分别路由接口

cat /data/work/mongodb/conf/mongos.conf 

processManagement:

   fork: true

   pidFilePath: /data/work/mongodb/mongos/mongos.pid


net:

   port: 27030

   http:

      enabled: false


systemLog:

   destination: file

   path: /data/work/mongodb/mongos/mongos.log

   logAppend: true


sharding:

   configDB: configReplSet/10.33.100.117:27020,10.33.100.118:27020,10.33.100.119:27020

#配置服务的端口和地址。


 numactl --interleave=all /data/app/mongodb/bin/mongos -f /data/work/mongodb/conf/mongos.conf 

至此每个机器保证8个mongodb 进程。

  /data/app/mongodb/bin/mongo  --port 27030

依次添加6个分片  

sh.addShard("rs001/10.33.100.117:27011,10.33.100.118:27011,10.33.100.119:27011")



测试分片

sh.enableSharding("test")

sh.shardCollection("test.Log", { id: 1})

use test

for(var i = 1; i <= 100000; i++){

  db.Log.save({id:i,"message":"message"+i});

  }

  

  rs.status()

  db.Log.stats()

  db.Log.drop()


本文出自 “学习要永恒” 博客,请务必保留此出处http://hzcsky.blog.51cto.com/1560073/1913947

mongdb集群3.4 shard 模式

标签:sharding   mongodb   

人气教程排行