Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍

MongoDB是一个开源的NoSQL数据库,它提供了高性能、高可用性和高扩展性的数据存储解决方案,在本文中,我们将详细介绍如何使用MongoDB 3.0.5版本搭建副本集,并使用Spring和Java进行连接配置。

MongoDB副本集搭建

1、安装MongoDB

Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍

我们需要在服务器上安装MongoDB,可以从官网下载相应的安装包,然后按照官方文档进行安装。

2、创建副本集配置文件

在MongoDB的安装目录下,创建一个名为mongod.conf的配置文件,内容如下:

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
net:
  bindIp: 127.0.0.1,192.168.1.2,192.168.1.3
  port: 27017
replication:
  replSetName: "rs0"

bindIp表示MongoDB监听的IP地址,可以根据实际情况进行修改。port表示MongoDB服务的端口号,默认为27017。replSetName表示副本集的名称,可以根据需要进行修改。

3、启动MongoDB服务

在服务器上运行以下命令,启动MongoDB服务:

Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍

mongod --config /path/to/mongod.conf

/path/to/mongod.conf表示刚刚创建的配置文件的路径。

4、添加副本集节点

在另一个服务器上,重复步骤1-3,创建一个新的MongoDB实例,在第一个服务器上运行以下命令,将新实例添加到副本集中:

mongo --host 192.168.1.2 --port 27017 <<EOF
rs.add("192.168.1.2:27017")
EOF

192.168.1.2:27017表示新实例的地址和端口号,运行完这个命令后,新实例将被添加到副本集中。

5、查看副本集状态

在任何一个MongoDB实例上,运行以下命令,查看副本集的状态:

Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍

rs.status()

如果一切正常,输出结果应该类似于以下内容:

{
    "set" : "rs0",
    "date" : ISODate("2022-01-01T00:00:00Z"),
    "myState" : 1,
    "term" : NumberLong(1),
    "syncingTo" : "",
    "syncSourceHost" : "",
    "syncSourceId" : -1,
    "heartbeatIntervalMillis" : NumberLong(2000),
    "optimes" : { },
    "lastStableCheckpointTimestamp" : Timestamp(0, 0),
    "uptime" : NumberLong(3600000),
    "alive" : true,
    "primary" : "192.168.1.3:27017",
    "secondary" : [ ],
    "arbiterOnly" : false,
    "hidden" : false,
    "initialSyncStarted" : NumberLong(1640995200000),
    "lastHeartbeatMessage" : { },
    "lastHeartbeatTimestamp" : ISODate("2022-01-01T00:30:00Z"),
    "pingMs" : NumberLong(0),
    "lastWriteConfirmationTimestamp" : { },
    "electionTimeMs" : NumberLong(0),
    "electionDate" : ISODate("2022-01-01T00:30:00Z"),
    "configVersion" : { },
    "selfIndexes" : [ ] }
}

Spring和Java连接副本集配置

1、添加依赖

在项目的pom.xml文件中,添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2、配置MongoDB连接信息

在application.properties文件中,添加以下配置:

spring.data.mongodb.uri=mongodb://username:password@localhost:27017/database?authSource=admin&replicaSet=rs0&readPreference=primaryPreferred&ssl=false&serverSelectionTimeoutMS=3000&connectTimeoutMS=3000&socketTimeoutMS=360000&maxPoolSize=50&minPoolSize=5&maxIdleTimeMS=360000&maxConnectionIdleTimeMS=360000&waitQueueMultiple=5&waitQueueTimeoutMS=5000&threadsAllowedToBlockForConnectionMultiplier=5&requiredReplicaSetName=rs0&writeConcern=NORMAL&readConcern=NORMAL&appName=myAppName&enableLocalhostAuthBypass=true&failFast=true&heartbeatFrequencyMS=1000&logicalSessionTimeoutMinutes=360&serverSelectionTimeoutMS=3686454454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454e8b9a8c9f8g9h8i9j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9zAaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZaAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuU

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/353368.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-03-09 02:01
Next 2024-03-09 02:04

相关推荐

  • mongodb增量/全量备份脚本的实现详解

    详解MongoDB增量和全量备份脚本实现,提供定期数据保护,支持压缩上传至云存储,确保数据安全与恢复效率。

    2024-02-18
    0121
  • mongodb怎么查询耗时长

    MongoDB是一个开源的NoSQL数据库,它提供了灵活的数据模型和强大的查询功能,有时候我们可能会遇到一些耗时较长的查询操作,这会影响系统的性能和用户体验,本文将介绍如何查询MongoDB中耗时较长的操作,并提供一些优化技巧。我们需要了解什么是耗时较长的查询操作,在MongoDB中,耗时较长的查询通常指的是那些执行时间超过一定阈值的……

    2023-11-12
    0207
  • mongodb大数据查询慢怎么解决

    MongoDB大数据查询慢的原因1、数据量大:当数据量非常大时,查询速度会受到影响,因为MongoDB需要遍历整个数据集来查找满足条件的文档。2、索引不足:索引是提高查询速度的关键,如果没有为查询条件创建合适的索引,MongoDB需要进行全表扫描,这会导致查询速度变慢。3、查询复杂度高:复杂的查询语句,如嵌套查询、聚合查询等,会导致查……

    2024-01-01
    0100
  • oracle如何导出dump文件

    您可以通过以下步骤导出Oracle的dump文件:,1. 利用xshell或其它ssh工具登录oracle服务器后,建立dump文件存放目录,并授权给Oracle用户。,2. 切换到oracle用户,建立共享目录。,3. 执行expdp命令导出dump文件。

    2023-12-29
    0172
  • java mongodb模糊查询

    在Java中,使用MongoDB进行模糊查询可以使用$regex操作符。以下是一个示例代码:,,``java,import com.mongodb.client.MongoClients;,import com.mongodb.client.MongoClient;,import com.mongodb.client.MongoCollection;,import com.mongodb.client.MongoDatabase;,import org.bson.Document;,import org.bson.conversions.Bson;,,public class MongoDBFuzzySearch {, public static void main(String[] args) {, // 连接到MongoDB服务器, try (MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017")) {, // 选择数据库和集合, MongoDatabase database = mongoClient.getDatabase("test");, MongoCollection collection = database.getCollection("users");,, // 构建模糊查询条件, String searchQuery = "张";, Bson filter = new Document("name", new Document("$regex", searchQuery));,, // 执行模糊查询, for (Document doc : collection.find(filter)) {, System.out.println(doc.toJson());, }, }, },},`,,这段代码将连接到本地的MongoDB服务器,选择名为"test"的数据库和名为"users"的集合,然后使用$regex`操作符进行模糊查询,查找名字中包含"张"的用户。

    2024-05-20
    095
  • mongodb内存不释放

    A1: MongoDB不在内存中存储数据的原因主要是为了提高数据的持久性和可扩展性,将数据存储在磁盘上可以避免因系统崩溃而导致的数据丢失,将数据分布在多个服务器上可以实现水平扩展,从而应对大量数据的存储和处理需求,Q2: 如何优化MongoDB的查询性能?

    2023-12-11
    0175

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入