系统版本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
2
3
4
vi /etc/profile
# MongoDB 环境变量内容
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

使立即生效

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')