成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

生產MongoDB 分片與集群方案

數據庫 其他數據庫 MongoDB
Mongo DB 是目前在IT行業非常流行的一種非關系型數據庫(NoSql),其靈活的數據存儲方式備受當前IT從業人員的青睞。Mongo DB很好的實現了面向對象的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。本文介紹了一則生產環境下MongoDB實現分片與集群方案的操作實例。

【編者的話】

Mongo DB 是目前在IT行業非常流行的一種非關系型數據庫(NoSql),其靈活的數據存儲方式備受當前IT從業人員的青睞。Mongo DB很好的實現了面向對象的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。本文介紹了一則生產環境下MongoDB實現分片與集群方案的操作實例。

一、 mongodb分片與集群拓撲圖

生產mongodb 分片與集群 方案

 

二、分片與集群的部署

1.Mongodb的安裝

分別在以上3臺服務器安裝好mongodb

安裝方法見安裝腳本。

2.Mongod 創建單個分片的副本集

10.68.4.209

①建立數據文件夾和日志文件夾

mdkir /data/{master,slave,arbiter}

mkdir /data/log/mongodb/{master,slave,arbiter} -p

②建立配置文件

  1. #master.conf 
  2.  
  3. dbpath=/data/master 
  4.  
  5. logpath=/data/log/mongodb/master/mongodb.log 
  6.  
  7. pidfilepath=/var/run/mongo_master.pid 
  8.  
  9. #directoryperdb=true 
  10.  
  11. logappend=true 
  12.  
  13. replSet=policydb 
  14.  
  15. port=10002 
  16.  
  17. oplogSize=10000 
  18.  
  19. fork=true 
  20.  
  21. noprealloc=true 
  22.  
  23. profile=1 
  24.  
  25. slowms=200 
  26.  
  27. #slave.conf 
  28.  
  29. dbpath=/data/slave 
  30.  
  31. logpath=/data/log/mongodb/slave/mongodb.log 
  32.  
  33. pidfilepath=/var/run/mongo_slave.pid 
  34.  
  35. #directoryperdb=true 
  36.  
  37. logappend=true 
  38.  
  39. replSet=policydb 
  40.  
  41. port=10001 
  42.  
  43. oplogSize=10000 
  44.  
  45. fork=true 
  46.  
  47. noprealloc=true 
  48.  
  49. profile=1 
  50.  
  51. slowms=200 
  52.  
  53. #arbiter.conf 
  54.  
  55. dbpath=/data/arbiter 
  56.  
  57. logpath=/data/log/mongodb/arbiter/mongodb.log 
  58.  
  59. pidfilepath=/var/run/mongo_arbiter.pid 
  60.  
  61. #directoryperdb=true 
  62.  
  63. logappend=true 
  64.  
  65. replSet=policydb 
  66.  
  67. port=10000 
  68.  
  69. oplogSize=10000 
  70.  
  71. fork=true 
  72.  
  73. noprealloc=true 
  74.  
  75. profile=1 
  76.  
  77. slowms=200 

③啟動mongodb

/etc/init.d/mongodb_master start

/etc/init.d/mongodb_slave start

/etc/init.d/mongodb_arbiter start

④配置主、備、仲裁節點

主節點:

  1. # /usr/local/mongodb/bin/mongo 10.68.4.209:10002 
  2.  
  3. MongoDB shell version: 2.4.9 
  4.  
  5. connecting to: 10.68.4.209:10002/test 
  6.  
  7. > use admin 
  8.  
  9. switched to db admin 
  10.  
  11. >config={ _id:"policydb", members:[ {_id:0,host:'10.68.4.209:10002',priority:2}, {_id:1,host:'10.68.4.209:10001',priority:1}, 
  12.  
  13. ... {_id:2,host:'10.68.4.209:10000',arbiterOnly:true}] }; 
  14.  
  15.  
  16. "_id" : "policydb"
  17.  
  18. "members" : [ 
  19.  
  20.  
  21. "_id" : 0
  22.  
  23. "host" : "10.68.4.209:10002"
  24.  
  25. "priority" : 2 
  26.  
  27. }, 
  28.  
  29.  
  30. "_id" : 1
  31.  
  32. "host" : "10.68.4.209:10001"
  33.  
  34. "priority" : 1 
  35.  
  36. }, 
  37.  
  38.  
  39. "_id" : 2
  40.  
  41. "host" : "10.68.4.209:10000"
  42.  
  43. "arbiterOnly" : true 
  44.  
  45.  
  46.  
  47.  
  48. rs.initiate(config) #初始化 
  49.  
  50. rs.status() #查看集群狀態 

10.68.4.29

①建立數據文件夾和日志文件夾

mdkir /data/{master,slave,arbiter}

mkdir /data/log/mongodb/{master,slave,arbiter} -p

②建立配置文件

  1. #master.conf 
  2.  
  3. dbpath=/data/master 
  4.  
  5. logpath=/data/log/mongodb/master/mongodb.log 
  6.  
  7. pidfilepath=/var/run/mongo_master.pid 
  8.  
  9. #directoryperdb=true 
  10.  
  11. logappend=true 
  12.  
  13. replSet=policydb2 
  14.  
  15. port=10002 
  16.  
  17. oplogSize=10000 
  18.  
  19. fork=true 
  20.  
  21. noprealloc=true 
  22.  
  23. profile=1 
  24.  
  25. slowms=200 
  26.  
  27. #slave.conf 
  28.  
  29. dbpath=/data/slave 
  30.  
  31. logpath=/data/log/mongodb/slave/mongodb.log 
  32.  
  33. pidfilepath=/var/run/mongo_slave.pid 
  34.  
  35. #directoryperdb=true 
  36.  
  37. logappend=true 
  38.  
  39. replSet=policydb2 
  40.  
  41. port=10001 
  42.  
  43. oplogSize=10000 
  44.  
  45. fork=true 
  46.  
  47. noprealloc=true 
  48.  
  49. profile=1 
  50.  
  51. slowms=200 
  52.  
  53. #arbiter.conf 
  54.  
  55. dbpath=/data/arbiter 
  56.  
  57. logpath=/data/log/mongodb/arbiter/mongodb.log 
  58.  
  59. pidfilepath=/var/run/mongo_arbiter.pid 
  60.  
  61. #directoryperdb=true 
  62.  
  63. logappend=true 
  64.  
  65. replSet=policydb2 
  66.  
  67. port=10000 
  68.  
  69. oplogSize=10000 
  70.  
  71. fork=true 
  72.  
  73. noprealloc=true 
  74.  
  75. profile=1 
  76.  
  77. slowms=200 
  78.  
  79. ③啟動mongodb 
  80.  
  81. /etc/init.d/mongodb_master start 
  82.  
  83. /etc/init.d/mongodb_slave start 
  84.  
  85. /etc/init.d/mongodb_arbiter start 

④配置主、備、仲裁節點

主節點:

  1. # /usr/local/mongodb/bin/mongo 10.68.4.209:10002 
  2.  
  3. MongoDB shell version: 2.4.9 
  4.  
  5. connecting to: 10.68.4.209:10002/test 
  6.  
  7. > use admin 
  8.  
  9. switched to db admin 
  10.  
  11. > config={ _id:"policydb2", members:[ {_id:0,host:'10.68.4.29:10002',priority:2}, {_id:1,host:'10.68.4.29:10001',priority:1}, 
  12.  
  13. ... {_id:2,host:'10.68.4.209:10000',arbiterOnly:true}] }; 
  14.  
  15.  
  16. "_id" : "policydb"
  17.  
  18. "members" : [ 
  19.  
  20.  
  21. "_id" : 0
  22.  
  23. "host" : "10.68.4.29:10002"
  24.  
  25. "priority" : 2 
  26.  
  27. }, 
  28.  
  29.  
  30. "_id" : 1
  31.  
  32. "host" : "10.68.4.29:10001"
  33.  
  34. "priority" : 1 
  35.  
  36. }, 
  37.  
  38.  
  39. "_id" : 2
  40.  
  41. "host" : "10.68.4.29:10000"
  42.  
  43. "arbiterOnly" : true 
  44.  
  45.  
  46.  
  47.  
  48. rs.initiate(config) #初始化 
  49.  
  50. rs.status() #查看集群狀態 

10.68.4.30

①建立數據文件夾和日志文件夾

mdkir /data/{master,slave,arbiter}

