1、 安装mongodb
1)安装mongodb服务端
rpm -ivh mongodb-org-server-4.4.6-1.el8.x86_64.rpm
2)安装mongodb客户端
tar -zxvf mongodb-shell-linux-x86_64-rhel80-4.4.6.tgz
3)将解压出来的文件拷贝到/usr/local/下
cp -a mongodb-linux-x86_64-rhel80-4.4.6 /usr/local/mongodb
2、 配置配置项文件
1) 生成文件
在/usr/local/mongodb下生成logs、data、config三个文件夹,并在logs下生成mongodb.log文件,在data下生成dbdata文件夹,config下生成mongodb.conf文件
mkdir logs data/dbdata config && touch logs/mongdb.log config/mongodb.conf
2) 修改mongodb.conf文件
添加
bind_ip=0.0.0.0 # 绑定客户端访问ip
dbpath = /usr/local/mongodb/data/db #数据存储路径
logpath = /usr/local/mongodb/logs/dblogs # 日志路径
logappend = true # 以追加的方式写入日志
pidfilepath = /usr/local/mongodb/mongodb.pid # 进程文件,方便停止mongodb
directoryperdb = true # 为每个数据库按照数据库名建立文件夹保存
replSet=rep0 # replication set 的名字
auth=false # auth认证
enableMajorityReadConcern= true # 读关注等级为majority,意为大多数节点存在该数据时返回
maxConns=5000 # 最长连接时间
#journal=true # 开启用于数据故障恢复(journal会另外使用一块内存区域,journal一般默认100ms刷新一次,它以日志方式来记录)和持久化数据,对于数据比较重要的建议开启,数据不重要的不建议开启(因为会使用更多内存)
port = 27017 # 端口
fork = true # 是否以守护进程方式运行
#nohttpinterface = true # 开启http访问
保存后退出
3) 启动mongodb
执行mongodb -f /usr/local/mongodb/config/mongodb.conf 来启动mongodb
3、 集群构建
1)通过进入bin目录下执行./mongo进入mongodb数据库中
2)执行use admin切换数据库,之后执行:config_repl={_id:“rep0”,members:[{_id:0,host:“{ip1}:27017”,priority:1},{_id:1,host:“{ip2}:27017”}, {_id:2,host:“{ip3}:27017”,aribiterOnly:true}]}
此操作为:设置ip1的ID为0,主节点;设置ip2的ID为1,副节点;设置ip3的ID为2,仲裁节点
执行rs.initiate(config_repl)初始化操作
4) 执行完成后可通过rs.status()查看具体信息
注:mongodb分为三个角色,主节点(primary)、仲裁节点(albiter)、副节点(secondary),仲裁节点不负责数据存储,只负责在主节点挂掉时候的选举操作,副节点默认不支持读写操作,如果需要查看,则需要在副节点上执行rs.secondary(),之后才能执行读写操作。
如果执行失败,可以先剔除仲裁节点进行集群构建,构建完成后再执行:rs.addArb(“host:port”)添加仲裁节点
rs.add(“host:port”)添加从节点
rs.addArb(“host:port”)添加仲裁节点
rs.remove(“host:port”)移除节点