本文共 2260 字,大约阅读时间需要 7 分钟。
MongoDB 是一个基于分布式文件存储的高性能数据库,由 C++ 语言编写,旨在为 Web 应用提供灵活、高扩展的数据存储解决方案。作为介于关系数据库和非关系数据库之间的产品,MongoDB 在非关系数据库中功能最为丰富,最像关系数据库。
MongoDB 的副本集机制通过多个节点协同工作,确保数据的高可用性和可扩展性。副本集由主节点(Primary)、备用节点(Secondary)和仲裁节点(Arbiter)组成。
本次实验采用一台服务器部署 MongoDB 3.4.1 版本。线上环境建议至少使用三台服务器,分别担任主节点、备用节点和仲裁节点。以下是部署步骤:
通过官网下载 MongoDB 可能较为复杂,建议关注“运维家”公众号,回复“mongodb”获取下载链接。
$ cd /home/yunweijia/mongodb$ ./master/bin/mongod -f master/conf/mongodb.conf
为每个节点创建相应的配置文件:
dbpath=/home/yunweijia/mongodb/master/datalogpath=/home/yunweijia/mongodb/master/log/mongodb.logpidfilepath=/home/yunweijia/mongodb/master/master.piddirectoryperdb=truelogappend=truereplSet=testrsbind_ip=0.0.0.0port=27017oplogSize=10000fork=truenoprealloc=true
dbpath=/home/yunweijia/mongodb/slave/datalogpath=/home/yunweijia/mongodb/slave/log/mongodb.logpidfilepath=/home/yunweijia/mongodb/slave/slave.piddirectoryperdb=truelogappend=truereplSet=testrsbind_ip=0.0.0.0port=28018oplogSize=10000fork=truenoprealloc=true
dbpath=/home/yunweijia/mongodb/arbiter/datalogpath=/home/yunweijia/mongodb/arbiter/log/mongodb.logpidfilepath=/home/yunweijia/mongodb/arbiter/arbiter.piddirectoryperdb=truelogappend=truereplSet=testrsbind_ip=0.0.0.0port=29019oplogSize=10000fork=truenoprealloc=true
分别启动主节点、备用节点和仲裁节点:
$ ./master/bin/mongod -f master/conf/mongodb.conf$ ./slave/bin/mongod -f slave/conf/mongodb.conf$ ./arbiter/bin/mongod -f arbiter/conf/mongodb.conf
通过主节点执行以下命令创建副本集:
$ ./master/bin/mongo 192.168.112.130:27017use admindb.admin.command('rs.initiate', { replSet: 'testrs', members: [ { _id: 0, host: '192.168.112.130:27017', priority: 2 }, { _id: 1, host: '192.168.112.130:28018', priority: 1 }, { _id: 2, host: '192.168.112.130:29019', arbiterOnly: true } ] })
rs.status()
检查状态。replSet
名称与配置一致。到此,MongoDB 在 Linux 环境下的安装与部署完成。后续文章将介绍 MongoDB 的核心命令使用方法。
转载地址:http://fdkfk.baihongyu.com/