mongodb切片配置方法

來源:互聯網
上載者:User

標籤: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切片配置方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.