前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux安装MongoDB分片集群

linux安装MongoDB分片集群

原创
作者头像
玖叁叁
发布2023-04-14 22:02:24
1.2K0
发布2023-04-14 22:02:24
举报
文章被收录于专栏:玖叁叁玖叁叁

安装MongoDB

在开始部署MongoDB分片集群之前,需要在每台服务器上安装MongoDB。您可以按照MongoDB官方文档提供的指南来安装MongoDB。这里提供一个简单的步骤:

添加MongoDB软件源

代码语言:javascript
复制
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update

安装MongoDB

代码语言:javascript
复制
sudo apt-get install -y mongodb-org

配置MongoDB

在安装MongoDB之后,需要进行一些配置。MongoDB分片集群需要三个配置服务器和至少两个数据分片服务器。以下是配置MongoDB的步骤:

创建数据目录和配置目录

代码语言:javascript
复制
mkdir -p /data/configdb1
mkdir -p /data/configdb2
mkdir -p /data/configdb3
mkdir -p /data/shard1
mkdir -p /data/shard2

配置分片服务器

在每台数据分片服务器上启动MongoDB实例:

代码语言:javascript
复制
mongod --shardsvr --replSet shard1 --dbpath /data/shard1 --port 27017 --bind_ip 192.168.1.1
mongod --shardsvr --replSet shard2 --dbpath /data/shard2 --port 27018 --bind_ip 192.168.1.2

在每个数据分片服务器上都需要执行此命令。

接下来,初始化每个副本集并添加成员:

代码语言:javascript
复制
mongo --port 27017
rs.initiate()
rs.add("192.168.1.1:27017")
rs.add("192.168.1.2:27018")

配置配置服务器

在每个配置服务器上启动MongoDB实例:

代码语言:javascript
复制
mongod --configsvr --replSet configReplSet --port 27019 --dbpath /data/configdb1 --bind_ip 192.168.1.3
mongod --configsvr --replSet configReplSet --port 27019 --dbpath /data/configdb2 --bind_ip 192.168.1.4
mongod --configsvr --replSet configReplSet --port 27019 --dbpath /data/configdb3 --bind_ip 192.168.1.5

接下来,初始化配置副本集并添加成员:

代码语言:javascript
复制
mongo --port 27019
rs.initiate()
rs.add("192.168.1.4:27019")
rs.add("192.168.1.5:27019")

配置路由器

在单独的服务器上启动mongos::

代码语言:javascript
复制
mongos --configdb configReplSet/192.168.1.3:27019,192.168.1.4:27019,192.168.1.5:27019 --port 27020 --bind_ip 192.168.1.6

mongos将运行在192.168.1.6上,该服务器必须可以访问所有数据分片和配置服务器。

配置路由规则

使用mongo shell连接到mongos:

代码语言:javascript
复制
mongo --port 27020

接下来,添加数据分片:

代码语言:javascript
复制
sh.addShard("shard1/192.168.1.1:27017,192.168.1.2:27018")
sh.addShard("shard2/192.168.1.1:27017,192.168.1.2:27018")

然后,定义分片键和集合:

代码语言:javascript
复制
sh.enableSharding("test")
sh.shardCollection("test.users", {"_id": "hashed"})

现在,您已经完成了MongoDB分片集群的配置。您可以尝试使用mongo shell连接到mongos并执行一些基本操作。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装MongoDB
    • 添加MongoDB软件源
      • 安装MongoDB
      • 配置MongoDB
        • 创建数据目录和配置目录
          • 配置分片服务器
            • 配置配置服务器
            • 配置路由器
            • 配置路由规则
            相关产品与服务
            云数据库 MongoDB
            腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
            http://www.vxiaotou.com