linux安装mongodb副本集

本文仅为个人安装记录

l**

inux安装mongodb副本集

**

1,下载mongodb压缩包,地址为:https://www.mongodb.com/download-center/community
由于没看到centos操作系统的,下载了RHEL的
2,解压到三台服务器上,本人装到了一台服务器上,命令 tar -zxvf +压缩文件名
3,在mongodb目录添加文件 mongodb.conf , 到mongodb目录下输入touch mongodb.conf命令,即创建了配置文件
4,创建日志及数据存放的文件夹,mkdir -p /home/tecom/xyapp/mongodb-1/data
mkdir -p /home/tecom/xyapp/mongodb-1/log 并给文件夹赋予权限 chmod 777 data , chmod 777 log
5,修改环境变量,vim /etc/profile 将如下配置加入并保存
export PATH=/home/tecom/xyapp/mongodb-1/bin:$PATH
6,执行source /etc/profile 让环境变量生效
7,修改mongodb配置文件mongodb.conf,配置如下:
systemLog:
destination: file #指定是一个文件
path: /mongodb/log/mongod.log #日志存放的位置
logAppend: true #日志追加到文件

net:
port: 27017 #端口
bindIp: 0.0.0.0 #表示任何IP都能链接 绑定ip地址访问mongodb,多个ip逗号分隔

processManagement:
fork: true #以守护进程的方式运行MongoDB,后台运行
pidFilePath: /mongodb/mongodb.pid #pid文件路径

storage:
dbPath: /mongodb/data #数据文件存放位置
journal:
enabled: true #记录操作日志,防止数据丢失
directoryPerDB: true #指定存储每个数据库文件到单独的数据目录
engine: wiredTiger #数据引擎
wiredTiger:
engineConfig: #WT引擎配置
cacheSizeGB: 1 #默认1G或者系统内存的一半,WT占用的内存
statisticsLogDelaySecs: 0 # 每隔1s记录一次WT的统计信息,0表示不记录
journalCompressor: snappy #journal日志的压缩算法
directoryForIndexes: true #索引是否按数据库名进行单独存储
collectionConfig:
blockCompressor: snappy #集合数据的压缩方式,选项同WT的journal数据
indexConfig:
prefixCompression: true #在WT的索引和集合数据文件名前加前缀,默认值为true

operationProfiling:
slowOpThresholdMs: 200 #单位毫秒,同slowms
mode: “slowOp” #[‘off’, ‘slowOp’, ‘all’] 分别表示’不记录’、‘记录慢日志’、‘所有日志’

#security:
#keyFile: /home/mongo/mongodb/mongodb_keyfile
#clusterAuthMode: “keyFile”
#authorization: enabled #开启用户认证

replication:
oplogSizeMB: 512 # 日志大小 单位是MB。mongo的副本集是采用oplog日志来记录写操作。默认情况下,64位机器的oplog占磁盘的5%。
replSetName: repl_1 #“复制集”的名称,复制集中的所有mongd实例都必须有相同的名字,sharding分布式下,不同的sharding应该使用不同的replSetName。仅对mongod有效
secondaryIndexPrefetch: all #指定副本集成员在接受oplog之前是否加载索引到内存。默认会加载所有的索引到内存。none不加载;all加载所有;_id_only仅加载_id

用户认证安装的时候建议不要开启,要不然所有的操作都需要身份认证,而且没法创建有身份认证的用户。

8,启动mongodb
/home/tecom/xyapp/mongodb-1/bin/mongod -f /home/tecom/xyapp/mongodb-1/mongodb.conf

9,连接mongodb,进入bin目录,执行 ./mongo 192.168.10.32:27017
10,创建用户,只有进入admin库才算创建管理员用户
use admin
show dbs
db.createUser( { user: “root”, pwd: “root”, roles: [ “root” ] })

11,添加副本集配置
config={ _id:“repl_1”, members:[
{_id:0,host:‘192.168.10.32:27017’,priority:2},
{_id:1,host:‘192.168.10.32:27018’,priority:1},
{_id:2,host:‘192.168.10.32:27019’,arbiterOnly:true}]
}
并对副本集进行初始化:
rs.initiate(config)

12,查看副本集状态
rs.status()

13,副本集测试
for(var i=0;i<1000;i++){db.customer.insert({“name”:“user”+i})}
然后查看是否写入这么多
db.customer.count()
然后再到Secondary上查看客户数据是否已经同步
rs.slaveOk()
db.customer.count()
如果也显示1000,则表示已同步

14,对应的数据库创建用户
db.createUser(
{
user: “xy_gj”,
pwd: “test”,
roles: [ { role: “readWrite”, db: “db3” } ]
}
)

数据库的角色不能赋予root,我给了一个读写角色

添加副本集及其他的操作,祥见:
https://blog.csdn.net/pengjunlee/article/details/84101732

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值