標籤:har log 欄位 說明 linux 查看 cti value iat
---------------------------------切片架構圖-------------------------------------------------------------------------------
切片1 切片2 切片3
| | |
------------------
|
| | -----設定管理員(主)
使用者---------->路由-----------|-----設定管理員(從1)
|-----設定管理員(從2)
註:mongo 3.4版本以後設定管理員必須是複本集,因此看到有的教程設定管理員是一台時都是老版本了。
-----------------------------------------------------------------------------------------------------------------------------------
步驟:
1、先配置設定管理員的複本集
1)主 ./mongod --configsvr --dbpath /home/jack/mongoData01/data --logpath /home/jack/mongoData01/log/log --port 3000 --replSet myset
2)從1 ./mongod --configsvr --dbpath /home/jack/mongoData02/data --logpath /home/jack/mongoData02/log/log --port 3100 --replSet myset
3)從2 ./mongod --configsvr --dbpath /home/jack/mongoData03/data --logpath /home/jack/mongoData03/log/log --port 3300 --replSet myset
**說明:--configsvr一定要加上,說明該伺服器是設定管理員
4)主從全部起動,用shell登陸主,然後設定複本集
(1)、配置資訊
rsconf={
"_id" : "myset",
"members" : [
{
"_id" : 0,
"host" : "172.16.60.180:3000"
}
]
}
(2)、初始化
rs.initiate(rsconf)
(3)、添加叢集
rs.add("172.16.60.180:3100")
rs.add("172.16.60.180:3200")
2、配置路由伺服器並啟動
./mongos --configdb myset/172.16.60.180:3000,172.16.60.180:3100,172.16.60.180:3200 --logpath /home/jack/mongoData04/log/log --port 3300
說明:configdb後面的myset必須與設定管理員上的複本集名字一致。
3、配置切片伺服器
1) cd /home/jack/mongodb-linux-x86_64-3.4.5/bin
./mongod --dbpath /home/jack/mongoData06/data --logpath /home/jack/mongoData01/log/log --port 3400 --shardsvr
2) cd /home/jack/mongodb-linux-x86_64-3.4.5/bin
./mongod --dbpath /home/jack/mongoData06/data --logpath /home/jack/mongoData01/log/log --port 3500 --shardsvr
**說明:--shardsvr一定要加上,說明該伺服器是切片伺服器
3、連線路由並添加切片
1)sh.addShard(‘172.16.60.180:3400‘)
2)sh.addShard(‘172.16.60.180:3500‘)
3)sh.addShard(‘172.16.60.180:3600‘)
4、添加待分區的庫
sh.enableSharding(databaseName)
5、添加待分區的表
sh.shardCollection(‘dbName.CollectionName‘,{field:1})
--------------------------------------------------------------------------------------------------------------
**說明:1)若需要分區時,資料已經存在,則需要對collection中的某一欄位先建立索引
2)一旦分區鍵和分區值確定下來了就不可以改變。
其他命令:
1)查看其他叢集狀態資訊
sh.status()
2)自訂分區(例子)
for(var i=0;i<40;i++){
sh.splitAt(‘dbName.CollectionName‘,{field:i*1000})
}
3)修改chunck大小(單位:M)
(1)、use config
(2)、db.settings.save({_id:"chuncksize",value:64})
----------------------------------------------------------------------------------------------------------------
mongodb切片配置方法