博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YCSB测试MongoDB分片
阅读量:7033 次
发布时间:2019-06-28

本文共 1394 字,大约阅读时间需要 4 分钟。

 下面测试一下分片(我这里的分片参见我前面)

启动

MongoDB中的启动顺序是,先启动配置服务器,在启动分片,最后启动mongos。(三台机器)

mongod -f /usr/local/mongodb/conf/config.confmongod -f /usr/local/mongodb/conf/shard1.confmongod -f /usr/local/mongodb/conf/shard2.confmongod -f /usr/local/mongodb/conf/shard3.confmongos -f /usr/local/mongodb/conf/mongos.conf

串联路由服务器

搭建了mongodb配置服务器、路由服务器,各个分片服务器,不过应用程序连接到mongos路由服务器并不能使用分片机制,还需要在程序里设置分片配置,让分片生效。

登陆任意一台mongos

mongo --port 20000

使用admin数据库

use  admin

串联路由服务器与分配副本集

sh.addShard("shard1/192.168.0.100:27001,192.168.0.101:27001,192.168.0.102:27001");sh.addShard("shard2/192.168.0.100:27002,192.168.0.101:27002,192.168.0.102:27002");sh.addShard("shard3/192.168.0.100:27003,192.168.0.101:27003,192.168.0.102:27003");

查看集群状态

sh.status()

登陆任意一台mongos

mongo --port 20000

使用管理数据库

use  admin

指定TESTDB(数据库)分片生效

db.runCommand( { enablesharding :"testdb"});

指定数据库里需要分片的集合和片键,哈希id分片

db.runCommand( { shardcollection : "testdb.table1",key : {"_id": "hashed"} } );

我们设置testdb的table1表需要分片,根据i_d自动分片到shard1,shard2,shard3上面去。要这样设置是因为不是所有mongodb的数据库和表都需要分片!

测试分片配置结果

连接MongoDB路由服务

mongo  127.0.0.1:20000

YCSB进行MongoDB分片压力测试

./bin/ycsb load mongodb -threads 100 -s -P workloads/mongotest_in_only -p mongodb.url=mongodb://127.0.0.1:20000/ycsb?w=0 > outputLoad_shard.txt

使用Mongostat辅助测试(我这里ycsb数据库没有指定用户及密码)

mongostat --host 127.0.0.1:20000 --authenticationDatabase ycsb

 

转载于:https://www.cnblogs.com/genghenggao/p/10732234.html

你可能感兴趣的文章
python+matplotlib 绘制等高线
查看>>
Linux 内核调优
查看>>
Logrotate 管理 Nginx日志
查看>>
部署 清洗设备-防DDOS的部署 的经历
查看>>
我的友情链接
查看>>
HAproxy负载均衡
查看>>
数据库中常用的一些表
查看>>
菜鸟自学嵌入式之C语言基础No1
查看>>
海量路由表可以使用HASH表存储吗-HASH查找和TRIE树查找
查看>>
四年来一直不敢写技术博文
查看>>
usaco PROB Checker Challenge 搜索
查看>>
苹果 开发让我们体会到它的特色
查看>>
POJ 2376 Cleaning Shifts 贪心
查看>>
XP开启远程桌面服务的方法
查看>>
Linux基础知识题解答(四)
查看>>
MySQL PHP 语法
查看>>
我的友情链接
查看>>
DHCP服务器-零配置接入网络
查看>>
lamp 构建分离服务器模式
查看>>
制作U盘启动安装CentOS Linux系统
查看>>