一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - MongoDB - Mongodb3.0.5 副本集搭建及spring和java連接副本集配置詳細介紹

Mongodb3.0.5 副本集搭建及spring和java連接副本集配置詳細介紹

2020-05-09 17:30生_若蜉蝣 MongoDB

這篇文章主要介紹了Mongodb3.0.5 副本集搭建及spring和java連接副本集配置詳細介紹的相關資料,這里對安裝步驟進行了詳解,需要的朋友可以參考下

Mongodb3.0.5 副本集搭建springjava連接副本集配置詳細介紹

一、基本環境:

mongdb3.0.5數據庫
spring-data-MongoDB-1.7.2.jar
mongo-Java-driver-3.0.2.jar
Linux-redhat6.3
tomcat7

二、搭建mongodb副本集:

1、  分別在三臺linux系統機上安裝mongodb,(為避免和機器上原有的mongodb端口沖突,這里設為57017):

192.168.0.160
192.168.0.211(192.168.0.33上的虛擬機)
192.168.0.213(192.168.0.4上的虛擬機)

每個mongodb的安裝這里就不細說了,可以參考我的安裝方面的文檔,注意先不要更改用戶驗證方式。另外,這里如果沒有三臺機,也可以只用一臺機開三個端口,同時準備三個數據存儲目錄。

2、  以副本集的方式啟動三個mongodb:

只是在單機mongodb啟動的基礎上加入副本集參數—replSet,例如啟動160的:

?
1
/home/admin/mongodb3051/mongodb305/bin/mongod –f /home/admin/mongo3051/conf/mongodb.conf --replSet reptest

 其中,reptest是指定的副本集名稱,另外兩臺機也也要和這個一樣。如:

?
1
/mongodb3051/mongodb305/bin/mongod –f /mongodb3051/conf/mongodb.conf --replSet repTest

3、  在任意一臺機上配置副本集,這里在160上配置:

(1)、進入160上的mongo sehll(數據操作界面):

?
1
/home/admin/mongodb3051/mongodb305/bin/mongo –port 57017

(2)、切換到admin數據庫:

?
1
use admin

(3)、配置副本集:

?
1
config={_id:”reptest”,members:[{_id:0,host:”192.168.0.160:57017”},{_id:1,host:”192.168.0.211:57017”},{_id:,host:”192.168.0.213:57017”}]}

(4)、加載副本集配置文件:

?
1
rs.initiate(config)

(5)、查看副本集狀態:

?
1
rs.status()

   正常情況下可以看到160會是主服務器,顯示PRIMARY,如果是,就直接進行以下操作,如果不是,就切換到PRIMARY上進行以下操作(換到另一個mongo);

(6)、增加用戶:

?
1
db.createUser({“user”:”admin”,”pwd”:”admin”,”roles”:[“root”]})

(7)、更改用戶驗證方式: 

?
1
2
3
varschema=db.system.version.findOne({“_id”:”authSchema”})
schema.currentVersion=3
db.system.version.save(schema)

(8)、刪除用戶:

?
1
db.dropUser(“admin”)

(9)、重新建立用戶(系統中和上邊建立的用戶驗證方式不一樣):

?
1
db.createUser({“user”:”admin”,”pwd”:”admin”,”roles”:[“root”]})

(10)、關閉三個mongodb:

?
1
db.shutDownServer()或者kill命令

(11)、在160的數據庫的data目錄中建立keyFile文件:    

?
1
2
cd /home/admin/mongodb3051/data
openssl rand –base64 753 > keyFile

(12)、給keyFile文件設置600權限(必須設置600權限):

?
1
chmod 600 keyFile

(13)、把這個keyFile文件上傳到另外兩臺機上mongodb的data目錄中:    

?
1
2
scp –r keyFile [email protected]/mongodb3051/data
scp –r keyFile [email protected]/mongodb3051/data

(14)、在mongodb.conf文件中加入keyFile,例如160:

?
1
keyFile=/home/admin/mongodb3051/data/keyFile

(15)、重新啟動mongodb,使用replSet和auth參數:

?
1
/home/admin/mongodb3051/mongodb305/bin/mongod –f /home/admin/mongo3051/conf/mongodb.conf --replSet reptest --auth

(16)、在priority中設置副本集成員的優先級,給160設置最高優先級,優先級默認都是1:  

?
1
2
3
config=rs.conf()
config.members[0].priority=2
rs.reconfig(config)

這樣的話,只要160的mongodb是開著的,那么主服務器就會是160 

