MongoDB安装及复制集搭建

安装linux

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.6.tgzmongodb

tar zxvf mongodb-linux-x86_64-2.2.6.tgzshell

mv mongodb-linux-x86_64-2.2.6 mongodb数据库

cd mongodbapp

mkdir log           # 添加日志文件目录ide

mkdir data        # 添加数据目录字体

mkdir conf        # 添加配置文件目录ui

mkdir arbiter   # 添加仲裁服务目录spa

配置文件rest

进入mongodb下的conf目录

新建mongod.conf

编辑mongod.conf,在其中添加以下内容:

# mongod.conf

logpath = /data/mongodb/log/mongod.log    # 日志输出目录

logappend = true                                                    # 若是为false日志会覆盖

fork = true                                                                # true为后台运行

quiet = true                                                              # 安静输出

port = 27017                                                            # 端口

maxConns = 1024                                                   # 最大链接数

directoryperdb = true                                            # 是否按数据库分目录存放数据

dbpath = /data/mongodb/data                          # 数据目录

autoresync = true                                                   # 若是从库与主库同步数据差得多,自动从新同步

oplogSize = 1024                                                     # 日志大小(单位M

replSet = replSet1                                                   # 复制集名称

rest = true                                                                # 开启简单的rest API

journal = true                                                           # 启用日志选项,MongoDB的数据操做将会写入到journal文件夹的文件里

fastsync=true                                                          # 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步

权限和分组

chown -R root.root mongodb

chmod -R 755 mongodb

启动服务

cd mongodb/bin/

./mongod -f /data/mongodb/conf/mongod.conf

启动仲裁服务

若是一个复制集里节点数小于3个则须要经过添加仲裁节点的方式使节点总数保持在3个或3个以上,不然当有节点掉电时没法竞选新的PRIMARY

cd mongodb/bin/

./mongod -replSet replSet1 -port 27018 -dbpath /data/mongodb/arbiter/ -logpath /data/mongodb/arbiter/arbiter.log -logappend -quiet -fork

中止服务

关闭MongoDB服务请进入mongo shell执行以下命令:

配置复制集

例如,已经按上述方法部署了3MongoDB服务:220.181.154.204220.181.154.205220.181.154.206

则打开任意一个MongoDB的客户端,按下述红色字体部分进行配置,其中'replSet1'为复制集名称,host对应复制集中各节点的地址和端口

cd mongodb/bin/

./mongo

cfg={_id:'replSet1',members:[

{_id:1,host:'220.181.154.204:27017'},

{_id:2,host:'220.181.154.205:27017'},

{_id:3,host:'220.181.154.206:27017'}]

};

rs.initiate(cfg);

出现下面信息则配置成功:

{

         "info" : "Config now saved locally.  Should come online in about a minute.",

         "ok" : 1

}

添加节点:

rs.add("220.181.154.204:27017");

添加仲裁节点:

rs.addArb("220.181.154.204:27018");

查看复制集状态:

rs.status();

设置从库可查询

 

经过shell查询从库可在从库shell中执行以下命令:

rs.slaveOk()

注:复制集中默认从库不可读写,想要查询从库必须对每一个会话进行如上设置后才能查询

经过代码查询从库需在mongodb链接配置中进行以下配置:

<mongo:mongo

replica-set="220.181.154.204:27017,220.181.154.205:27017, 220.181.154.204:27018">

<mongo:options slave-ok="true"/>

</mongo:mongo>

注:以上全部红色字体部分请根据实际状况进行修改

相关文章
相关标签/搜索