一、mongoDB安裝
1.安裝包下載
http://dl.mongodb.org/dl/win32/x86_64
注:官方下載選擇不了包,上述這個網址全面一點,選擇下載了.msi
2.安裝到自己的想要存放的路徑
注:忘記安裝好的目錄下面是不是有data和log了,不過沒有關係之後再創建就好了,現在看下一步操作。
3.啓動服務(以下二選一)
1.命令行下運行mongoDB服務
d:\mongodb\bin\mongod --dbpath d:\mongodb\data --logpath d:\mongodb\log\mongod.log
注:本人安裝在了d盤,–dbpath是指存放數據庫的位置,–logpath是指存放日誌文件的位置,都是可以自己指定的,沒有文件可以創建。之後我們例外再開一個cmd在d:\mongodb\bin下輸入mongo即可,或者輸入完整的路徑也是可以的。
2.配置mongoDB服務(在服務下可以看到)
1.創建配置文件或者修改配置文件
注:配置文件的存放隨意,因爲會在命令行下輸入完整的路徑。也可以用在bin目錄裏面的mongod.cfg。
storage:
dbPath: D:\mongoDB\data
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: D:\mongoDB\log\mongod.log
2.安裝mongodb服務
d:\mongodb\bin\mongod.exe --config "d:\mongodb\bin\mongod.cfg" --install
在這之後服務裏面就會出現mongodb的服務了。當然也可以添加–serviceName --serviceDisplayName
3.啓動mongodb服務
net start MongoDB
二.副本集+分片的搭建
1.知識點介紹
複製是爲了冗餘,副本集關鍵在與創建服務的時候要定義–replSet以及端口 --port,一個副本集的名稱都是相同的。
mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"或者更改配置文件,添加副本集的名稱replSet=repl再啓動mongod
隨後在任意一個服務器中登入shell,進行初始化配置
config={
_id : “副本集名稱”,
… members : [
… {_id : 0, host : “127.0.0.1:27017” },
… {_id : 1, host : “127.0.0.1:27018” },
… {_id : 2, host : “127.0.0.1:27019” }
… ]
…}
rs.initate(config)
注:在一臺電腦上搭建副本集時,本人使用的是同一個IP地址不同的端口號。查看了別人的文章,感覺在實際運用中是不同的IP地址使用同一個端口號搭建副本集。一臺電腦上操作的話需要用到虛擬機。
分片是爲了解決處理數據能力不足的問題,讓多臺機器一起工作。
注:本人在一臺機器上需要準備三個分片,三個config server,一個route server。實際運用中會存在多臺機器,每一臺機器上是兩個以上分片,一個config server,一個route service。而且現在版本要求不能是單獨的一個分片服務器,需要是副本集(也就是上面的操作,不同的IP地址同一個端口號連接在一起)。
分片啓動就是和普通啓動是一樣的,可以添加一個–shardsvr。config啓動也是和普通啓動一樣,可以添加一個–configsvr。(同上,不管是在命令行裏面添加還是在配置文件中添加都可以)
分片中最重要的是路由服務器。命令如下:
mongos --port 40000 --configdb localhost:27100,ocalhost:27101,localhost:27102 --logpath=D:/mongoDB/shard/log/route.log
mongo --port 40000
執行以下命令,添加分片到集羣
>db.addShard("集羣的地址+端口號")
>db.runCommand({ enablesharding:"test" }) #設置分片存儲的數據庫
>db.runCommand({ shardcollection: "test.log", key: { id:1,time:1}})(有文章看到id:hashed分片更均勻)。
之後就是輸入數據測試了。
參考文章地址:
https://www.runoob.com/mongodb/mongodb-sharding.html
https://www.cnblogs.com/ityouknow/p/7344005.html(強烈推薦)
https://www.jianshu.com/p/d5e693f99760(推薦)