ps auxf|grep mongo |grep -v grep|xargs kill -9 杀死所有redis的进程
优雅的关机:
第一种方式 use admin db.shutdownServer()
第二种方式 mongod --shutdown -f mongodb.conf (service mongodb start)
1:把下载的解压包解压到mongoha目录下,复制并且改写为node1。
注意:node2,node3是复制node1的
2:mkdir -p mongodb/{db,log} 创建2个目录
3:在node1目录下执行 vim mgdb.conf 创建并配置为如下:
replication:
replSetName: configRS
oplogSizeMB: 50
storage:
dbPath: "/usr/local/soft/mongoha/node1/db/"
systemLog:
destination: file
path: "/usr/local/soft/mongoha/node1/logs/mongodb.log"
net:
port: 27017
bindIp: 127.0.0.1,192.168.42.100
processManagement:
fork: true
setParameter:
enableLocalhostAuthBypass: false
注:doPath和path路径不要写错了,不然会报fork有问题。
4:复制node1 为 node2 node3
vim mgdb.conf 中的端口号分别为: port: 27018 port: 27019就行了
5:如果DB目录下有文件就先清除,再启动3个服务:
分别执行以下命令:
rm -rf /usr/local/soft/mongoha/node1/db/*
rm -rf /usr/local/soft/mongoha/node2/db/*
rm -rf /usr/local/soft/mongoha/node3/db/*
/usr/local/soft/mongoha/node1/bin/mongod --config /usr/local/soft/mongoha/node1/mgdb.conf &
/usr/local/soft/mongoha/node2/bin/mongod --config /usr/local/soft/mongoha/node2/mgdb.conf &
/usr/local/soft/mongoha/node3/bin/mongod --config /usr/local/soft/mongoha/node3/mgdb.conf &
6. 在主节点配置 1): 链接上 mongo --port 27017 2): 在 primary 节点切换到 admin 库上运行可复制集的初始化命令,初始化可复制集,命令如下: 注意:是一条一条的执行: use admin;
rs.initiate({
_id: "configRS",
version: 1,
members: [{
_id: 0,
host: "192.168.42.100:27017"
}]
});
rs.add("192.168.42.100:27018"); //有几个节点就执行几次方法
rs.add("192.168.42.100:27019");
rs.add("192.168.42.101:27019"); // 其它的机器也是一样整 rs.remove("192.168.42.101:27019");
-----------------------
添加仲裁节点,仲裁节点不存储数据
rs.addArb("121.40.42.216:27019")
-----------------------
在每个节点运行 rs.status() 或 isMaster() 命令查看复制集状态; 测试数据复制集效果; 测试故障失效转移效果; Tips: 只能在主节点查询数据 , 但如果想在副节点查询到数据需运行 rs.slaveOk();
启动时报错,大部分都是mgdb.conf的路径等有问题,赋值前面还得有个空格,如下: