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" ), 可实现扩容,实现负载等
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- PHP添加yaf xhprof mongodb 同理
- mongodb安装
- 如何在 Ubuntu 上安装 MongoDB
- perl操作MongoDB报错undefined symbol: HeUTF8解决方法
- C#中使用1.7版本驱动操作MongoDB简单例子
- MongoDB系列教程(四):设置用户访问权限
- php实现的mongodb操作类实例
- 解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误
- 在PostgreSQL的基础上创建一个MongoDB的副本的教程
- java操作mongodb示例分享
- php对mongodb的扩展(初出茅庐)
- 作为PHP程序员应该了解MongoDB的五件事
- 基于MySQL到MongoDB简易对照表的详解
- MongoDB入门教程之C#驱动操作实例
- MongoDB为用户设置访问权限
- MongoDB db.serverStatus()输出内容中文注释
- mongodb与mysql命令详细对比
- Ubuntu中安装MongoDB及执行一些简单操作笔记
- MongoDB 语法使用小结