存储快照

zookeeper查看日志

血红的双手。 提交于 2019-12-05 05:13:25
转载: https://www.cnblogs.com/jxwch/p/6526271.html zookeeper服务器会产生三类日志:事务日志、快照日志和log4j日志。   在zookeeper默认配置文件zoo.cfg(可以修改文件名)中有一个配置项dataDir,该配置项用于配置zookeeper快照日志和事务日志的存储地址。在官方提供的默认参考配置文件zoo_sample.cfg中,只有dataDir配置项。其实在实际应用中,还可以为事务日志专门配置存储地址,配置项名称为dataLogDir,在zoo_sample.cfg中并未体现出来。在没有dataLogDir配置项的时候,zookeeper默认将事务日志文件和快照日志文件都存储在dataDir对应的目录下。建议将事务日志(dataLogDir)与快照日志(dataLog)单独配置,因为当zookeeper集群进行频繁的数据读写操作时,会产生大量的事务日志信息,将两类日志分开存储会提高系统性能,而且,可以允许将两类日志存在在不同的存储介质上,减少磁盘压力。log4j用于记录zookeeper集群服务器运行日志,该日志的配置地址在conf/目录下的log4j.properties文件中,该文件中有一个配置项为“zookeeper.log.dir=.”,表示log4j日志文件在与执行程序(zkServer.sh

Zookeeper 运维实践手册

痴心易碎 提交于 2019-12-05 01:48:46
Zookeeper是一个高可用的分布式数据管理与协调框架,该框架能很好地保证分布式环境中数据一致性。一般用来实现服务发现(类似DNS),配置管理,分布式锁,leader选举等。 一、生产环境中Zookeeper安装部署规范 生产环境建议zookeeper至少为三台集群,统一安装配置,版本号为近期新版本,比如版本为3.4.8 部署路径:/opt/业务模块名/zookeeper 配置文件:/opt/业务模块名/zookeeper/conf/zoo.cfg 存储快照文件snapshot的目录:/opt/业务模块名/zookeeper/data 事务日志输出目录:/var/log/业务模块名/zookeeper 运行日志输出目录:/var/log/业务模块名/zookeeper Zookeeper所有端口需要提前开通防火墙入站规则 对外服务端口:默认2181,可自定义 通信端口:2888,可自定义 选举端口:3888,可自定义 autoperge默认关闭,建议自行编写脚本在业务低谷期清理快照和事务日志 查询状态:sh /opt/业务模块名/zookeeper/zkServer.sh status 启动服务:sh /opt/业务模块名/zookeeper/zkServer.sh start 停止服务:sh /opt/业务模块名/zookeeper/zkServer.sh stop

Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案

烂漫一生 提交于 2019-12-04 13:04:05
Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案 https://www.cnblogs.com/xlecho/p/11834011.html echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!! Redis持久化的方案其实是很多人接触的比较少的,因为相对应的数据故障不会很多,一次初始化的设置就能保证后续故障的全部顺利解决。本文讲述一下该机制的主要设置方法和持久化方案的对比,同时也会讲述一些持久化的原理。如果对于Redis持久化比较熟悉的希望能够给到你帮助,如果不熟悉的,你大可参考本文对你的Redis进行设置。 什么是Redis的持久化? 可能很多人很少接触这个词,总觉的我们Redis的所有数据都是全部能够永久存储的。然而你可能不知道的是,Redis的数据都是在内存当中的,如果没有持久化策略,你关闭Redis或者之后,你的数据有可能全部都丢失了。我们每再一次登录Redis访问上一次数据的时候,我们都看到了原来的数据,就是得益于Redis的持久化。Redis的持久化简单说就是,将Redis存在内存中的值存储到可以永久存储的地方(磁盘等) Redis的持久化方案 RDB Redis DataBase AOF Append

Java性能分析神器--VisualVM Launcher[1]

