搭建MongoDB分片集群
在部門服務器搭建MongoDB分片集群,記錄整個操作過程,朋友們也可以參考。
?
計劃如下:
用5臺機器搭建,IP分別為:192.168.58.5、192.168.58.6、192.168.58.8、192.168.58.9、192.168.58.10。分為兩個分片,每個分片下有一個primary,一個secondary,一個仲裁。在其中三臺啟動config server和mongos。
shard1:58.5、58.6、58.10(仲裁)
shard2:58.8、58.9、58.10(仲裁)
config server:58.5、58.8、58.10
mongos:58.5、58.8、58.10
?
?
實施如下:
1、所有機器創建mongodb文件夾
mkdir?-p?/opt/mongodb
cd? /opt/mongodb
?
2、所有機器下載mongodb的安裝程序包
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz
tar xvzf mongodb-linux-x86_64-2.4.8.tgz
?
3、分別在相應機器建立mongos 、config 、 shard1 、shard2目錄
#58.5、58.8、58.10建立mongos目錄 mkdir -p?/opt/mongodb/mongos/log #58.5、58.8、58.10建立config server 數據文件存放目錄 mkdir -p?/opt/mongodb/config/data #58.5、58.8、58.10建立config server 日志文件存放目錄 mkdir -p?/opt/mongodb/config/log #58.5、58.6、58.10建立shard1 數據文件存放目錄 mkdir -p?/opt/mongodb/shard1/data #58.5、58.6、58.10建立shard1 日志文件存放目錄 mkdir -p?/opt/mongodb/shard1/log #58.8、58.9、58.10建立shard2 數據文件存放目錄 mkdir -p?/opt/mongodb/shard2/data #58.8、58.9、58.10建立shard2 日志文件存放目錄 mkdir -p?/opt/mongodb/shard2/log 4、規劃組件對應的端口號,這個端口可以自由定義,在本文 mongos為 27017, config server 為 21000, shard1為 22001 , shard2為22002 5、58.5、58.8、58.10分別啟動配置服務器 /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --configsvr --dbpath?/opt/mongodb/config/data --port 21000 --logpath?/opt/mongodb/config/log/config.log --fork 6、58.5、58.8、58.10分別啟動mongos服務器 /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongos? --configdb 192.168.58.5:21000,192.168.58.8:21000,192.168.58.10:21000? --port 27017 ? --logpath??/opt/mongodb/mongos/log/mongos.log --fork 7、配置各個分片的副本集 #58.5、58.6、58.10分別設置分片1服務器及副本集shard1 /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard1 --port 22001 --dbpath?/opt/mongodb/shard1/data? --logpath?/opt/mongodb/shard1/log/shard1.log --fork #58.8、58.9、58.10分別設置分片2服務器及副本集shard2 /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongod --shardsvr --replSet shard2 --port 22002 --dbpath?/opt/mongodb/shard2/data? --logpath?/opt/mongodb/shard2/log/shard2.log --fork 8、分別對每個分片配置副本集1)登陸192.168.58.5
#設置第一個分片副本集 /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo? 127.0.0.1:22001 #使用admin數據庫 use admin #定義副本集配置 config = { _id:"shard1", members:[ ?????????????????????{_id:0,host:"192.168.58.5:22001"}, ?????????????????????{_id:1,host:"192.168.58.6:22001"}, ?????????????????????{_id:2,host:"192.168.58.10:22001",arbiterOnly:true} ????????????????] ?????????} #初始化副本集配置 rs.initiate(config); 2)登陸192.168.58.8 #設置第二個分片副本集 /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo??127.0.0.1:22002 #使用admin數據庫 use admin #定義副本集配置 config = { _id:"shard2", members:[ ?????????????????????{_id:0,host:"192.168.58.8:22002"}, ?????????????????????{_id:1,host:"192.168.58.9:22002"}, ?????????????????????{_id:2,host:"192.168.58.10:22002",arbiterOnly:true} ????????????????] ?????????} #初始化副本集配置 rs.initiate(config); 9、目前搭建了mongodb配置服務器、路由服務器,各個分片服務器,不過應用程序連接到 mongos 路由服務器并不能使用分片機制,還需要設置分片配置,讓分片生效 登陸192.168.58.10 #連接到mongos /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo? 127.0.0.1:27017 #使用admin數據庫 use admin #串聯路由服務器與分配副本集1 db.runCommand( { addshard :?"shard1/192.168.58.5:22001,192.168.58.6:22001,192.168.58.10:22001"}); #串聯路由服務器與分配副本集2 db.runCommand( { addshard :?"shard2/192.168.58.8:22002,192.168.58.9:22002,192.168.58.10:22002"}); #查看分片服務器的配置 db.runCommand( { listshards : 1 } ); 10、完成?
轉載于:https://www.cnblogs.com/zhangtianyuan/p/7283900.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的搭建MongoDB分片集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习在语音识别中的声学模型以及语言模
- 下一篇: 【.net 深呼吸】自定义应用程序配置节