天天看點

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

最近抽時間搭建了一下mongodb簡單的分片,整個過程還算是蠻順利,隻不過在使用者驗證這一塊遇到了一些問題,好在最後終于搞定。

一、伺服器搭建過程:

1、安裝四個mongodb:一個作為config、一個作為mongos、另外兩個作為主要資料存儲的伺服器(機器ip192.168.0.201),如圖:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

分别對應圖中被紅框框起來的mongoconf、mongos、mongo1、mongo2(解壓安裝,安裝過程省略)。

2、分别建立data、conf、logs檔案夾,并在logs檔案夾下建立mongodb.log檔案,在conf中建立mongodb.conf(啟動配置參數)檔案。

mongoconf中conf檔案内容如下:

mongos中conf檔案内容個如下(與上邊相比少了dbpath的指定):

mongo1中conf内容如下(和mongoconf中基本一樣,隻是路徑指向的是自己的):

mongo2中的conf也是一樣,隻是把mongo1改為mongo2(省略)。

3、依次啟動mongoconf、mongos和mongo1、mongo2:

啟動mongoconf,在bin目錄下執行mongod指令:

啟動mongos,在bin目錄下執行mongos指令:

啟動mongo1和mongo2,在各自的bin目錄中執行mongod指令:

4、連接配接mongos伺服器,并添加分片:

  (1)、連接配接mongos:在任意一個mongodb的bin目錄執行如下指令:      

  (2)、進入mongos後添加mongo1和mongo2位分片資料伺服器:       

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

5、開啟分片:  

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

6、測試:向test資料庫的user表中添加10w條資料:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

7、檢視分片結果:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

二、開啟使用者驗證:

1、切換資料庫到admin建立root使用者:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

 再切換到test資料庫建立讀寫權限的使用者(非admin資料庫中無法建立叢集管理相關的使用者): 

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

2、退出mongo shell,建立keyfile(檔案名可自取)檔案,并賦予600權限,必須要600權限:

  進入到mongo1的data目錄下執行如下指令:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

3、把生成的keyfile檔案拷貝到其他幾個mongodb的data目錄中:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

4、修改mongodb.conf啟動配置檔案:

除開mongos之外,其他都加上如下内容(開啟使用者驗證和keyfile驗證):

mongos中沒有auth參數,隻需要keyfile。

5、重新依次啟動mongoconf、mongos和mongo1、mongo2(參考上邊的啟動說明);

三、java代碼連接配接測試:

1、java連接配接代碼如下:

2、運作結果:

mongodb3.0分片及java代碼連接配接操作測試(開啟使用者驗證)

收工完成!