MongoDB分片布属(Linux)

原创 2012年03月23日 23:03:37
1、创建数据文件夹
[root@Mongo-server-A /]# mkdir data
[root@Mongo-server-A /]# cd /data
[root@Mongo-server-A data]# mkdir config
[root@Mongo-server-A data]# mkdir shard1
[root@Mongo-server-A data]# mkdir shard2
[root@Mongo-server-A data]# mkdir log
[root@Mongo-server-A data]# ls

2、进入mongodb目录

3、创建启动配置文件
[root@Mongo-server-A bin]# vi shard1.conf 
dbpath = /data/shard1
shardsvr = true
replSet = shard1
bind_ip = 192.168.2.88
#auth = true
port = 10001
oplogSize = 100
logpath = /data/log/shard1.log
logappend = true
profile = 1
slowms = 5
rest = true
fork = true

[root@Mongo-server-A bin]# vi shard2.conf 
dbpath = /data/shard2
shardsvr = true
replSet = shard2
bind_ip = 192.168.2.88
#auth = true
port = 10002
oplogSize = 100 
logpath = /data/log/shard2.log
logappend = true
profile = 1
slowms = 5
rest = true
fork = true

[root@Mongo-server-A bin]# vi shard3.conf 
dbpath = /data/shard3
shardsvr = true
replSet = shard3
bind_ip = 192.168.2.88
#auth = true
port = 10002
oplogSize = 100 
logpath = /data/log/shard3.log
logappend = true
profile = 1
slowms = 5
rest = true
fork = true

4、启动
[root@Mongo-server-A bin]# ./mongod -f shard1.conf 
[root@Mongo-server-A bin]# ./mongod -f shard2.conf 
[root@Mongo-server-A bin]# ./mongod -f shard3.conf 

5、对分片(shard1\shard2)配置进行初使化
config = {_id: "shard1", members: [
                          {_id: 0, host: "192.168.2.88:10001"},
                          {_id: 1, host: "192.168.2.89:10001"},
                          {_id: 2, host: "192.168.2.90:10001"}]
           }

