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