共计 2071 个字符,预计需要花费 6 分钟才能阅读完成。
可以到 Linux 公社资源站下载:
—————————————— 分割线 ——————————————
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2018 年资料 /11 月 / 3 日 /Ubuntu 18.04 下部署 MongoDB 复制集(副本集)/
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
—————————————— 分割线 ——————————————
切换成 root 用户
sudo su –
运行安装脚本
wget https://gitlab.com/caizhifei2003/scripts/raw/master/install/mongodb/ubuntu-1804.sh
chmod u+x ubuntu-1804.sh
./ubuntu-1804.sh
此时,可以通过 mongo 命令进入数据库
设置复制集名称
有两种方式来设置复制集的名称。一种是通过 mongod 命令,另一种是通过修改配置文件。
本文使用通过修改配置文件的方式来设置复制集名称,确保每次节点重新启动后能够使用相同的配置启动数据库。
打开 MongoDB 在 Ubuntu 上的配置文件
vim /etc/mongod.conf
找到 replication 配置节
replication:
replSetName: “rs0”
绑定 MongoDB 的 IP 地址
找到 net 配置节
net:
port: 27017
bindIp: localhost,10.140.0.5 这里是主节点的地址,相应的从节点要绑定
10.140.0.6
10.140.0.7
保存文件,重新启动 mongod 服务
service mongod restart
此时,进入到任何一个节点。查看复制集状态。
初始化复制集
通过 mongo shell 进入主节点的数据库
执行复制集初始化命令
rs.initiate({
_id : “rs0”,
members: [
{_id: 0, host: “10.140.0.5:27017”},
{_id: 1, host: “10.140.0.6:27017”},
{_id: 2, host: “10.140.0.7:27017”}
]
})
查看复制集状态
rs.status()
执行如下命令,在主节点上插入一条数据
use test
db.test.insertOne({“name”: “kenny”})
进入任何一个从节点,查看数据是否被同步。
use test
rs.slaveOk()
db.test.find()
默认情况下,MongoDB 只允许在主节点上写入和读取数据。这里的 rs.slaveOk()是为了在从节点上也读取数据而需要执行的 session(如果退出 mongo shell,需要重新执行该命令)级别的命令。
显示的内容如下:
强制关闭主节点上的 MongoDB 服务
use admin
db.shutdownServer()
在两个从节点上,通过 rs.isMaster()命令查看状态
10.140.0.6:
: