mongodb 集群配置

官网下载
https://www.mongodb.com/try/download/community
mongodb-linux-x86_64-rhel70-4.4.6.tgz
tar -zvxf mongodb-linux-x86_64-rhel70-4.4.6.tgz
mv mongodb-linux-x86_64-rhel70-4.4.6  /usr/local/mongodb
这个是编译安装好的   直接可以拿来用

如果需要编译安装则需要安装基础软件包
yum install net-tools bind-utils -y
 yum install vim wget lsof gcc gcc-c++ bzip2 -y

配置本地域名解析
node1 192.168.184.170   主
node2 192.168.184.171   备
node3 192.168.184.172   仲裁

设置环境变量
vim /etc/profile

MONGODB_HOME=/usr/local/mongodb
PATH=$MONGODB_HOME/bin:$PATH
export MONGODB_HOME

刷新并查看版本
source /etc/profile
mongod -version

创建需要的文件夹和文件
mkdir -p /usr/local/mongodb/conf
mkdir -p /usr/local/mongodb/log
mkdir -p /usr/local/mongodb/data
vim /usr/local/mongodb/conf/mongodb.conf

port=27017
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongodb.log
logappend=true
fork=true
replSet=rep0
auth=false
maxConns=5000
bind_ip=0.0.0.0

设置服务
vim /lib/systemd/system/mongodb.service

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/mongodb/data/mongod.lock
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

设置开机启动和刷新
systemctl enable mongodb.service
systemctl daemon-reload
systemctl start mongodb.service

另外两台做同样配置,好做集群,以上单节点完成

初始化复制集

启动三个节点的mongodb服务后,开始把它们初始化为副本集。
在想设置primary的节点node1上初始化复制集rep0
命令如下:
config_repl={_id:"rep0", members:[{_id:0, host:"node1:27017", priority:1}, {_id:1, host:"node2:27017"}, {_id:2, host:"node3:27017", arbiterOnly:true}]}
rs.initiate(config_repl);
正常初始化复制集之后,可以看到: 
node1节点变更为PRIMARY
node2节点变更为SECONDARY
node3节点变更为ARBITER(仲裁节点)。
可以通过rs.status()查看详情

数据同步一些指令

创建数据库,如果存在则是进入数据库
use haha      
插入数据                                        
db.say.insert({"text":"Hello youqu"}) 
查看数据         
db.say.find()                                            
副节点默认不能读写,需要设置
rs.slaveOk()
删除匹配到的第一条记录,即使匹配到多个也只删一条
db.say.deleteOne({"test" : "hello Yang" })?
删除所有符合条件的文档
db.say.deleteMany({"test" : "hello Yang" })?  
关闭节点
use admin    
db.shutdownServer()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值