mongodb集群安装及延迟节点配置

mongodb集群安装及延迟节点配置

本文主要介绍mongodb安装、副本集模式的配置、mongodb数据库的简单使用及延迟节点搭建和利用延迟节点恢复误删除的数据。

一、系统环境

平台:Centos6.6_x86_64

实验环境:四台主机部署副本集模式集群

主机:192.168.115.21、192.168.115.22、192.168.115.23、192.168.115.24

规划:21为master节点,22为副本节点,23为副本节点,24为延迟节点

目的:完成副本集模式集群的部署

测试延迟节点同步数据,当在主节点上误删除数据后利用延迟节点恢复数据

注意:由于mongodb数据同步对时间的实时性要求较高事先要同步下各节点的时间

二、安装mongodb

1.软件安装

软件包:mongodb-linux-x86_64-2.6.9.gz

下载地址:wget  http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.9.tgz

tar  -zxvf  mongodb-linux-x86_64-2.6.9.tgz

mv  mongodb-linux-x86_64-2.6.9.tgz  /usr/local/mongodb

2.mongodb安装文件介绍

mongod:数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行

mongo:客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法

mongodump/mongorestore:将数据导入为bson格式的文件/将bson文件恢复为数据库,类似xtracbackup

mongoexport/mongoimport:将collection导出为json/csv格式数据/将数据导入数据库,类似mysqldump/mysqlimport

bsondump:将bson格式的文件转储为json格式的数据

mongos:分片路由,如果使用了sharding功能,则应用程序连接的是mongos而不是mongod

mongofiles:GridFS管理工具

mongostat:实时监控工具

3.配置mongodb环境变量

vi
/etc/profile

添加如下内容:

#Set
Mongodb Environment

export MONGODB_HOME=/usr/local/mongodb

export
PATH=$PATH:$MONGODB_HOME /bin

source
/etc/profile

4.创建配置文件

# vi
/usr/local/mongodb/etc/mongodb.conf

添加如下内容:

fork = true                                   #以后台Daemon形式运行服务

quiet =
true

port = 27017                              #对外服务端口,Web管理端口在这个port的基础上+1000

dbpath = /data/mongodb/     #数据文件存放路径,每个数据库会在其中创建一个子目录

logpath = /usr/local/mongodb/logs/server.log    #错误日志文件

logappend = true                   
#错误日志采用追加模式(默认是覆写模式)

journal = true                          #开启日志功能,通过保存操作日志来降低单机故障的恢复时间

rest =
true

httpinterface
= true

5.启动mongodb

/usr/local/mongodb/bin/mongod
-f /usr/local/mongodb/etc/mongodb.conf

6.查看mongodb启动进程

默认监听在tcp/27017端口tcp/28017为web监听端口

三、集群配置

MongoDB的副本集能够故障自动转移,在集群Master故障的时候,副本集可以自动投票,选举出新的Master,并引导其余的Slave服务器连接新的Master,目前官方推荐采用这种吗模式部署。

1.每个节点修改配置文件添加如下一行

# vi
/usr/local/mongodb/etc/mongodb.conf

replSet =
hnrtest/192.168.115.21:27017,192.168.115.22:27017,192.168.115.23:27017

2.启动服务

3.连接mongodb初始化集群

#
/usr/local/mongodb/bin/mongo 192.168.115.21:27017

> db.runCommand({"replSetInitiate"
: { "_id" : "hnrtest" ,"members" : [ {
"_id" : 1, "host" : "192.168.115.21:27017"},{
"_id" : 2, "host" : "192.168.115.22:27017"},{
"_id" : 3, "host" : "192.168.115.23:27017"}]}})

执行命令出现以上错误提示,解决方法

> use
admin
> db.runCommand({"replSetInitiate" : { "_id" :
"hnrtest" ,"members" : [ { "_id" : 1,
"host" : "192.168.115.21:27017"},{ "_id" : 2,
"host" : "192.168.115.22:27017"},{ "_id" : 3,
"host" : "192.168.115.23:27017"}]}})

此时通过内部自动选举21被选举为主节点

4.通过修改优先级,手动指定主节点

hnrtest:PRIMARY> cfg=rs.conf()                                 #起始命令

hnrtest:PRIMARY>
cfg.members[1].priority=15

hnrtest:PRIMARY> rs.reconfig(cfg)                              #提交配置

可以看到,配置一提交角色状态立即改变,22成为主节点

四、数据库操作常用命令

1.查看副本集节点状态信息:hnrtest:PRIMARY> rs.status()

2.查看当前使用的库:hnrtest:PRIMARY> db

3.查看所有库:show 
dbs

4. 创建数据库:hnrtest:PRIMARY> use
mydb  如果没有往库中添加数据默认没有该库至少需要插入一条数据

5. 插入数据:hnrtest:PRIMARY>
db.test.insert({"a":"1"})

6. 查看数据:db.test.find()

7. 删除选定的数据库:db.dropDatabase()

8. 查看集合中所有数据条目:hnrtest:PRIMARY> db.
test.count()

9.查看数据同步时间:hnrtest:PRIMARY>
rs.printReplicationInfo()

10.副本节点上第一次执行命令时报错,需要打开写操作

hnrtest:SECONDARY>
rs.slaveOk()

