您的位置:首页 > 数据库 > Mongodb

mongodb安装-配置文件

2015-06-01 00:00 507 查看

清单:

2台节点机器+1台投票机器(因为偶数台,凑够奇数台,因为选举时,多与半数才能成功选举,如果2台,死一台,只剩一台,少于1/2,是不能正常进行选举的,所以要加一台投票机器,(其实不一定非奇数台,确保死一台仍有半数以上的机器就行,不过建议奇数台))

10.13.2.51:27017
10.13.2.52:27017
10.13.2.151:27017(arbiters)
1台mongos机器

10.13.2.112:27107

3台config机器

10.13.2.91:27109
10.13.2.92:27109
10.13.2.102:27109

安装步骤:

先安装一个replica set(这里也可以先安装config和mongos机器,再安装replica set,顺序无所谓)

安装config机器

安装mongos机器

安装一个replica set

解压安装

tar zxvf mongodb-linux-x86_64-3.0.3.tgz
mv mongodb-linux-x86_64-3.0.3 mongodb
chown -R mongodb.mongodb mongodb # 此处mongodb用户运行,没有的话useradd mongodb添加


创建必要的文件夹

mkdir log conf db db/rs0


配置数据节点mongodb.conf

systemLog:
destination: file
path: "/home/data/mongodb/log/rs0.log"
quiet: true
logAppend: true # 追加写
timeStampFormat: iso8601-utc
verbosity: 0 # 日志级别
# component:
#   query:
#     verbosity: 2
storage:
dbPath: "/home/data/mongodb/db/rs0"
engine: "wiredTiger" # 采用wiredTiger引擎
wiredTiger:
engineConfig:
cacheSizeGB: 8
collectionConfig:
blockCompressor: snappy # 注意snappy没安装的话要安装
directoryPerDB: true # 是否每个数据库一个文件夹
indexBuildRetry: false # 重启等情况下是否重建索引
journal:
enabled: true
processManagement:
fork: true # 后台运行
pidFilePath: "/home/data/mongodb/db/rs0/mongodb.pid"
net:
# bindIp: 192.168.11.52
port: 27017 # 对外的端口
http:
enabled: false
RESTInterfaceEnabled: false
operationProfiling:
slowOpThresholdMs: 100
mode: "slowOp" # 记录慢查询
replication:
oplogSizeMB: 100
replSetName: "rs0" # 同一个replica set名称要一样
secondaryIndexPrefetch: "all"
sharding:
clusterRole: "shardsvr" # 作为分片的一员


配置投票节点(arbiters)conf

# 除了一些文件名的更改外,另外把journal.enabled: false,其余都一样
systemLog:
destination: file
path: "/home/data/mongodb/log/arb0.log"
quiet: true
logAppend: true
timeStampFormat: iso8601-utc
verbosity: 0
# component:
#   query:
#     verbosity: 2
storage:
dbPath: "/home/data/mongodb/db/arb0"
engine: "wiredTiger"
wiredTiger:
engineConfig:
cacheSizeGB: 1
collectionConfig:
blockCompressor: snappy
directoryPerDB: true
indexBuildRetry: false
journal:
enabled: false
processManagement:
fork: true
pidFilePath: "/home/data/mongodb/db/arb0/mongodb.pid"
net:
# bindIp: 192.168.11.52
port: 27017
http:
enabled: false
RESTInterfaceEnabled: false
operationProfiling:
slowOpThresholdMs: 100
mode: "slowOp"
replication:
oplogSizeMB: 100
replSetName: "rs0"
secondaryIndexPrefetch: "all"
sharding:
clusterRole: "shardsvr"


各机器启动

bin/mongod -f conf/mongodb.conf


连接mongo,配置replica set

bin/mongo  # 默认连接本机的27017端口
config = {_id:"rs0", members: [
{_id: 0, host:"10.13.2.51:27017", priority:2},
{_id: 1, host:"10.13.2.52:27017", priority:1},
{_id: 2, host:"10.13.2.151:27017", arbiterOnly:true}
]
};
# 此处注意arbiterOnly,意指投票节点
# priority,选举时优先级,越大优先级越高
rs.initiate(config)


至此replica set配好了一个

下面安装config机器

安装config机器

创建必要文件夹

mkdir log conf configdb


配置conf

systemLog:
destination: file
path: "/home/data/mongodb/log/config.log"
quiet: true
logAppend: true
timeStampFormat: iso8601-utc
verbosity: 0
# component:
#   query:
#     verbosity: 2
storage:
dbPath: "/home/data/mongodb/configdb"
engine: "wiredTiger"
wiredTiger:
engineConfig:
cacheSizeGB: 8
collectionConfig:
blockCompressor: snappy
directoryPerDB: true
indexBuildRetry: false
journal:
enabled: true
processManagement:
fork: true
pidFilePath: "/home/data/mongodb/configdb/mongodb.pid"
net:
# bindIp: 192.168.11.52
port: 27019
http:
enabled: false
RESTInterfaceEnabled: false
sharding:
clusterRole: "configsvr"


各台分别启动

bin/mongod -f conf/mongodb.conf


至此,config机器安装完毕

下面安装mongos机器

安装mongos机器

创建必要文件夹

mkdir log conf


配置mongos.conf

systemLog:
destination: file
path: "/home/data/mongodb/log/mongos.log"
quiet: true
logAppend: true
timeStampFormat: iso8601-utc
processManagement:
fork: true
net:
port: 27017
sharding:
configDB: 10.13.2.91:27019,10.13.2.92:27019,10.13.2.102:27019


启动

bin/mongos -f conf/mongos.conf


连接mongos,配置分片

bin/mongo 10.13.2.112:27017
sh.addShard( "rs0/10.13.2.51:27017" ) # 2.0.3版本以前要列出全部rs0里的组员,之后的则不必了。添加单个mongod则直接sh.addShard( "mongodb0.example.net:27017" ),前面没有replica set的名字
sh.status() # 查看分片状态


至此复制集+分片集群安装完毕(这里只加了一个分片)

后续加分片的话,步骤就是:

创建一个replica set

连接mongos,sh.addShard( "rs1/xxxxxx:27017" ), 可实现扩容,实现负载等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb