MongoDB windows基礎配置

來源:互聯網
上載者:User

標籤:

由於公司業務的發展MSSQL已處於瓶頸。因為沒錢買牛逼伺服器只能靠軟體來實現最大最佳化了。原來的系統架構如:

 

現在準備把讀寫資料庫和唯讀資料換成Nosql資料庫。最終選擇了Mongodb. 下面開始了Mongodb的學習。

1. Mongodb下載:https://www.mongodb.org/downloads?_ga=1.159678843.794950141.1434346788

2.具體安裝就不多說了。網上太多介紹的。沒必要浪費鍵盤了。

3.搭建複製集

  一個簡單的複製集最少包括三個節點。 1.primary 2. secondary,3.arbiter節點

 primary: 儲存資料。

 secondary:同步主節點資料

 arbiter: 當主節點故障時,arbiter會投票選擇一個secondary充當priary節點。

大致如下:

注意:三個節點其實就是三個Mongod執行個體。

(1). 建立主節點設定檔內容如下: 檔案名稱:rs0.conf

      dbpath = D:\RuntimeServices\MongoDB_Ad\shard00\db        //指定資料存放區目錄
  logpath = D:\RuntimeServices\MongoDB_Ad\shard00\log\shard00.log    //指定資料庫日誌目錄
  journal = true  //是否開機記錄功能
  port = 32000   //連接埠號碼
  nohttpinterface = true  //不開啟web監控介面
  replSet = rs0           //複製集名稱(同一個複製集名稱相同)

 (2). 建立從節點設定檔(rs1.conf),內容如下:

     dbpath = D:\RuntimeServices\MongoDB_Ad\shard01\db
  logpath = D:\RuntimeServices\MongoDB_Ad\shard01\log\shard01.log
  journal = true
  port = 32001
  nohttpinterface = true
  replSet = rs0

 

 (3).建立arbiter節點設定檔(rs2.conf) 內容如下:

      dbpath = D:\RuntimeServices\MongoDB_Ad\shard02\db
  logpath = D:\RuntimeServices\MongoDB_Ad\shard02\log\shard02.log
  journal = true
  port = 32002
  nohttpinterface = true
  replSet = rs0

  分別產生三個服務

   sc.exe create OpenXLive.MongoDB_Ad.Shard00 binPath= "\"D:\RuntimeServices\MongoDB_Ad\mongodb-3.0.4\bin\mongod.exe\" --service --config=\"D:\RuntimeServices\MongoDB_Ad\mongodb-3.0.4\rs0_0.conf\"" DisplayName= "rs0_Service" start= "auto"

  (4).連結到主節點執行命令

     rs.initiate();

     此時複製集只有一個成員。 rs.conf() 進行查看。

     按照MongoDB的預設設定。剛才的命令會初始化mongod執行個體為主節點。 下面把從節點和arbiter加入進去。

     rs0:PRIMARY>rs.add("localhost:32001");

     rs0:PRIMARY>rs.addArb("localhost:32002");

     rs0:PRIMARY>rs.status()   可查看複製集狀態。

 

 

至此一個複製集建立完成。 在大資料的時代一個複製集遠遠不夠。雖然解決了災難恢複。但是沒有完成資料分區。一台物理機上的空間是有限的。為了實現資料均衡分布在多台機器上。 下面開始了MongoDB的叢集搭建。

在Mongodb中搭建一個叢集環境非常簡單。幾分鐘就可以完成一個擁有容錯移轉,資料同步,讀寫分離,資料分布式儲存的叢集環境。

 

二、分區叢集架構

分區叢集主要有mongos路由進程、設定管理員、複製集組成的分區集合組成。 如:

 

分區叢集上一個分區(shard) 就是一個複製集。 當然也可以是一個單個Mongod執行個體。在叢集中一般用複製集。保證一個分區不會故障。如果一個分區出現故障。整個叢集就掛了。因為每一個分區上保留資料的一部分。

所有分區的綜合才是所有資料。所以我們應該保證每個分區上資料的完整性和穩定性至關重要。

Mongos和設定管理員是輕量級進程。是不會儲存資料的。 設定管理員只儲存分區的一些狀態資訊。 所以整個讀取叢集的過程為: 訪問Mongos-查詢設定管理員,根據設定管理員要求寫入或讀取那些分區伺服器進行讀取資料。

 

搭建叢集步驟:

1. 配置複製集rs0並啟動。參考上面介紹

2.配置複製集rs1並啟動。

3.配置cofingure伺服器。

   設定管理員也是一個Mongod執行個體。

   (1).configure伺服器1 的設定檔 cfgserver_0.conf 內容如下:

        dbpath="E:\Mongodb\config\data\db_config0"

        logpath = "E:\Mongodb\config\logs\db_config0.log"

        journal = true

        port = 30002

        configsvr=true

   啟動服務。

   (2).configure伺服器2的設定檔參考上面。 啟動服務

   (3).configure伺服器3的設定檔參考上面。 啟動服務

 

4.配置Mongos路由伺服器

   設定檔cfg_mongos.conf 內容如下:

   logpath=""

   port = 30000

   configdb = localhost:30001,localhost:30002,localhost:30003

 

啟動伺服器。

 

5. 添加各個分區到叢集:

   開啟用戶端串連到Mongos伺服器。

   添加第一個分區的主從節點: mongos>sh.addShard("localhost:30004,localhost:30005")

   添加第二個分區的主從節點: mongos>sh.addShard("localhost:30007,localhost:30008")

 

6.最後通過sh.status()檢查是否正確(我實際添加了三個分區)

 

 

支援分區叢集搭建完成。

 

更多內容:

1.叢集完成怎樣去訪問?

2.使用者權限怎麼添加?

3.如果監控叢集環境是否工作正常。

4.如果做到資料分布式儲存

5.片鍵如果選擇?

6.索引建立

7.curd基本操作。

8.讀寫分離如何控制。

9.c# php java js 等如何使用Mongod叢集的?

針對上面問題。接下來會慢慢更新。

 

 

 

 

 

 

  

 

 

   

 

MongoDB windows基礎配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.