日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb分片配置

發(fā)布時(shí)間:2025/3/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb分片配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


#本次配置時(shí)間為 2014-11-06 軟件版本為:mongodb-linux-x86_64-2.4.3.tgz ??

linux :centos 5.9 64bit

##############################################################

本次部署分片的方式,只為測試環(huán)境: ? ? ? ? ? ? ? ? ? ? ? ? ?#

? ? ? ? ? ? ? 10.8.10.234 ? ?10.8.10.235 ? ?10.8.10.236 ? ? #

shard1 分片 ? ? ? master ? ? ? ?slaver ? ? ? arbiterOnly ? ?#

shard2 分片 ? ? ? master ? ? ? ?slaver ? ? ? arbiterOnly ? ?#

shard3 分片 ? ? ? master ? ? ? ?slaver ? ? ? arbiterOnly ? ?#

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

###############################################################





#每個(gè)服務(wù)器配置:


mkdir ?-p /data/mongodb/config/data

mkdir ?-p /data/mongodb/config/log


mkdir ?-p /data/mongodb/mongos/log


mkdir ?-p /data/mongodb/shard1/data

mkdir ?-p /data/mongodb/shard1/log


mkdir ?-p /data/mongodb/shard2/data

mkdir ?-p /data/mongodb/shard2/log


mkdir ?-p /data/mongodb/shard3/data

mkdir ?-p /data/mongodb/shard3/log


tar -xvzf mongodb-linux-x86_64-2.4.3.tgz

mv mongodb-linux-x86_64-2.4.3 ?/data/mongodb/mongodb


#每個(gè)服務(wù)器配置服務(wù):


?/data/mongodb/mongodb/bin/mongod --configsvr --dbpath /data/mongodb/config/data --port 21000 --logpath /data/mongodb/config/log/config.log --fork



#每臺(tái)服務(wù)器 啟動(dòng)分片服務(wù):

/data/mongodb/mongodb/bin/mongod --shardsvr --replSet shard1 --port 22001 --dbpath /data/mongodb/shard1/data --logpath /data/mongodb/shard1/log/shard1.log --fork --nojournal --oplogSize 10



/data/mongodb/mongodb/bin/mongod --shardsvr --replSet shard2 --port 22002 --dbpath /data/mongodb/shard2/data --logpath /data/mongodb/shard2/log/shard2.log --fork --nojournal --oplogSize 10



/data/mongodb/mongodb/bin/mongod --shardsvr --replSet shard3 --port 22003 --dbpath /data/mongodb/shard3/data --logpath /data/mongodb/shard3/log/shard3.log --fork --nojournal --oplogSize 10


# 1臺(tái)或者多臺(tái)服務(wù)器啟動(dòng)mongos路由,應(yīng)用程序連接該路由端口。

#mongos 需要等到3臺(tái)服務(wù)器的配置文件都啟動(dòng)之后 才能啟動(dòng),否則報(bào)錯(cuò)。

/data/mongodb/mongodb/bin/mongos --configdb 10.8.10.234:21000,10.8.10.235:21000,10.8.10.236:21000 --port 20000 --logpath /data/mongodb/mongos/log/mongos.log --fork



#################################

#登入任意服務(wù)器執(zhí)行:


mongo 127.0.0.1:22001?

use admin


設(shè)置分片1?


>config = { _id:"shard1", members:[

  {_id:0,host:"10.8.10.234:22001",priority:1},

  {_id:1,host:"10.8.10.235:22001",priority:1},

  {_id:2,host:"10.8.10.236:22001",arbiterOnly:true}

  ]

  }


>rs.initiate(config);


# ,priority:N 是設(shè)置master 優(yōu)先級 可以不配置,建議把分片的master放置在不同的服務(wù)器,實(shí)現(xiàn)讀寫壓力分流

# arbiterOnly:true 需要配置。省略后,變成1 master + 2個(gè)slaver 與方案不符


############################


mongo 127.0.0.1:22002?

use admin


設(shè)置分片2?

>config = { _id:"shard2", members:[

  {_id:0,host:"10.8.10.234:22002",priority:1},

  {_id:1,host:"10.8.10.235:22002",priority:1},

  {_id:2,host:"10.8.10.236:22002",arbiterOnly:true}

  ]

  }


>rs.initiate(config);