早过忘川 提交于 2019-12-04 11:39:51
Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅:这TM起的是什么玩意?每一行日志背后代表的是什么东西??他为什么就能跑起来了呢???? 这种时候不要慌,给大家推荐一款功能强大的插件:VisualVM Launcher。(eclipse就叫 VisualVM )。这个插件需要和客户端配合使用 VisualVM 。 VisualVM是集成了命令行JDK工具和轻量级分析功能的可视化工具。JVM提供了一些常用的jdk命令行工具: jstat(JVM Statistics Monitoring Tool):用于收集Hotspot虚拟机各方面的运行数据(查看虚拟机各云心状态信息),显示本地或远程虚拟机进程中的类装载,内存,垃圾收集, JIT编译等运行数据。 jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程(查看虚拟机进程信息),可用于查询正在运行的虚拟机进程, 同时可选择性的显示虚拟机执行主类, 即执行main函数的类, 以及进程的本地虚拟机 ID(Local Virtual Machine Identifier 简称LVMID)(对于本地虚拟机进程来说,

Redis 数据安全与性能保障

China☆狼群 提交于 2019-12-03 23:43:58
数据安全与性能保障 ·将数据持久化至硬盘 ·将数据复制至其他机器 ·处理系统故障 ·reids事务 ·非实物型流水线 ·诊断性能问题 持久化选项: 共享选项,这个选项决定了快照文件和AOF文件的保存位置 dir ./ 1. 快照(snapshotting) 快照持久化选项: save 60 1000 stop-write-on-bgsave-error no rdbcompression yes dbfilename dump.rdb 创建快照的方法: ·客户端可以通过向redis发送BGSAVE命令来创建一个快照。Redis会调用fork来创建一个子进程,然后子进程负责将快照写入硬盘,而父进程则继续处理命令请求 ·客户端还可以通过向Redis发送save命令来创建一个快照,接到save命令的redis服务器在快照创建完毕之前将不再相应任何其他命令,save命令并不常用,我们通常只会在没有足够内存区执行bgsave的情况下,又或者即使等待持久化操作执行完毕也无所谓的情况下,才会使用这个命令 ·如果用户设置了save配置选项,比如save 60 1000,那么从redis最近一次创建快照之后开始算起,当“60秒之内有10000次写入”,这个条件被满足时,Redis就会自动触发bgsave命令,如果用户设置了多个save配置选项,那么当任意一个save配置选择所设置的条件被满足时

redis 数据库总结

橙三吉。 提交于 2019-12-03 20:35:02
简单来说 Redis 就是一个数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的,所以存写速度非常快,因此 Redis 被广泛应用于缓存方向。 另外, Redis 也经常用来做分布式锁。 Redis 提供了多种数据类型来支持不同的业务场景。 除此之外, Redis 支持事务 、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。 本文将从以下几个方面全面解读 Redis: 为什么要用 Redis / 为什么要用缓存 为什么要用 Redis 而不用 map/guava 做缓存 Redis 和 Memcached 的区别 Redis 常见数据结构以及使用场景分析 Redis 设置过期时间 Redis 内存淘汰机制 Redis 持久化机制(怎么保证 Redis 挂掉之后再重启数据可以进行恢复) Redis 事务 缓存雪崩和缓存穿透问题解决方案 如何解决 Redis 的并发竞争 Key 问题 如何保证缓存与数据库双写时的数据一致性 为什么要用 Redis / 为什么要用缓存? 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。 将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。 操作缓存就是直接操作内存,所以速度相当快

Redis配置文件

你说的曾经没有我的故事 提交于 2019-12-03 05:33:35
我们可以在启动redis服务器的时候指定配置文件 redis配置文件 redis.con 在开始的时候,先明确了一些单位 # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb => 1024*1024 bytes # 1g => 1000000000 bytes # 1gb => 1024*1024*1024 bytes redis支持从外部文件中引入配置文件 include /path/to/other.conf redis的配置文件中分成了几个部分: 通用(general) 快照(snapshotting) 复制(replicaion) 安全(security) 限制(limits) 追加模式(AOF) LUA脚本(LUA script) 慢日志(slow log) 事件通知(event notification) 配置文件【通用】 默认情况下,redis并不是以daemon形式来运行的。通过daemonize配置项可以控制redis的运行形式,如果改为yes,那么redis就会以daemon形式运行: daemonize no 默认情况下,redis会响应本机所有可用网卡的连接请求。当然,redis允许你通过bind配置项来指定要绑定的IP bind 192.168.1.2 10.8.4.2

redis配置

匿名 (未验证) 提交于 2019-12-03 00:44:02
redis是业界主流的key-value nosql 数据库之一。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 1、安装 [root@node2 ~]# yum install redis [root@node2 ~]# rpm -ql redis /etc/logrotate.d/redis /etc/redis-sentinel.conf /etc/redis.conf /etc/systemd/system/redis-sentinel.service.d /etc/systemd/system/redis-sentinel.service.d/limit.conf /etc/systemd/system/redis.service.d /etc/systemd

Redis数据库持久化

匿名 (未验证) 提交于 2019-12-03 00:44:02
Redis数据库持久化 一、数据库概述; 二、持久化的作用以及实现方式; 三、RDB持久化方式配置; 四、AOF持久化方式配置; 一、数据库概述: Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。 二、持久化的作用以及实现方式: 作用: 实现方式: RDB持久化:将Reids在内存中的数据库记录定时dump到磁盘上,类似于快照功能。 AOF持久化:append only file--原理是将Reids的操作日志以追加的方式写入文件,近似实时性。 二者的区别: RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。 AOF持久化是以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。 RDB的优势: 1). 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的。比如,你可能打算每个小时归档一次最近24小时的数据

OpenStack虚拟机快照和增量备份实现

匿名 (未验证) 提交于 2019-12-03 00:42:01
1 快照的概念 一般对快照的理解就是能够将系统还原到某个瞬间,这就是快照的作用。 快照针对要保存的数据分为内存快照和磁盘快照,内存快照就是保存当前内存的数据,磁盘快照就是保存硬盘的数据。 快照针对保存方式又分为内部快照和外部快照。 内部快照:是指快照信息和虚拟机存在同一个qcow2镜像中,使用单个的 qcow2 的文件来保存快照和快照之后的改动。这种快照是 libvirt 的默认行为,现在的支持很完善(创建、回滚和删除),但是只能针对 qcow2 格式的磁盘镜像文件,而且其过程较慢等。 外部快照:是指做快照时原虚拟机的disk将变为readonly的模板镜像,然后会新建一个qcow2文件来记录与原模板镜像的差异数据,外部快照的结果是形成一个qcow2文件链:original <- snap1 <- snap2 <- snap3 2 主流libvirt快照实现介绍 2.1 libvirt的内部快照操作 以下是利用libvirt的virsh工具来创建一些内置快照: 创建虚拟机快照: virsh snapshot-create-as --name test001 --description ‘ abc ‘ instance- 00000001 列出虚拟机的快照: virsh snapshot-list instance- 00000001 查看某个快照信息: virsh snapshot