三、Spring中連接副本集的配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0"encoding="UTF-8"?>
  
  <!-- Factory bean that creates the Mongoinstance -->
  <mongo:mongo-client replica-set="192.168.0.160:57017" credentials="admin:admin@admin" id="mongo"
    <mongo:client-options write-concern="SAFE" connections-per-host="100"
      threads-allowed-to-block-for-connection-multiplier="50"
       /> 
  </mongo:mongo-client
  
  <mongo:db-factory id="mongoDbFactory"dbname="admin" mongo-ref="mongo"/> 
  <bean id="mongoTemplate"class="org.springframework.data.mongodb.core.MongoTemplate"
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> 
  </bean
</beans>

只需要配置一個ip,就會自動切換。用戶驗證格式:username:password@dbname。 

四、java中連接副本集的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public DB getMongoDB() {
   try {
    ServerAddress sa = new ServerAddress("192.168.0.160", 57017);
    ServerAddress sa1 = new ServerAddress("192.168.0.211", 57017);
    ServerAddress sa2 = new ServerAddress("192.168.0.213", 57017);
    List<ServerAddress> sends = new ArrayList<ServerAddress>();
    sends.add(sa);
    sends.add(sa1);
    sends.add(sa2);
    List<MongoCredential> mongoCredentialList = new ArrayList<MongoCredential>();
    mongoCredentialList.add(MongoCredential.createMongoCRCredential("admin", "admin","admin".toCharArray()));
    DB mongoDB = new MongoClient(sends,mongoCredentialList).getDB("admin");
   } catch (Exception e) {
    throw new RuntimeException("連接MongoDB數據庫錯誤", e);
   }
  return mongoDB;
 }

用戶驗證格式是:username,dbname,password

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDB遷移sqlserver數據到MongoDb的方法

    遷移sqlserver數據到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數據到MongoDb的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBMongodb實現定時備份與恢復的方法教程

    Mongodb實現定時備份與恢復的方法教程

    這篇文章主要給大家介紹了Mongodb實現定時備份與恢復的方法教程,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面...

    chenjsh364522020-05-13
  • MongoDBMongoDB 內存使用情況分析

    MongoDB 內存使用情況分析

    都說 MongoDB 是個內存大戶,但是怎么知道它到底用了多少內存呢...

    MongoDB教程網10002020-09-29
  • MongoDB分布式文檔存儲數據庫之MongoDB分片集群的問題

    分布式文檔存儲數據庫之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲數據庫之MongoDB分片集群的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBmongodb基本命令實例小結

    mongodb基本命令實例小結

    這篇文章主要介紹了mongodb基本命令,結合實例形式總結分析了MongoDB數據庫切換、查看、刪除、查詢等基本命令用法與操作注意事項,需要的朋友可以參考下...

    dawn-liu3652020-05-26
  • MongoDBMongoDB憑什么躋身數據庫排行前五

    MongoDB憑什么躋身數據庫排行前五

    MongoDB以比去年同期超出65.96分的成績繼續雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDBMongoDB中javascript腳本編程簡介和入門實例

    MongoDB中javascript腳本編程簡介和入門實例

    作為一個數據庫,MongoDB有一個很大的優勢——它使用js管理數據庫,所以也能夠使用js腳本進行復雜的管理——這種方法非常靈活 ...

    MongoDB教程網6982020-04-24
主站蜘蛛池模板: www.色小妹| 亚洲欧美成人综合在线 | 射综合网 | 精品四虎国产在免费观看 | 日韩欧美推理片免费在线播放 | 无人在线视频高清免费观看动漫 | 色综合久久综精品 | jk制服喷水 | jux629三浦理惠子在线播放 | 久久er国产免费精品 | 亚洲成在人网站天堂一区二区 | 欧美一级视频免费观看 | 欧美贵妇vs高跟办公室 | 欧美成人日韩 | 男人疯狂进女人下部视频动漫 | 99ri精品 | 国产在线视频色综合 | 亚洲另类中文字幕 | 亚洲国产精品嫩草影院久久 | 91在线免费看| 亚洲精品国产一区二区第一页 | 免费观看成年肉动漫网站 | 亚洲精品一区在线观看 | 欧美人伦禁忌.5 | 国产欧美日韩综合 | 亚洲欧美久久一区二区 | 天天操夜夜操狠狠操 | 日韩精品福利视频一区二区三区 | 欧美╳bbbb | 精品一久久香蕉国产二月 | 免费国产在线视频 | 美女扒开肌肌让男人桶 | 国产成人精品免费 | 男人和女人全黄一级毛片 | 亚洲激情在线视频 | 女人c交zzzooo在线观看 | 亚洲欧美国产精品完整版 | 亚洲欧美一区二区三区在线观看 | aaa一级特黄 | 国产精品日本一区二区三区在线看 | 国产盗摄wc厕所撒尿视频 |