mkdir /data/log/mongodb/{master,slave,arbiter} -p

②建立配置文件

  1. #master.conf 
  2.  
  3. dbpath=/data/master 
  4.  
  5. logpath=/data/log/mongodb/master/mongodb.log 
  6.  
  7. pidfilepath=/var/run/mongo_master.pid 
  8.  
  9. #directoryperdb=true 
  10.  
  11. logappend=true 
  12.  
  13. replSet=policydb3 
  14.  
  15. port=10002 
  16.  
  17. oplogSize=10000 
  18.  
  19. fork=true 
  20.  
  21. noprealloc=true 
  22.  
  23. profile=1 
  24.  
  25. slowms=200 
  26.  
  27. #slave.conf 
  28.  
  29. dbpath=/data/slave 
  30.  
  31. logpath=/data/log/mongodb/slave/mongodb.log 
  32.  
  33. pidfilepath=/var/run/mongo_slave.pid 
  34.  
  35. #directoryperdb=true 
  36.  
  37. logappend=true 
  38.  
  39. replSet=policydb3 
  40.  
  41. port=10001 
  42.  
  43. oplogSize=10000 
  44.  
  45. fork=true 
  46.  
  47. noprealloc=true 
  48.  
  49. profile=1 
  50.  
  51. slowms=200 
  52.  
  53. #arbiter.conf 
  54.  
  55. dbpath=/data/arbiter 
  56.  
  57. logpath=/data/log/mongodb/arbiter/mongodb.log 
  58.  
  59. pidfilepath=/var/run/mongo_arbiter.pid 
  60.  
  61. #directoryperdb=true 
  62.  
  63. logappend=true 
  64.  
  65. replSet=policydb3 
  66.  
  67. port=10000 
  68.  
  69. oplogSize=10000 
  70.  
  71. fork=true 
  72.  
  73. noprealloc=true 
  74.  
  75. profile=1 
  76.  
  77. slowms=200 

③啟動mongodb

/etc/init.d/mongodb_master start

/etc/init.d/mongodb_slave start

/etc/init.d/mongodb_arbiter start

④配置主、備、仲裁節點

主節點:

  1. # /usr/local/mongodb/bin/mongo 10.68.4.209:10002 
  2.  
  3. MongoDB shell version: 2.4.9 
  4.  
  5. connecting to: 10.68.4.209:10002/test 
  6.  
  7. > use admin 
  8.  
  9. switched to db admin 
  10.  
  11. > config={ _id:"policydb3", members:[ {_id:0,host:'10.68.4.30:10002',priority:2}, {_id:1,host:'10.68.4.30:10001',priority:1}, 
  12.  
  13. ... {_id:2,host:'10.68.4.30:10000',arbiterOnly:true}] }; 
  14.  
  15.  
  16. "_id" : "policydb"
  17.  
  18. "members" : [ 
  19.  
  20.  
  21. "_id" : 0
  22.  
  23. "host" : "10.68.4.30:10002"
  24.  
  25. "priority" : 2 
  26.  
  27. }, 
  28.  
  29.  
  30. "_id" : 1
  31.  
  32. "host" : "10.68.4.30:10001"
  33.  
  34. "priority" : 1 
  35.  
  36. }, 
  37.  
  38.  
  39. "_id" : 2
  40.  
  41. "host" : "10.68.4.30:10000"
  42.  
  43. "arbiterOnly" : true 
  44.  
  45.  
  46.  
  47.  
  48. rs.initiate(config) #初始化 
  49.  
  50. rs.status() #查看集群狀態 

#p#

2.Mongod 創建單個分片的配置服務器

① 創建配置目錄

10.68.4.209 mkdir /data/config

10.68.4.29 mkdir /data/config

10.68.4.30 mkdir /data/config

②準備配置服務器的配置文件

3個服務器的配置服務器的配置文件一致

  1. #config.conf 
  2.  
  3. dbpath=/data/config 
  4.  
  5. logpath=/data/log/mongodb/config/mongodb.log 
  6.  
  7. pidfilepath=/var/run/mongo_config.pid 
  8.  
  9. directoryperdb=true 
  10.  
  11. logappend=true 
  12.  
  13. port=10003 
  14.  
  15. fork=true 
  16.  
  17. configsvr=true 

