Linux/Ubuntu 搭建mongodb集群(副本集)
1、配置三台虚拟机的ip以及主机名):
192.168.56.101 S1
192.168.56.102 S2
192.168.56.103 S3
创建目录日志文件等:
mkdir -p /data/mong/{log,db,key}
touch /data/mongo/log/mongodb.log
192..168.56.101 中:
cd /data/mongo/key
生成key文件
#openssl rand -base64 756 > mongo.key
分配权限
chmod 400 mongo.key
一般的docker中的mong用户id是999
chown 999.999 mongo.key
将 mongo.key 文件发送到其它两台服务器上,用于复制集成员之间的验证。文件必须保持一致,否者验证失败
将192.168.56.101的key文件传送到192.168.56.102和192.168.56.103的/data/mongo/key下
2、修改mongod.conf配置文件中的副本集名称(注意空格)
dbpath = /data/mongo/db
#日志文件存放目录
logpath = /data/mongo/log/mongodb.log
#默认端口27017
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许远程连接,127.0.0.1只允许本地连接
bind_ip=127.0.0.1,192.168.56.101
#是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
auth = true
replSet = mongo_rep
#fork = true
keyFile=/data/mongo/key/mongo.key
3、副本集初始化
先在主节点初始化,登录mongo
>use admin
>config = {_id:"mongo_rep", version:1, members:[{_id:0, host:"192.168.56.101:27017", priority:6}, {_id:1, host:"192.168.56.102:27017", priority:3}, {_id:2, host:"192.168.56.103:27017", priority:2}]}
#初始化
>rs.initiate()
选举primary要等一会
出现“ok”:1表示主节点初始化成功,成功后会出现primary(没出现就等几秒后按回车),若出现“ok”:0则表示错误,错误的原因可能会有很多
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2022-05-06 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
2022-05-06 docker 修改映射的端口号
2022-05-06 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
2021-05-06 源码安装redis