來個原創: mongodb 叢集執行個體

來源:互聯網
上載者:User

來個原創: mongodb 叢集執行個體

因為估計我沒那麼多伺服器去做分區,所以下只是類似主從的伺服器叢集,沒有對單個資料庫再分區到多個機器上.
以下目標就是在多個機器上都儲存一份完整資料,並能自動主從切換(未實現)

即便是這樣,配置仍然一波三折,特別網上的文章多基於本機或者是版本實現差異,多個步驟是對不上那些教程的.

使用版本 mongodb-win32-i386-2.0.2

1.解壓後即可開始使用.
2.講解一下設定檔.
網上的例子基本都是命令列的,設定檔方式如下
mongod --config D:\mongodb-win32-i386-2.0.2\bin\mongo.cnf
基本上設定檔內容與參數差不多: 把命令列參數的 "--" 去掉然後加上 "=" 在參數值前並且每個參數單獨一行就可以了.
樣本如下:
dbpath=D:\mongodb-win32-i386-2.0.2\bin\data

不過例子仍然是命令列,如下
mongod.exe --dbpath D:\mongodb-win32-i386-2.0.2\bin\data --replSet rs1 --keyFile D:\mongodb-win32-i386-2.0.2\bin\key_r0

3.看到那個 key_r0 檔案沒有,這個是 mongdb 一定要有的標識,並且主從機是一樣的(其實我的主從機只有 data 目錄不同)
內容就是一個文字檔,可以這樣 "this is rs1 super secret key"

4.第一次一定要在命令列中初始化,不過初始化後就會寫入檔案以後就不用了,程式啟動就行.
5.初始化時主從機都要初始化.
6.初始化時至少從機的 data 中不能有資料.執行 rs.initiate(config_rs1); --初始化配置 時會報錯的,看提示來.
7.命令如下:
命令1
config_rs1 = {_id: 'rs1', members: [
    {_id: 0, host: '192.168.41.177:27017', priority:1}, --成員IP 及連接埠,priority=1 指PRIMARY
    {_id: 1, host: '192.168.41.34:27017'}
}

命令2
rs.initiate(config_rs1); --初始化配置

可能我的版本或配置有問題,命令中的英文要去掉.
8.命令是否成功用 rs.status() 查看.
9.命令要用原生 mongodb.exe 執行.
10.要想用 MongoVUE 這樣的工具跨機器訪問從機的資料還能使用使用者登入模式,方法是給資料庫加一個使用者.加在 admin
資料庫中的話可以訪問全部資料庫.添加使用者的操作要在主機上執行,從機會自動同步的.
11.預設從機是唯讀,要改 SlaveOk ,否則會報 "Server is not a primary and SlaveOk is false.."
12.認證方式的登入連接字串如下:
MongoServer mongodb = MongoServer.Create("mongodb://192.168.41.34:27017/root:111");
失敗
//MongoServer mongodb = MongoServer.Create("mongodb://192.168.41.34:27017/root:111?slaveOk=true");

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.