mongodb的单机和集群安装手册

Mongodb的单机安装
1.下载镜像
docker pull mongo:latest
2.启动镜像
docker run -itd --name mongo -p 27017:27017 mongo --auth

3.进入容器
docker exec -it mongo /bin/bash

4.进入mongo
Mongodb #进入mongo shell
5.切换到admin数据库
use admin
6.创建超级用户
db.createUser({ user: ‘root’, pwd: ‘123456’ , roles: [{ role: ‘root’, db: ‘admin’ }] })
7.配置文件开启权限验证
db.auth(‘root’,‘123456’) #此时验证账号如果报错,退出重新进入即可

Mongodb集群安装一主两从
1.更改三台机器的hosts文件
vim /etc/hosts/
192.168.163.130 test0
192.168.163.131 test1
192.168.163.132 test2
2.下载容器
docker pull mongo:latest
3.运行主机容器
docker run -itd --name mongo-primary --network=host mongo --bind_ip localhost,192.168.163.130,test0 --replSet mongo-rep
4.运行从机容器
docker run -itd --name mongo-secondary1 --network=host mongo --bind_ip localhost,192.168.163.131,test1 --replSet mongo-rep
5.运行从机容器
docker run -itd --name mongo-secondary2 --network=host mongo --bind_ip localhost,192.168.163.132,test2 --replSet mongo-rep
6.连接主机容器
docker exec -it mongo bash
7.连接mongodb
mongosh
8.配置主从信息
config = {_id:“mongo-rep”, version:1, members:[{_id:0, host:“192.168.163.130:27017”, priority:6}, {_id:1, host:“192.168.163.131:27017”, priority:3}, {_id:2, host:“192.168.163.132:27017”, priority:2}]}
9.初始化配置
s.initiate(config)

10.检测是否是主机和从机
rs.isMaster()

11.当停止主机后,从机1变成主机

12.重启主机后,主机又变为主机,从机1从主机变为从机

13.遇到的问题
问题1.运行到上便第三步的时候报错,报错信息为:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting

解决办法:为升级内核
1.1添加 ELRepo仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

1.2启用仓库后,列出可用的kernel.related包
yum --disablerepo=“*” --enablerepo=“elrepo-kernel” list available

1.3接下来安装最新的稳定版内核
yum --enablerepo=elrepo-kernel install kernel-ml
1.4设置默认的启动内核 根据/boot/目录内的文件,自动创建GRUB内核配置开机选单
grub2-mkconfig -o /boot/grub2/grub.cfg

1.5查看可选的GRUB内核配置开机选单
awk -F’ ‘$1=="menuentry " {print i++ " : " $2}’ /etc/grub2.cfg

1.6通过命令指定默认的内核
grub2-set-default 0
1.7编辑/etc/default/grub文件,指定默认运行的内核版本
GRUB_DEFAULT=0
1.8重启验证
reboot
uname -r

问题2.运行到第九步初始化配置的时候报错,报错信息为:

MongoServerError: replSetInitiate quorum check failed because not all propos

解决办法是:关闭防火墙并重启三台机器
方法一:暂时关闭防火墙
systemctl stop firewalld

Reboot
方法二:永久关闭防火墙(慎用)
systemctl disable firewalld

Reboot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值