MongoDB集群搭建

MongoDB集群搭建

  • 记录一下mongo配置服务器集群的操作

服务器参数:

地址系统节点类型
172.31.252.40Centos7.6数据节点
172.31.252.41Centos7.6数据节点
172.31.252.42Centos7.6裁决节点
  yum install -y ./mongo*

1、 为每个节点服务器安装mongo-server、mongo-shell

软件包地址
mongo-serverhttps://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-server-4.2.20-1.el7.x86_64.rpm
mongo-shellhttps://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-shell-4.2.20-1.el7.x86_64.rpm

2、修改配置文件

# mongod.conf
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
    
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017			# 裁决节点可将其改为其它端口(27017)
  bindIp: 0.0.0.0		
  
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
  authorization: enabled			     # 开启授权认证,否则无法创建用户
  keyFile: /data/mongo/keyfile.key		 # 使用keyfile 进行授权认证

replication:
  replSetName: mongo
  oplogSizeMB: 100


3、启动Mongo-server,从服务器节点中选择一台开始配置集群

  • 进入服务器,打开mongo-shell
mongo

# 1、mongo 终端中输入
cfg = {
  _id: "mongo",			# 需与上述配置文件设置的replSetName保持一致
  members: [
    {
      _id: 0,
      host: '172.31.252.40:27017'
    },
    {
      _id: 1,
      host: '172.31.252.40:27017'
    },
    {
      _id: 2,
      host: '172.31.252.40:27018',arbiterOnly:true # 裁决节点参数配置
    },
  ]
}

# 2、
rs.initiate(cfg)
#返回结果为1 则表示成功,否则需根据错误内容进行排查

#之后可以查看各节点状态
rs.status()

---------------------------------------------------------------------------------------
{
	"set" : "rs_szsh",
	"date" : ISODate("2022-05-27T08:52:00.259Z"),
	"myState" : 1,
	"term" : NumberLong(2),
	"syncingTo" : "",
	"syncSourceHost" : "",
	"syncSourceId" : -1,
	"heartbeatIntervalMillis" : NumberLong(2000),
	...
  }

#输出上述内容则表示集群创建完成,

4、为集群添加keyFile 验证

所有节点需要使用同一keyfile,可任意选择一节点创建keyfile文件,并且每台服务器的keyfile文件都需要权限设置为600

mkdir -p /data/mongo && cd /data/mongo 

openssl rand -base64 765 > keyfile.key

chmod -R 600 keyfile.key

#之后将生成的keyfile复制到所有节点,并重启mongo服务

5、创建root用户

# 进入mongo-shell终端
mongo
  
#  使用admin数据库
use admin

# 创建root用户
db.createUser({
  user:"admin",
  pwd:"!@#daks2312",
  roles:[
    {role:"root",db:"admin"}
  ]
})

自此,带keyfile验证的服务器集群搭建完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值