mongo3

Docker 安装 MongoDB

南笙酒味 提交于 2020-10-06 09:00:31
MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序。 1、查看可用的 MongoDB 版本 访问 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1 。 可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest 。 你也可以在下拉列表中找到其他你想要的版本: 此外,我们还可以用 docker search mongo 命令来查看可用版本: $ docker search mongo NAME DESCRIPTION STARS OFFICIAL AUTOMATED mongo MongoDB document databases ... 1989 [OK] mongo-express Web-based MongoDB admin int... 22 [OK] mvertes/alpine-mongo light MongoDB container 19 [OK] mongooseim/mongooseim-docker MongooseIM server the lates... 9 [OK] torusware/speedus-mongo Always updated official Mon... 9 [OK] jacksoncage

本地docker安装MongoDB副本集

孤人 提交于 2020-09-29 04:56:48
1. 创建网络与容器 docker pull mongo docker network create mongo-rs docker run --name mongo1 -p 27027:27027 --net mongo-rs -d mongo mongod --replSet "rs0" --port 27027 docker run --name mongo2 -p 27028:27028 --net mongo-rs -d mongo mongod --replSet "rs0" --port 27028 docker run --name mongo3 -p 27029:27029 --net mongo-rs -d mongo mongod --replSet "rs0" --port 27029 2. 分别进入每个容器执行 docker exec -it mongo1 /bin/bash echo "127.0.0.1 mongo1 mongo2 mongo3" >> /etc/hosts 3. 重启每个容器 docker restart mongo1 mongo2 mongo3 4. 进入一个容器初始化副本集: docker exec -it mongo1 mongo --port 27027 rs.initiate({"_id": "rs0", "members"

遇到的一则MongoDB objectid冲突的问题

纵饮孤独 提交于 2020-08-14 13:59:51
最近开发反馈sentry遇到mongodb写入报 objectid 重复的情况,类似下图: 我们生产用的是mongo3.4的版本 官方文档介绍3.4的 objectid生成规则如下: https://docs.mongodb.com/v3.4/reference/method/ObjectId/ a 4-byte timestamp value , representing the ObjectId’s creation, measured in seconds since the Unix epoch 4 个字节表示时间戳, unixtime a 5-byte random value 5 个字节随机数 a 3-byte incrementing counter , initialized to a random value 3 个字节表示一个自增的数 举例子: 24位的objectid,我们按照上面的规则来拆分成3段: 5ec428fca413e054714e7fb2拆分: 5ec428fc --> 1589913852 --> 2020-05-20 02:44:12 a413e05471 -->704708105329 4e7fb2 --> 5144498 5ec428fca413e054714e7fb3拆分: 5ec428fc --> 1589913852 --> 2020

Mongo Spark Connector中的分区器(一)

心已入冬 提交于 2020-08-13 08:43:17
  MongoSpark为入口类,调用MongoSpark.load,该方法返回一个MongoRDD类对象,Mongo Spark Connector框架本质上就是一个大号的自定义RDD,加了些自定义配置、适配几种分区器规则、Sql的数据封装等等,个人认为相对核心的也就是分区器的规则实现;弄清楚了其分析器也就搞明白了Mongo Spark Connector 。 当前实现的分区器(Partitioner):    MongoPaginateByCountPartitioner 基于总数的分页分区器    MongoPaginateBySizePartitioner 基于大小的分页分区器    MongoSamplePartitioner 基于采样的分区器    MongoShardedPartitioner 基于分片的分区器    MongoSinglePartitioner 单分区分区器    MongoSplitVectorPartitioner 基于分割向量的分区器   这里根据源码简单介绍MongoSinglePartitioner与MongoSamplePartitioner分区器,这或许就是用得最多的两种分区器,他的默认分区器(DefaultMongoPartitioner)就是MongoSamplePartitioner分区器; 该分区默认的PartitionKey为

MongoDB的集群模式--Sharding(分片)

大兔子大兔子 提交于 2020-05-02 11:10:12
分片是数据跨多台机器存储,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。 具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量。 例如,高查询率会耗尽服务器的CPU容量。 工作集大小大于系统的RAM会强调磁盘驱动器的I / O容量。 有两种解决系统增长的方法:垂直和水平缩放。 垂直扩展 涉及增加单个服务器的容量,例如使用更强大的CPU,添加更多RAM或增加存储空间量。 可用技术的局限性可能会限制单个机器对于给定工作负载而言足够强大。 此外,基于云的提供商基于可用的硬件配置具有硬性上限。 结果,垂直缩放有实际的最大值。 水平扩展 涉及划分系统数据集并加载多个服务器,添加其他服务器以根据需要增加容量。 虽然单个机器的总体速度或容量可能不高,但每台机器处理整个工作负载的子集,可能提供比单个高速大容量服务器更高的效率。 扩展部署容量只需要根据需要添加额外的服务器,这可能比单个机器的高端硬件的总体成本更低。 权衡是基础架构和部署维护的复杂性增加。 MongoDB支持 通过 分片进行 水平扩展 。 一、组件 shard :每个分片包含分片数据的子集。每个分片都可以部署为 副本集(replica set )。可以分片,不分片的数据存于主分片服务器上。 部署为3成员副本集 mongos :mongos充当查询路由器,提供客户端应用程序和分片集群之间的接口

spring4.0 配置mongo3.0集群

匆匆过客 提交于 2019-12-07 12:17:37
#在mongo3.0集群,使用副本集群方式. pom.xml 加引mongo 3.0 ,spring 版本是4.以上 我这里使用提4.2.1.RELEASE <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.8.0.RELEASE</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.1.0</version> </dependency> 如果不引用mongo-java-driver 其默加自动导入mongo2.0的驱动. mongo2的驱动 这里给提供一个mongo2.0spring配置. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mongo=