当前位置: 首页 > news >正文

mongodb一个服务器部署多个节点

前情提要

真实部署环境是机房环境,不能携带手机,所以需要进行提前演练,我使用的docker镜像的方式进行构建。docker的环境搭建详见:两台服务器搭建三个节点-CSDN博客

mongodb的安装

加载指定的依赖文件

# 删除容器

docker stop demo-container
docker rm demo-container

# 使用镜像重新启动容器
docker run -itd --name demo-container   --privileged   --volume /sys/fs/cgroup:/sys/fs/cgroup:ro   kylin-with-systemd:v10-sp3   /usr/lib/systemd/systemd
# copymongodb的安装包
docker cp mongodb-4.4.6-1.ky10.aarch64.rpm  demo-container:/home
docker cp mongodb-svc-1.0-1.ky10.noarch.rpm  demo-container:/home
docker cp init-mongo.js demo-container:/home
# 进入容器
docker exec -it demo-container bash

rpm包的安装

cd /home

rpm -ivh mongodb-4.4.6-1.ky10.aarch64.rpm

# 这个是自己定义的启动文件及配置文件,没有也没关系,不影响使用

rpm -ivh mongodb-svc-1.0-1.ky10.noarch.rpm

配置文件的配置

vim /opt/mongodb-4.4.6/mongodb3.conf

systemLog:
  destination: file
  # 指定第二个实例的日志路径
  path: /var/log/mongodb3/mongod.log
  logAppend: true
storage:
  # 指定第二个实例的数据目录
  dbPath: /var/lib/mongodb3
  journal:
    enabled: true
net:
  # 指定第二个实例的端口
  port: 27018
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
  # 指定第二个实例的PID文件路径
  pidFilePath: /var/run/mongodb3/mongod.pid

启动文件的配置

vim /usr/lib/systemd/system/mongodb3.service

[Unit]
Description=MongoDB3 Database Server
Documentation=https://docs.mongodb.org/manual
After=network.target

[Service]
Environment="OPTIONS=-f /opt/mongodb-4.4.6/mongodb3.conf --replSet rs0"
EnvironmentFile=-/opt/mongodb-4.4.6/bin/mongod
ExecStart=/opt/mongodb-4.4.6/bin/mongod $OPTIONS
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb3
ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb3
ExecStartPre=/usr/bin/mkdir -p /var/lib/mongodb3
ExecStartPre=/usr/bin/chmod 0755 /var/lib/mongodb3
ExecStartPre=/usr/bin/mkdir -p /var/log/mongodb3
ExecStartPre=/usr/bin/chmod 0755 /var/log/mongodb3
PermissionsStartOnly=true
PIDFile=/var/run/mongodb3/mongod.pid
Type=simple
LimitFSIZE=infinity
LimitCPU=infinity
LimitAS=infinity
LimitNOFILE=64000
LimitNPROC=64000
LimitMEMLOCK=infinity
TasksMax=infinity
TasksAccounting=false

[Install]
WantedBy=multi-user.target

启动命令

# 启动服务
sudo systemctl start mongodb3.service
# 检测服务启动情况
sudo systemctl status mongodb3.service

# 更改配置重启节点
vim /usr/lib/systemd/system/mongodb3.service
systemctl daemon-reload
sudo systemctl restart mongodb3.service

# 停止节点
sudo systemctl stop mongodb3.service
# 设置开机自启动
sudo systemctl enable mongodb3.service

集群组建

# 组建集群至少三个节点,将上面的额mongodb3 更改为 mongodb1/mongodb2. 分别更改绑定的端口号。

cd /opt/mongo-4.4.6/bin

# 进入mongodb

./mongo 127.0.0.1:27018/admin
##切换数据库 
use admin
##初始化复制集
> rs.initiate({_id:"rs0", members : [{_id:0,host:"127.0.0.1:27018"},{_id:1,host:"127.0.0.1:27019"},{_id:2,host:"127.0.0.1:27020"}]})

##查看复制集配置
> rs.conf()
##查看复制集状态
> rs.status();

如果因为没有设置replSet导致组建集群失败,启动脚本按照上述样例设置replSet即可。

http://www.dtcms.com/a/478192.html

相关文章:

  • 基金网站制作工程承包公司
  • 成都企业网站建设价格搜索引擎收录
  • 第9章:两条道路的风景:技术与管理的真实世界(4)
  • 基于frenet坐标系的规划与避障
  • 从本地到云端:Fiora+cpolar打造真正的私密社交通讯站
  • Vue Router 导航守卫
  • 技术评测丨RPA主流平台稳定性、安全与信创适配能力对比
  • 简约淘宝网站模板免费下载建立 wiki 网站
  • 【Unity】uNet游戏服务端框架(三)心跳机制
  • 二叉树的深搜
  • C++设计模式之行为型模式:模板方法模式(Template Method)
  • 做3dh春丽网站叫什么重庆十大软件公司
  • 长沙电商网站开发php开发网站后台
  • QT6中Combo Box与Combo BoxFont 功能及用法
  • 软考网工知识点-1
  • win10下Qt应用程序使用FastDDS
  • 链表相关的知识以及算法题
  • 模板网站建站步骤微信公众号和小程序的区别
  • Shell 使用指南
  • 重庆网站seo服务没效果
  • 开源项目重构我们应该怎么做-以 SQL 血缘系统开源项目为例
  • Sora2:AIGC的技术革命与生态重构
  • Modbus RTU 数据结构(发送和返回/读/写)
  • Nginx IP 透传
  • 海外IP的主要应用业务
  • 门户网站建设工序做微信网站要多少钱
  • 南阳网站优化费用推进网站 集约化建设
  • 算法训练之BFS实现FloodFill算法
  • Typescript - 枚举类型 enum,详细介绍与使用教程(快速入门)
  • 机器视觉2D贴合引导项目从哪里入手,案例知识分享