Redis和hdfs持久化对比

Redis是常用的内存数据库,hdfs是分布式文件系统,namenode使用内存保存文件元数据以及文件块所在的datanode,snn(防止nn消耗io性能)非ha模式,ha模式为nn standby。使用内存保存数据就需要考虑内存大小限制以及内存数据持久化问题。那么在持久化上这两者如何实现的呢?
内存数据持久化包含两种方式:一种是将当前内存中所有数据一次性保存;第二种是将所有的操作保存在日志文件中。第一种优势是全量数据,快速恢复,缺点是需要根据时间生成不同的数据,第二种方法生成的日志文件很大,优点是数据更加完整。具体过程中两者配置使用

  1. Redis
    rdb以及aof方式
    Rdb文件生成策略:多少秒内key变化超过多少次
    内存数据写到文件上涉及到编码序列化
    生成后的文件需要冗余保存
  2. hdfs
    fsimage以及Edits日志
    Hdfs 搭建时触发初始化,生成fsimage文件
    Namenode启动时加载镜像和edit日志,重启时根据老数据生成新的镜像保存到本地磁盘,数据汇报
    安全模式:不进行数据块的操作复制
    文件的每个块不会持久化,为了保证数据一致性,如果恢复过程中节点挂掉
    镜像与日志整合,增量的日志更新到镜像文件

Here写流程
1nn节点根据block副本放置策略范围dn节点列表
客户端与dn发送数据,nn之间pipeline并行传输 距离自己最近

hdfs分布式部署——基础设施,部署配置,初始化运行(格式化namenode生成fsimage文件以及VERSION文件clusterId),命令行使用(start-dfs.sh)

hadoop_home /etc/profile
core-site.xml nn,
hdfs-site.xml snn 以及nn,dn,snn数据文件目录以及副本数量
slave.xml dn
自动故障转移 zk
nn的zkfc进程负责健康检查以及zk事件回调,通过获取锁并确认主机挂掉时实现备机升为主,zookeeper集群负责管理nn的状态 get hadoop-ha/mycluster/activestandbyelectorlock
jn节点日志和目录
zkfc进程检测当前nn进程,与zk集群连接,同时与另一个nnstandby连接检测存活以及降级 2、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值