③啟動配置服務器

/etc/init.d/mongodb_config start

3.Mongod 創建并配置mongos和開啟分片模式

① 創建日志目錄

Mkdir -p /data/log/mongodb/mongos/

② 準備mongos的配置文件

  1. #mongos.conf 
  2.  
  3. logpath=/data/log/mongodb/mongos/mongodb.log 
  4.  
  5. pidfilepath=/var/run/mongo_mongos.pid 
  6.  
  7. logappend=true 
  8.  
  9. port=10004 
  10.  
  11. fork=true 
  12.  
  13. configdb=10.68.4.209:10003,10.68.4.29:10003,10.68.4.30:1000 

③ 啟動mongos

/etc/init.d/mongodb_mongos start

④ 配置分片

  1. sh.addShard("policydb/10.68.4.209:10002"
  2.  
  3. sh.addShard("policydb2/10.68.4.29:10002"
  4.  
  5. sh.addShard("policydb3/10.68.4.30:10002"
  6.  
  7. sh.enableSharding("policydb"
  8.  
  9. db.runCommand({"shardcollection":"policydb.fullPolicyTextInfo_history""key":{"key":1}}) 
  10.  
  11. db.printShardingStatus() #查看分片狀態 
  12.  
  13. sh.status({verbose:true}) 
  14.  
  15. sh.status() 

3.快速創建副本集和配置服務腳本

上圖

1.圖1

 

生產MongoDB 分片與集群方案

2.圖2 config.conf配置文件

 

生產MongoDB 分片與集群方案

3.圖3

 

生產MongoDB 分片與集群方案

附mongodb一鍵安裝腳本:

http://pan.baidu.com/s/1c0zvP7M

附mongodb副本集和配置服務器一鍵配置腳本:

http://pan.baidu.com/s/1GuQ0A

博文出處:http://my.oschina.net/pwd/blog/411439

責任編輯:Ophira 來源: oschina博客
相關推薦

2023-02-14 08:01:32

2017-04-01 17:30:36

MongoDB分片實現

2022-02-08 14:35:36

分片集群數據庫mongo

2013-11-25 10:45:04

MongoDB

2013-11-28 09:48:55

MongoDBSharding分片

2019-02-19 10:12:41

Redis分片數據

2024-05-20 09:51:53

MongoDB數據庫管理數據庫服務器

2022-09-15 08:31:11

主從復制模式Docker

2022-02-11 08:41:19

WindowsRedis集群

2017-04-26 08:51:36

MongoDB集群實戰

2019-09-03 15:45:31

Redis分片集群

2024-12-20 12:12:19

Redis負載均衡節點

2023-09-01 10:20:05

數據庫解密

2011-07-28 13:24:03

MongoDBAuto-shardi

2020-12-09 08:59:59

MongoDB復合索事故

2022-06-27 07:33:19

微服務Loki

2018-01-29 12:39:56

數據庫MongoDB集群

2023-10-09 07:31:25

2024-11-19 13:11:19

2019-10-11 10:52:42

Web架構MongoDB
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩a视频 | 午夜在线小视频 | 久久久性| 国产精品久久久亚洲 | 黄网站免费在线观看 | 中文字幕一区二区三区精彩视频 | 日日摸日日添日日躁av | 少妇特黄a一区二区三区88av | 亚洲欧美日韩精品久久亚洲区 | 国产美女一区二区三区 | 国产精品久久久久久影视 | 亚洲综合在线播放 | 一区二区福利视频 | 午夜影院在线观看 | 黄色在线| 久久久成人精品 | 日韩中文字幕在线观看 | 日韩成人精品一区二区三区 | 国产精品永久 | 一区二区av | 成人三区| 日韩精品视频中文字幕 | 性色视频在线观看 | 亚洲欧美日韩精品久久亚洲区 | 成人性生交大片免费看r链接 | 午夜国产一级 | 久久久91| 日韩a视频| 久久不射电影网 | 国产精品特级片 | 国产精品一区二区在线 | 精品久久久久久 | 伊人电影院av | 久久国产三级 | 日韩国产欧美一区 | 免费激情| 日韩综合一区 | 亚洲精品一区二三区不卡 | 久久久精彩视频 | 久久午夜视频 | 日韩一区二区福利视频 |