config = {_id: "shard2", members: [
                          {_id: 0, host: "192.168.2.88:10002"},
                          {_id: 1, host: "192.168.2.89:10002"},
                          {_id: 2, host: "192.168.2.90:10002"}]

config = {_id: "shard3", members: [
                          {_id: 0, host: "192.168.2.88:10003"},
                          {_id: 1, host: "192.168.2.89:10003"},
                          {_id: 2, host: "192.168.2.90:10003"}]


6、创建配置服务器启动文件
configsvr.conf
dbpath = /data/config
configsvr = true
port = 20000
logpath = /data/log/config.log
logappend = true
fork = true

7、启动配置服务
[root@Mongo-server-A bin]# ./mongod -f configsvr.conf

8、创建配置路由配置文件
mongos.conf
configdb = 192.168.2.88:20000
port = 30000 
chunkSize = 5
logpath = /data/log/mongos.log
logappend = true
fork = true

9、启动路由并登录
[root@Mongo-server-A bin]# ./mongos -f mongos.conf
[root@Mongo-server-A bin]# ./mongo 192.168.2.88:30000

10、加入分片
mongos> use admin
switched to db admin
mongos> db.runCommand( {addshard:"shard1/192.168.2.88:10001,192.168.2.89:10001,192.168.2.90:10001", name:"shard1", maxsize:20480} )
{ "shardAdded" : "shard1", "ok" : 1 }
mongos> db.runCommand( {addshard:"shard2/192.168.2.88:10002,192.168.2.89:10002,192.168.2.90:10002", name:"shard2", maxsize:20480} )
{ "shardAdded" : "shard2", "ok" : 1 }
mongos> db.runCommand( {addshard:"shard3/192.168.2.88:10003,192.168.2.89:10003,192.168.2.90:10003", name:"shard3", maxsize:20480} )
{ "shardAdded" : "shard3", "ok" : 1 }
11、查看分片
mongos> db.runCommand( { listshards : 1 } )
{
        "shards" : [
                {
                        "_id" : "shard1",
                        "host" : "shard1/192.168.2.88:10001"
                },
                {
                        "_id" : "shard2",
                        "host" : "shard2/192.168.2.88:10002"
                }
        ],
        "ok" : 1
}

12、测试
mongos> use test
switched to db test
mongos> show dbs
admin   0.078125GB
config  0.1875GB
mongos> db.userinfo.insert({userid:10234,name:'fengyi'})
mongos> db.userinfo.find()
{ "_id" : ObjectId("4f60ee47fd58cd2bece6291b"), "userid" : 10234, "name" : "fengyi" }
mongos> 



netstat -lntp|grep mongod

MongoDB分片实战

1. 集群搭建 1.1环境准备 Linux环境 主机 OS 备注 192.168.32.13  CentOS6.3 64位  ...
  • zy_zhengyang
  • zy_zhengyang
  • 2016年12月29日 15:08
  • 1094

mongodb分片介绍

1.mongodb集群架构 mongodb通过配置sharded cluster实现sharding. sharded cluster有如下几个组件:分片(shards),查询路由器(...
  • su377486
  • su377486
  • 2016年06月21日 14:38
  • 782

MongoDB分片介绍(一)——基本概念

拥有大量数据和高吞吐量应用的数据库将挑战单个服务器的容量。大量的查询将会耗尽单台机器的CPU,大量的数据将超出单台机器的存储空间,最后活动数据集合将超出单台机器的内存容量导致磁盘IO压力巨大。为解决上...
  • luohongqing
  • luohongqing
  • 2013年11月08日 11:58
  • 1608

MongoDB的分片集群

分片集群简介在之前有说过关于MongoDB的复制集,复制集主要用来实现自动故障转移从而达到高可用的目的,然而,随着业务规模的增长和时间的推移,业务数据量会越来越大,当前业务数据可能只有几百GB不到,一...
  • linfenliang
  • linfenliang
  • 2017年02月28日 16:32
  • 379

mongodb分片部署说明

对于使用mongodb进行分片部署本身非常方便,下面将自己最近分片部署的过程记录下来: 分片:shard1,shard2,shard3 配置:configsvr1,configsvr2,configs...
  • qq315zh
  • qq315zh
  • 2016年07月07日 16:22
  • 1630

MongoDB分片(sharding)/分区(partitioning)介绍

分片是指将数据拆分,将其分散存放在不同的机器上的过程。有时也用分区(partitioning)来表示这个概念。   几乎所有数据库软件都能进行手动分片(manual sharding)。应用需要维护与...
  • tanga842428
  • tanga842428
  • 2016年09月19日 15:52
  • 4846

MongoDB 分片问题汇总

分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分...
  • joeyon
  • joeyon
  • 2015年05月28日 15:01
  • 2689

mongodb的sharding(分片)横向扩容的方法

sharding是mongodb进行横向扩容的方法,sharding把一个集合的不同部分存储到不同的机器上,当一个数据库集合变得很大时,你只需要加入新的机器即可。sharding自动把集合的数据分布到...
  • linuxheik
  • linuxheik
  • 2016年08月29日 17:48
  • 2731

MongoDB 3.4 分片与副本集实践笔记

MongoDB 3.4 的分片与副本集的配置,并添加鉴权机制。
  • sharetop
  • sharetop
  • 2016年12月13日 15:44
  • 5025

MongoDB分片存储的集群架构实现

MongoDB分片存储的集群架构实现 如果需要存储大量数据,或者系统的读写吞吐量很大的时候,单个server就很难满足需求了。这个时候我们可以使用MongoDB的分片机制来解决这些问题。...
  • u011252402
  • u011252402
  • 2015年07月25日 22:20
  • 1196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB分片布属(Linux)
举报原因:
原因补充:

(最多只允许输入30个字)