三臺機器操做系統環境以下:node
1linux 2mongodb 3shell 4bash 5架構 6fetch 7ui |
|
架構以下圖,以前的架構圖找不到了,就湊合看下面的表格吧。。
192.168.75.12八、shard1:1000一、shard2:1000二、shard3:1000三、configsvr:1000四、mongos:10005
注:shard1主節點,shard2仲裁,shard3副本
192.168.75.12九、shard1:1000一、shard2:1000二、shard3:1000三、configsvr:1000四、mongos:10005
注:shard1副本,shard2主節點,shard3仲裁
192.168.75.130、shard1:1000一、shard2:1000二、shard3:1000三、configsvr:1000四、mongos:10005
注:shard1仲裁,shard2副本,shard3主節點
node1:192.168.75.128
node2:192.168.75.129
node3:192.168.75.130
建立mongodb用戶
1 2 3 4 5 |
|
建立目錄和文件
1 2 3 4 5 6 |
|
下載mongodb
1 2 3 |
|
配置mongodb環境變量
1 2 |
|
shard1.conf配置文件內容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
shard2.conf配置文件內容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
shard3.conf配置文件內容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
configsvr.conf配置文件內容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
mongos.conf配置文件內容以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
注:以上操做只是在node1機器上操做,請把上面這些操做步驟在另外2臺機器操做一下,包括建立用戶建立目錄文件以及安裝mongodb等,以及文件拷貝到node二、node3對應的目錄下,拷貝以後查看一下文件的屬主屬組是否爲mongodb。關於configsvr的問題,官方建議1臺或者3臺,最好爲奇數,你懂得。不懂的話自行搜索mongodb官方就知道答案了,連接找不到了,本身找找吧。
啓動各個機器節點的mongod,shard一、shard二、shard3
1 2 3 4 5 |
|
注:沒法啓動,看到相應的提示後
解決:安裝openssl便可,三臺機器均安裝openssl-devel
1 2 3 |
|
再次切換mongodb用戶啓動三臺機器上的mongod,shard一、shard二、shard3
1 2 3 4 5 6 7 8 9 10 11 12 |
|
進入node1機器上的mongod:10001登陸
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
注:提示warning......
解決:在三臺機器上均操做一下內容便可
1 2 3 4 |
|
關閉三臺機器上的mongod實例,而後再次啓動三臺機器上mongod實例便可。
1 2 3 4 |
|
配置複製集
node1機器上操做配置複製集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
node2機器上操做配置複製集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
node3機器上操做配置複製集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
注:以上是配置rs複製集,相關命令如:rs.status(),查看各個複製集的情況
啓動三臺機器上的configsvr和mongos節點
1 2 3 4 5 6 7 8 |
|
配置shard分片
在node1機器上配置shard分片
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 |
|
查看shard信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
查看分片狀態
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
啓用shard分片的庫名字爲'zxl',即爲庫
1 2 |
|
設置集合的名字以及字段,默認自動創建索引,zxl庫,haha集合
1 2 |
|
模擬在haha集合中插入10000數據
1 2 |
|
能夠使用上面mongos> sh.status()命令查看各個shard分片狀況,以上就是複製集和shard分片搭建完成,主要仍是須要理解rs和shard原理。仍是把結果發出來吧,以下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
以上就是mongodb3.2複製集和shard分片搭建就此完成,仍是多多看看各個角色是什麼概念以及原理性的東東吧。。