mongo分片及驱动

安装

直接下载官方程序

 

在三台机器上如下配置,其中文件名称,ip,端口可作相应更改。

 

1、拷贝程序到/opt/下,创建分片配置文件。

#shard21.conf

dbpath=/data/shard21

logpath = /data/shard21.log

pidfilepath = /opt/mongodb/shard21.pid

directoryperdb = true

logappend = true

replSet = shard2

bind_ip=10.105.33.6

port = 27017

oplogSize = 100

fork = true

noprealloc=true

 

2、创建mongos配置文件

dbpath = /data/config

logpath =/data/config.log

logappend = true

bind_ip = 10.105.33.6

port = 20000

fork = true

 

启动

在三台机器分别执行如下,文件名称,ip地址相应修改。

/opt/mongodb/bin/mongod --shardsvr -f /opt/mongodb/shard21.conf

/opt/mongodb/bin/mongod --configsvr -f /opt/mongodb/config.conf

/opt/mongodb/bin/mongos --configdb 10.237.168.179:20000,10.131.154.192:20000,10.105.36.235:20000 --port 30000 --logpath /data/route.log --logappend --fork

 

 

配置

设置副本

use admin

config={_id:"shard2",members:[{"_id":0,"host":"10.105.33.6:27017,","priority":2},{"_id":1,"host":",10.247.40.202:27017","priority":1},{"_id":2,"host":"10.131.158.204:27017","arbiterOnly":true}]}

rs.initiate(config)

 

添加分片

use admin

db.runCommand({addshard:"shard2/10.105.33.6:27017,10.247.40.202:27017,10.131.158.204:27017",name:"shard2",maxsize:20480})

 

db.runCommand({addshard:"shard4/10.105.49.216:27017,10.131.185.59:27017,10.131.224.105:27017",name:"shard4",maxsize:0})

 

db.runCommand({enablesharding : "lbstest"})

db.runCommand({"shardCollection":"lbstest.test",key:{"line_way":1,"user_id":1}})

 

db.runCommand({listshards:1});

 

 

地理信息库测试

use lbstest;

db.test.ensureIndex({“location”:”2d”})

db.test.ensureIndex({“location”:” 2dsphere”})

db.test.ensureIndex({"line_way":1})

db.test.ensureIndex({"user_id":1})

db.test.ensureIndex({"line_way":1,"user_id":1});

db.test.insert({"user_id":3,"location":{"lat":22.111,"long":33.222},"target":"t3","line_way":"xiamen_2_zhangzhou"});

 

 

mongo c++驱动

下载mongo驱动

下载boost库

 

sh bootstrap.sh

sudo ./b2 --with-filesystem  --with-regex --with-system --with-thread --with-signals --with-regex install

 

mongo c++驱动安装

sudo yum install scons openssl-devel libgsasl libgsasl-develcyrus-sasl cyrus-sasl-devel

 

进入mongo驱动库

sudo scons --prefix=/opt/mongo-driver --ssl  --use-sasl-client  install

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Java 连接 MongoDB,不一定非得使用 MongoDB 的 Java 驱动。我们还可以使用其他的 Java 驱动,比如 Morphia、Spring Data MongoDB 等。不过,本文主要介绍 MongoDB 的 Java 驱动方式。 1.添加依赖 首先,我们需要在项目中添加 MongoDB 的 Java 驱动依赖。如果是 Maven 项目,可以在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.12.5</version> </dependency> ``` 如果是 Gradle 项目,可以在 build.gradle 文件中添加以下依赖: ```gradle implementation 'org.mongodb:mongodb-driver:3.12.5' ``` 2.连接 MongoDB 要连接 MongoDB,我们需要使用 MongoClient 对象。MongoClient 是 MongoDB 的 Java 驱动中最基本的对象,它负责与 MongoDB 的服务器建立连接。 在 Java 中,连接 MongoDB 的代码如下: ```java MongoClient mongoClient = new MongoClient("localhost", 27017); ``` 其中,"localhost" 表示 MongoDB 的服务器地址,27017 表示 MongoDB 的服务器端口号。如果 MongoDB 的服务器运行在本地,并且端口号为默认的 27017,那么可以省略这两个参数,直接使用以下代码: ```java MongoClient mongoClient = new MongoClient(); ``` 3.获取数据库 连接成功后,我们需要获取 MongoDB 中的一个数据库。在 MongoDB 中,数据库是由集合(Collection)组成的。 在 Java 中,获取 MongoDB 中的一个数据库的代码如下: ```java MongoDatabase database = mongoClient.getDatabase("test"); ``` 其中,"test" 表示数据库的名称。 4.获取集合 获取数据库之后,我们需要获取其中的一个集合。在 MongoDB 中,集合相当于关系型数据库中的表。 在 Java 中,获取 MongoDB 中的一个集合的代码如下: ```java MongoCollection<Document> collection = database.getCollection("users"); ``` 其中,"users" 表示集合的名称。 5.插入文档 获取集合之后,我们可以向其中插入文档。在 MongoDB 中,文档相当于关系型数据库中的记录。 在 Java 中,插入文档的代码如下: ```java Document document = new Document("name", "John Doe") .append("age", 30) .append("email", "johndoe@example.com"); collection.insertOne(document); ``` 其中,"name"、"age"、"email" 分别表示文档中的字段名和对应的值。 6.查询文档 插入文档之后,我们可以从集合中查询文档。在 MongoDB 中,查询文档的方式有很多种,可以使用比较运算符、逻辑运算符、正则表达式等方式。 在 Java 中,查询文档的代码如下: ```java Document query = new Document("name", "John Doe"); FindIterable<Document> documents = collection.find(query); for (Document document : documents) { System.out.println(document); } ``` 其中,"name" 表示查询条件,"John Doe" 表示查询条件的值。查询结果会返回一个迭代器,我们可以使用 for 循环遍历迭代器并输出查询结果。 以上是使用 Java 连接 MongoDB 的基本方法。如果需要更多高级功能,比如聚合查询、索引、分片等,可以参考 MongoDB 的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值