00,172.31.100.82:3200,172.31.100.81:3200"});
mongos> db.runCommand({ addshard : "shard3/172.31.100.97:3300,172.31.100.82:3300,172.31.100.81:3300"});
mongos> db.runCommand({ listshards : 1 } );
#允许数据库分片
mongos> db.runCommand({"enablesharding" : "seller"})
#设置集合分片
mongos> db.runCommand({"shardcollection" : "seller.person", "key" : {"_id" : 1}})
#设置用户验证
mongos> show dbs
admin (empty)
config 0.016GB
mongos> db
admin
mongos> db.addUser('admin','fffR3q!P97scxxxx')
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }
sed -i 's/^#keyFile/keyFile/g' /etc/mongod/mongoc.conf
sed -i 's/^#keyFile/keyFile/g' /etc/mongod/mongos.conf
sed -i 's/^#keyFile/keyFile/g' /etc/mongod/mongod1.conf
sed -i 's/^#keyFile/keyFile/g' /etc/mongod/mongod2.conf
sed -i 's/^#keyFile/keyFile/g' /etc/mongod/mongod3.conf
grep keyFile /etc/mongod/mongo*
?
四 .测试
?
?
############################
# 数据测试 ###
############################
#插入数据
mongos> use seller
> db.person.insert({"name":"jack","age":20})
> db.person.insert({"name":"joe","age":25})
#批量插入数据
#for (var i = 1; i <= 10000000; i++)db.person.save({id:i,name:"username"+i,age:i});
#删除所有数据
#db.person.remove()
#查看数据分布
db.person.stats()
db.person.getShardDistribution()
#查询数据
> db.person.find({"name":"joe"})
{ "_id" : ObjectId("53150a14d39c963b140c6f6a"), "name" : "joe", "age" : 25 }
#更新数据
> db.person.update({"name":"joe"},{"name":"joe","age":30})
> db.person.find({"name":"joe"})
{ "_id" : ObjectId("53150a14d39c963b140c6f6a"), "name" : "joe", "age" : 30 }
#移除数据
> db.person.remove({"name":"joe"})
> db.person.find()
{ "_id" : ObjectId("53150a0cd39c963b140c6f69"), "name" : "jack", "age" : 20 }
> db.person.remove()
> db.person.find()
> db.person.count()
0
#查看块大小
db.settings.find()
#设置块大小
db.settings.save( { _id:"chunksize", value: } )
#空间压缩
db.repairDatabase()
#压缩指定collection,这最好停止写数据,且只能在副本节点操作
db.person.runCommand("compact");
db.runCommand({compact : 'person');
?
由于启动脚本比较多我放在最后:
?
/etc/init.d/mongoc?
?
?
vi /etc/init.d/mongoc
#!/bin/bash
#
# mongodb This shell script takes care of starting and stopping
#
# chkconfig: - 58 74
### END INIT INFO
# Source function library.
. /etc/init.d/functions
prog=mongoc
lockfile=/var/lock/subsys/$prog
config=/etc/mongod/mongoc.conf
start() {
# Start daemons.
echo -n $"Starting $prog: "
daemon $prog --config $config $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
stop() {
echo -n $"Shutting down $prog: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart|force-reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
exit 2
esac
?
/etc/init.d/mongos
?
?
vi /etc/init.d/mongos
#!/bin/bash
#
# mongodb This shell script takes care of starting and stopping
#
# chkconfig: - 58 74
### END INIT INFO
# Source function library.
. /etc/init.d/functions
prog=mongos
lockfile=/var/lock/subsys/$prog
config=/etc/mongod/mongos.conf
start() {
# Start daemons.
echo -n $"Starting