# ,priority:N 是設(shè)置master 優(yōu)先級 可以不配置。建議把分片的master放置在不同的服務(wù)器,實(shí)現(xiàn)讀寫壓力分流

# arbiterOnly:true 需要配置 。省略后,變成1master + 2個(gè)slaver 與方案不符


#############################


mongo 127.0.0.1:22003?

use admin

設(shè)置分片3


?

>config = { _id:"shard3", members:[

  {_id:0,host:"10.8.10.234:22003",priority:1},

  {_id:1,host:"10.8.10.235:22003",priority:1},

  {_id:2,host:"10.8.10.236:22003",arbiterOnly:true}

  ]

  }



>rs.initiate(config);


# ,priority:N 是設(shè)置master 優(yōu)先級 可以不配置。建議把分片的master放置在不同的服務(wù)器,實(shí)現(xiàn)讀寫壓力分流

# arbiterOnly:true 需要配置。省略后,變成1master + 2個(gè)slaver 與方案不符


#########################


連接mongs: ?bin/mongo 127.0.0.1:20000

#使用admin數(shù)據(jù)庫 user admin

串聯(lián)路由服務(wù)器與分配副本集1


db.runCommand( { addshard : "shard1/10.8.10.234:22001,10.8.10.235:22001,10.8.10.236:22001"});


串聯(lián)路由服務(wù)器與分配副本集2

db.runCommand( { addshard : "shard2/10.8.10.234:22002,10.8.10.235:22002,10.8.10.236:22002"});


串聯(lián)路由服務(wù)器與分配副本集3

db.runCommand( { addshard : "shard3/10.8.10.234:22003,10.8.10.235:22003,10.8.10.236:22003"});



#查看分片服務(wù)器的配置

?db.runCommand( { listshards : 1 } );


?備注:每個(gè)分片副本集的仲裁節(jié)點(diǎn)結(jié)果不列出來

##############################


###手動(dòng)選定master備注:


在配置分片的時(shí)候 添加優(yōu)先級可以手動(dòng)選擇master


分片配置后之后,使用如下命令,在分片的主節(jié)點(diǎn)登錄,可以將members[1] 提升為Master。

rs.status();

rs.conf();

cfg=rs.conf();

cfg.members[0].priority=1

cfg.members[1].priority=2

#cfg.members[2] 仲裁機(jī)不用設(shè)置

rs.reconfig(cfg);



創(chuàng)建數(shù)據(jù)測試:

  #指定testdb分片生效

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

  #指定數(shù)據(jù)庫里需要分片的集合和片鍵

  db.runCommand( { shardcollection : "testdb.table1",key : {id: 1} } )

  我們設(shè)置testdb的 table1 表需要分片,根據(jù) id 自動(dòng)分片到 shard1 ,shard2,shard3 上面去。要這樣設(shè)置是因?yàn)椴皇撬衜ongodb 的數(shù)據(jù)庫和表 都需要分片!


bin/mongo 127.0.0.1:20000

  #使用testdb use testdb;

? ? #插入測試數(shù)據(jù)

  for (var i = 1; i <= 100000; i++)  db.table1.save({id:i,"test1":"testval1"});


  #查看分片情況如下,部分無關(guān)信息省掉了

  db.table1.stats();

?看到數(shù)據(jù)分到3個(gè)分片,各自分片數(shù)量為: shard1 “count” : 42183,shard2 “count”: 38937,shard3 “count” : 18880。已經(jīng)成功了!不過分的好像不是很均勻,所以這個(gè)分片還是很有講究的,后續(xù)再深入討論。



為了充分利用3臺(tái)服務(wù)器資源,緩解磁盤Io ,以上方案可以如下變通:

##############################################################

在生產(chǎn)環(huán)境中,可以如下部署: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#

? ? ? ? ? ? ? 10.8.10.234 ? ?10.8.10.235 ? ?10.8.10.236 ? ? #

shard1 分片 ? ? ? master ? ? ? ?slaver ? ? ? arbiterOnly ? ?#

shard2 分片 ? ? ?arbiterOnly ? ?master ? ? ? ?slaver ? ? ? ?#

shard3 分片 ? ? ? slaver ? ? ?arbiterOnly ? ? master ? ? ? ?#

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

###############################################################


轉(zhuǎn)載于:https://blog.51cto.com/2574526/1573855

總結(jié)

以上是生活随笔為你收集整理的mongodb分片配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。