MongoDB分片

分片
mongos把分片的mongod管理起来
何时分片
单个节点磁盘不足
单个mongod不能满足写数据的性能要求
将大量数据放到内存中提高性能
什么是片键
选择递增(分布不均匀,查询比较好)还是随机片键
片键对操作和性能的影响
实施分片
启动配置服务器
启动mongos
添加mongod实例
对数据库启用分片
对集合进行分片
[root@localhost ~]# cd /var/lib/mongod
bash: cd: /var/lib/mongod: No such file or directory
[root@localhost ~]# cd /var/lib/mongo
[root@localhost mongo]# cd dbs
[root@localhost dbs]# mkdir config
[root@localhost dbs]# cd config
[root@localhost config]# pwd
/var/lib/mongo/dbs/config
[root@localhost config]# mongod --dbpath /var/lib/mongo/dbs/config --port 20000
mongos --port 30000 --configdb localhost:20000
[root@localhost ~]# ps -ef |grep mong
root      3350  3108  1 20:37 pts/3    00:00:04 mongod --dbpath /var/lib/mongo/dbs/config --port 20000
root      3399  3387  0 20:43 pts/1    00:00:00 mongos --port 30000 --configdb localhost:20000
[root@localhost ~]# cd /var/lib/mongo/dbs
[root@localhost dbs]# mkdir shard1
[root@localhost dbs]# ls
config  master  shard1  slave
[root@localhost dbs]# mongod --dbpath /var/lib/mongo/dbs/shard1 --port 10000 --nojournal
[root@localhost ~]# mongo localhost:30000/admin
MongoDB shell version: 2.6.11
connecting to: localhost:30000/admin
mongos>
db.runCommand({addshard:"localhost",allowLocal:true})

mongos> db.runCommand({addshard:"localhost",allowLocal:true})
{
    "ok" : 0,
    "errmsg" : "couldn't connect to new shard socket exception [CONNECT_ERROR] for localhost:27017"
}
mongos> db.runCommand({enablesharding:"foo"})数据库foo
db.runCommand({"sharecollection":"foo.bar","key":{"_id":1}})库foo下面的bar

查看所有的片
useconfig
db.shards.find();
db.databases.find();
chunks集合
db.chunks.find();
删除片
db.runCommand({"removeshard":"localhost:10000"});

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

MongoDB DBA 实践8

在Linux系统中,主要是使用命令行进行mongodb的分片集群部署一、先决条件  mongodb安装成功,明确路径,MongoDB的几个路径:1./var/lib/mongodb2./var/log/mongodb3./etc/mongod.conf4.usr/bin/二、分片部署   

MongoDB 集群设置集合分片生效及查看集合分片情况

一、设计DB分片与Collection分片连接mongos/opt/mongodb/mongodblinuxx86_642.4.8/bin/mongo 127.0.0.1:27017使用admin数据库useadmin指定testdb分片生效db.runCommand({ena

MongoDB学习笔记10——分片

分片(Sharding)这种技术可以将数据分散到多台机器,但对于应用而言,仍然如同在使用单个数据库一样。在使用MongoDB时,水平分区是唯一可采用的方式。在MongoDB中由MongoS路径进程管理数据的分割,并将请求路由到必需的分片服务器。在进行分片的时候需要mongod配置服务器和mongos分片服务器。1)创建分片设置:打开新的终端窗