系统版本Ubuntu 16.04.5
先安装libcurl3
sudo apt-get install libcurl3 openssl
mongo下载地址 https://www.mongodb.com/try/download/community
这里选择tgz包下载安装方式;
下载完成放到 /data 目录下,并解压
tar -xzvf mongodb-linux-x86_64-ubuntu1604-4.4.2.tgz
分别创建三个目录
mkdir -p /data/db{1,2,3}
分别在db1、db2、db3目录下创建mongod.conf文件,下面标红的对应需求修改
systemLog:
destination: file
path: /data/db1/mongod.log #log path
logAppend: true
storage:
dbPath: /data/db1 #data directory
net:
bindIp: 0.0.0.0
port: 28017 #port
replication:
replSetName: rs0
processManagement:
fork: true
配置环境变量
1 | vi /etc/profile |
使立即生效
1 | source /etc/profile |
输入mongod,显示如下表示配置成功
分别启用mongo
mongod -f /data/db1/mongod.conf
mongod -f /data/db2/mongod.conf
mongod -f /data/db3/mongod.conf
启动后,查看三个已启动
查看当前主机名 hostname -f
连接第一个mongo
mongo --port 28017
rs.status() 查看状态
rs.initiate()
rs.status() 查看状态,治理只有一个节点
分别加入两个节点,其中 test8为hostname -f 查询显示的名称
rs.add("test8:28018")
rs.add("test8:28019")
再次使用 rs.status() 查看状态,发现已经存在3个节点
在主节点插入
db.test.insert({a:1})
db.test.insert({a:2})
可以在从节点查看到对应数据
进入从节点
mongo --port 28018
和
mongo --port 28019
如果报以下错误,表示没有开启权限,输入rs.slaveOk() 就可以了
NotPrimaryNoSecondaryOk
以上就是简单的主从复制建立过程,现在已经可以在从服务器看到主服务器插入的数据了。
删除节点:
rs.remove('ip:port')
当前共有 0 条评论