首页 > 其他分享 >mongdo5副本集部署(1主2从)

mongdo5副本集部署(1主2从)

时间:2023-07-26 13:44:07浏览次数:34  
标签:副本 middle 部署 mongodb test services mongdo5 home root

环境:
OS:CentOS 7
DB:5.0.19

机器角色:
192.168.1.105:29001 主
192.168.1.106:29001 从1
192.168.1.107:29001 从2

 

1.下载相应的版本
https://www.mongodb.com/download-center/community
我这里下载的是 mongodb-linux-x86_64-rhel70-5.0.19.tgz

2.创建安装目录
每个节点都创建如下目录
[root@test services]# mkdir -p /usr/local/services
[root@test services]# mkdir -p /home/middle/mongodb/data
[root@test services]# mkdir -p /home/middle/mongodb/log
[root@test services]# mkdir -p /home/middle/mongodb/key
[root@test services]# mkdir -p /home/middle/mongodb/conf
[root@test services]# mkdir -p /home/middle/mongodb/run

 

3.安装数据库
每台机器都做同样的操作
[root@test soft]# tar -xvf mongodb-linux-x86_64-rhel70-5.0.19.tgz
[root@test soft]# mv mongodb-linux-x86_64-rhel70-5.0.19 /usr/local/services/mongodb

 

4.产生秘钥验证
在其中一个机器上创建秘钥文件,我这里是在192.168.1.105上操作
[root@test key]# cd /home/middle/mongodb/key
[root@test key]# openssl rand -base64 741 >>keyfile
[root@test key]# chmod 700 keyfile

加个keyfile拷贝到另外的两个节点相应的目录
scp keyfile [email protected]:/home/middle/mongodb/key/
scp keyfile [email protected]:/home/middle/mongodb/key/

 

5.生成日志文件(配置文件中指定了,提前创建)
每台机器上都执行
[root@test key]#echo>/home/middle/mongodb/log/mongodb.log

 

6.创建配置文件 mongo.cnf
vi /home/middle/mongodb/conf/mongo.cnf

port=29001
fork=true
dbpath=/home/middle/mongodb/data
logpath=/home/middle/mongodb/log/mongodb.log
pidfilepath=/home/middle/mongodb/run/29001.pid
logappend=true
shardsvr=true
replSet=myrepl
bind_ip=192.168.1.105,127.0.0.1
oplogSize=16384 ##默认单位是MB,这里给16GB
logRotate=reopen
##keyFile=/home/middle/mongodb/key/keyfile
##auth=true

每个节点都创建配置参数,修改相应的ip项即可
这里keyFile和auth先注释,因为等部署完初始化完集群后再启用

 

7.启动
每个节点都执行
[root@test key]# /usr/local/services/mongodb/bin/mongod -f /home/middle/mongodb/conf/mongo.cnf

 

8.初始化副本集
[root@localhost bin]# /usr/local/services/mongodb/bin/mongo 192.168.1.105:29001
use admin
config={_id:'myrepl',members:[{_id:0,host:'192.168.1.105:29001'},{_id:1,host:'192.168.1.106:29001'},{_id:2,host:'192.168.1.107:29001'}]}
rs.initiate(config)

 

到这里就完成了不需要带认证的副本集部署,下面的部署我们继续配置带认证的.

 

9.创建用户
在主节点上(我这里是节点1)上创建管理员账号test
[root@localhost bin]# /usr/local/services/mongodb/bin/mongo 192.168.1.105:29001
use admin
db.createUser({user:"test",pwd:"test123",roles:["root"]}); --创建用户
db.auth("test","test123");                                                  --设置用户登陆权限,密码一定要和创建用户时输入的密码相同
show users;                                                                      --查看创建的用户

 

10.重启动服务
每个节点都执行
关闭顺序:从节点-->主节点
/usr/local/services/mongodb/bin/mongo localhost:29001
use admin
db.shutdownServer()

##将之前注释掉的认证去掉注释后重启动服务
keyFile=/home/middle/mongodb/key/keyfile
auth=true

启动
启动顺序:主节点-->从节点
/usr/local/services/mongodb/bin/mongod -f /home/middle/mongodb/conf/mongo.cnf


11.这个时候就需要密码登录了
[root@localhost bin]# /usr/local/services/mongodb/bin/mongo 192.168.1.105:29001
myrepl:PRIMARY> use admin
switched to db admin
myrepl:PRIMARY> db.auth("test","test123");
1

 

12.创建普通账号
[root@localhost conf]# /usr/local/services/mongodb/bin/mongo 192.168.1.105:29001
myrepl:PRIMARY> use admin
switched to db admin
myrepl:PRIMARY> db.auth("test","test123");
myrepl:PRIMARY>use db_pushmsg
myrepl:PRIMARY>db.createUser({user:'hxl',pwd:'hxl123',roles:[{role:'dbOwner',db:'db_pushmsg'}]})

开发人员就可以使用账号hxl操作数据库db_pushmsg了.

 

标签:副本,middle,部署,mongodb,test,services,mongdo5,home,root
From: https://www.cnblogs.com/hxlasky/p/17582238.html

相关文章

  • 一键部署docker容器的shell脚本(美化的脚本输出)
    脚本功能:停止原有容器,按照用户传入的参数启动新的容器使用系统自带的方法需要安装依赖yuminstallredhat-lsbvidocker-deploy.sh#!/bin/bashlsb_functions="/lib/lsb/init-functions"iftest-f$lsb_functions;then.$lsb_functionselseinit_functions="/etc/......
  • Docker minIO部署
    dockerrun-it-p8888:8888-d\--net=host\--nameminio\--restart=always\-e"MINIO_ROOT_USER=<username>"\-e"MINIO_ROOT_PASSWORD=<password>"\-v/home/mi......
  • kubernetes 1.20版本 二进制部署
    kubernetes1.20版本二进制部署目录kubernetes1.20版本二进制部署1.前言2.环境准备2.1机器规划2.2软件版本3.搭建集群3.1机器基本配置3.1.1修改主机名3.1.2配置hosts文件3.1.3关闭防火墙和selinux3.1.4关闭交换分区3.1.5时间同步3.1.6修改内核参数3.1.7加载ipvs......
  • Ubuntu 部署 nvidia-docker
    1)安装nvidia显卡驱动2)安装Docker参考:Docker清华源,DaocloudDocker极速下载$exportDOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"$curl-sSLhttps://get.daocloud.io/docker|sh修改Docker镜像服务器{"runtimes":{"nvidia&qu......
  • SRS 流媒体服务器部署及设计思路和一些想法
    1、参考地址SRSgithub地址:https://github.com/ossrs/srs自带的信令github地址:https://github.com/ossrs/signaling#usage中文文档:https://ossrs.net/lts/zh-cn/docs/v4/doc/introduction2、环境部署我是在centos上使用的源码编译模式,官方还提供了docker模式的,看文档中有介......
  • Docker部署项目
    docker部署Springboot项目主要分为两步吧1、在打包之前需要修改配置文件,将数据库改为虚拟机的地址端口号自定,如下:①先安装MySQL的镜像dockerpullmysql:8.0.26安装成功后可以通过dockerimages查看mysql是否安装成功至于安装速度缓慢的问题,可以采用阿里云的镜像加速,这......
  • ubuntu22.04部署mysql---主从
    1、首先部署mysql主服务:详见上一篇《ubuntu22.04部署mysql---单机》https://blog.51cto.com/u_14175560/6766135上述部署好后,主节点server_id:vim/etc/mysql/my.cnf##新增配置:[mysqld]server_id=1重启mysql:systemctlrestartmysql登录mysql,指定从节点IP,运行下述(注意修改......
  • 代理IP的扩展和分布式部署策略​
    代理IP的扩展和分布式部署策略在如今信息爆炸的时代,网络抓取已经成为许多行业中必不可少的一环。而要进行网络抓取,使用代理IP是一种常见的方式。然而,在应对大规模数据爬取的需求时,我们需要考虑代理IP的扩展和分布式部署策略,以提高网络抓取的稳定性和效率。本文将向您介绍一些关键策......
  • 模型部署 — PaddleNLP 基于 Paddle Serving 快速使用(服务化部署 - Docker)— 图像识别
    目录流程版本安装Docker安装PaddleNLP安装环境准备模型准备压缩模型下载模型模型部署环境配置启动服务测试--暂时还没通过重启图像识别+信息抽取(UIE-X),部署接口供别的应用调用最终在自己部署的环境中识别时报错,不知道是不是和GPU有关,还在尝试中流程在百度BMLCodeLab......
  • 分布式存储在云环境下的应用和部署
    随着互联网数据规模越来越大,并发请求越来越高,传统的关系数据库系统在性能、价格、可扩展性方面已经不能很好地满足需求。谷歌、亚马逊等互联公司率先在后台基础设施中引入超大规模分布式存储系统,用来解决海量数据的存储问题。与传统的集中式存储技术不同,分布式存储没有将数据存储在......