Mongodb副本集集群安装方法
MongoDB是一个跨平台,面向文档的数据库,提供高性能,高可用性和易于扩展。MongoDB是工作在集合和文档上一种概念。
本次集群模式为副本集模式。
MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成
副本集中数据同步过程:Primary节点写入数据,Secondary通过读取Primary的oplog得到复制信息,开始复制数据并且将复制信息写入到自己的oplog。
Mongodb版本: 3.2.3
操作系统:CentOSrelease 6.5
内核版本:2.6.32-431.el6.x86_64
IP地址:172.19.216.30; (Primary)
IP地址:172.19.216.31; (Secondary)
IP地址:172.19.216.32; (Secondary)
1.安装目录:/apps/service/usr/local/
登录主机:172.19.216.30
2.上传安装包至/apps/service/usr/local/、并解压
tar –zxvf mongodb-linux-x86_64-3.2.3.tgz
3.重命名解压出的目录
mv mongodb-linux-x86_64-3.2.3 mongodb
4.新建所需目录
mkdir –p /apps/service/usr/local/mongodb/{conf,data,logs,key}
5.创建无认证配置文件
cd /apps/service/usr/local/mongodb/conf
vim mongodb.conf
写入以下信息:
fork=true
port=27017
dbpath=/apps/service/usr/local/mongodb/data
logpath=/apps/service/usr/local/mongodb/logs/mongodb.log
logappend=true
noauth=true
保存退出
6.无认证模式启动mongodb服务
cd /apps/service/usr/local/mongodb/bin
./mongod -f/apps/service/usr/local/mongodb/conf/mongodb.conf
如上图显示,则表示启动成功
7.客户端登录mongodb,设置管理员密码和普通用户账密
cd /apps/service/usr/local/mongodb/bin
./mongo
>use admin
> db.createUser({user:"root",pwd:"root",roles:["root"]}) #创建管理员
>use test 切换到test数据库
> db.createUser( #创建普通用户
{
user: "test",
pwd: "test",
roles: [ { role: "readWrite", db: "test" } ]
}
)
返回值为1,表示设置成功。
然后退出客户端连接,ctrl+c
8.关闭当前mongodb服务
9.更换副本集模式配置文件,重启mongodb服务
cd /apps/service/usr/local/mongodb/conf
echo > ./ mongodb.conf
写入以下内容至mongodb.conf
replSet=副本集名称(自定义)
keyFile=/apps/service/usr/local/mongodb/key/mongodb.key
fork=true
port=27017
dbpath=/apps/service/usr/local/mongodb/data
logpath=/apps/service/usr/local/mongodb/logs/mongodb.log
logappend=true
auth=true
10.写入统一集群认证文件
cd /apps/service/usr/local/mongodb/key
echo “this is my mongodb”> mongodb.key
chmod 600 mongodb.key
注:此处可以写入任何内容,只需要保持集群三台机器此处key文件内容保持一致。
还有文件权限必须其他用户不可读,否则无法正常启动。
重启服务
cd /apps/service/usr/local/mongodb/bin
./mongod -f/apps/service/usr/local/mongodb/conf/mongodb.conf
11.从机安装
分别登录172.19.216.31、172.19.216.32按照以上步骤操作。唯一区别:从机不需要执行中间的无认证启动和注册用户账密,配置文件直接写入副本集配置信息启动即可。
12.登录主机,写入集群配置
登录172.19.216.30
cd /apps/service/usr/local/mongodb/bin
./mongo
>use admin
>db.auth('root','root')
>cfg={_id:"my", members:[{_id:0, host:'172.19.216.30:27017', priority:10},{_id:1, host:'172.19.216.31:27017', priority:9}, {_id:2, host:'172.19.216.32:27017', priority:9 }]};
>rs.initiate(cfg);
1.验证集群是否生效
管理员登录
>rs.status();
2.验证主机写入信息,从机是否同步