此时在执行查询命令,一切正常

11.添加删除一个节点

添加:在主节点上执行命令:hnrtest:PRIMARY>
rs.add("192.168.115.#:27017")

删除:在主节点上执行命令:hnrtest:PRIMARY>
rs.remove("192.168.115.#:27017")

五、利用延迟节点恢复数据

当在主节点上误删除数据时其他从节点实时同步主节点数据,从节点上的数据也被删除,而此时延迟节点由于延迟时间未到数据还未同步,可以恢复主节点上误删除的数据。

1.延迟节点的配置

1)将24加入副本集

hnrtest:PRIMARY>
rs.add("192.168.115.24:27017")

2)修改24的优先级为0并设置延迟时长

hnrtest:PRIMARY>
cfg=rs.conf

hnrtest:PRIMARY>
cfg.members[3].priority=0

hnrtest:PRIMARY>
cfg.members[3].slaveDelay=120

hnrtest:PRIMARY>
rs.reconfig(cfg)

在主节点上插入一条数据,在延迟节点上查看同步时间,可见延迟120秒后同步数据

2.延迟节点恢复数据

1)模拟数据误删除

执行以上命令,主节点及副本节点上的数据全部被删除,而延迟节点数据还在

2)恢复方法:

1.先关闭从节点及主节点上服务(延迟节点除外)

2.删除从节点及主节点数据目录下的所有文件(延迟节点除外)

3.开启以上关闭的节点服务进程,会从延迟节点上同步数据

执行以上步骤后,所有节点数据恢复成原来的

时间: 2024-08-15 18:01:33

mongodb集群安装及延迟节点配置的相关文章

mongodb集群安装及到现在遇到的一些问题

集群搭建 只有3台服务器,开始搭建mongodb集群里主要参照的是http://www.lanceyan.com/tech/arch/mongodb_shard1.html,端口的设置也是mongos为 20000, config server 为 21000, shard1为 22001 , shard2为22002, shard3为22003.其大体思路为: 在每台服务器上启动config服务 在每台服务器上启动mongos服务,并指定每个mongos服务包含的config服务地址(前一步启

搭建高可用MongoDB集群(一):配置MongoDB

在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制. 高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病. 高性能,Nosql通过简单的key-value方式获取数据,非常快速.还有NoSQL的Cache是记录级的,是一种细粒度的Cache,

greenplum集群安装与增加节点生产环境实战

1.准备环境 1.1集群介绍 系统环境:centos6.5 数据库版本:greenplum-db-4.3.3.1-build-1-RHEL5-x86_64.zip greenplum集群中,2台机器IP分别是 [[email protected] ~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain ::1         localhost localhost.localdomain localhost6 localhos

部署k8s ssl集群实践11:work节点配置flanneld

前面三节点flanneld已经部署好,只需要在新加节点部署flanneld即可 把flanneld执行文件copy到新加节点 [[email protected] ~]# scp [email protected]:/opt/k8s/bin/flanneld /opt/k8s/bin [email protected]'s password: flanneld? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

MySQL集群安装与配置

MySQL集群安装与配置 文章目录 [隐藏] 一.mysql集群安装 二.节点配置 三.首次启动节点 四.测试服务是否正常 五.安全关闭和重启 MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单.下面我们简单介绍MySQL Clus

Intel MPI 5.1.3集群安装

安装之前: 需配置好/etc/hosts文件.ssh无密码访问.关闭SELinux与防火墙,这部分类容可参照<Intel MPI 5.1.3安装+整体安装配置过程介绍> Intel MPI软件请通过Intel官网下载. 开始安装: 在/root/目录下创建node文件,内容为节点主机名 ##用root账户在第一个节点执行安装过程 #tar xzvf l_mpi_p_5.1.3.181.tgz #cd l_mpi_p_5.1.3.181 #./install.sh 提示安装一共分为6个步骤,敲击

CDH5 集群安装教程

一.虚拟机的安装和网络配置. 1.虚拟机安装. 2.安装CentOS-6.5 64位版本. 桥接模式: Master: 内存:3G: 硬盘容量40G: 4核: Slave: 内存2G: 硬盘容量30G: 2核: 3.网络配置(master,slave) 1)进入root账号 su - root 输入密码: vi /etc/sysconfig/network 2)关闭防火墙 vi /etc/sysconfig/selinux #SELinux=disable Service iptables st

Hadoop多节点集群安装配置

目录: 1.集群部署介绍 1.1 Hadoop简介 1.2 环境说明 1.3 环境配置 1.4 所需软件 2.SSH无密码验证配置 2.1 SSH基本原理和用法 2.2 配置Master无密码登录所有Salve 3.Java环境安装 3.1 安装JDK 3.2 配置环境变量 3.3 验证安装成功 3.4 安装剩余机器 4.Hadoop集群安装 4.1 安装hadoop 4.2 配置hadoop 4.3 启动及验证 4.4 网页查看集群 5.常见问题FAQ   5.1 关于 Warning: $H

kafka集群安装与配置

一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/apache/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz 解压该文件: tar zxvf kafka_2.10-0.8.2.2.tgz 注意kafka依赖于zookeeper和scala,以上tgz文件名中的2.10即为scala的版本号 zk和scala的安装在此不再赘述