hadoop之hdfs

序言

    随着时间的推移,海量的数据都被积累起来,人人都是数据的产生者,产生各种各样的结构化数据,半结构化数据,非结构化数据,原来的关系型数据库搭建的数仓已经不能满足需求了,从而可以使用分布式存储hdfs来进行存储海量的数据。

    hdfs为hadoop distributed filesystem,是分布式文件系统,用来存储海量的数据。

hdfs

    整体集群的规划如下图所示:

    在测试环境中,只要使用三台虚拟机就可以搭建一个高可用的hdfs集群,将各种组件进行混部即可(namenode占用内存较多,datanode主要磁盘容量要大)。

    此处的高可用集群,主要是有两个namenode节点,一个是active状态,一个则是standby状态,也就是随时热备的形式。

    对于namenode本身来说,主要是用来保存相关的元数据信息,为了保证性能,从而将metadata的数据保存在内存中,对于数据的快照是使用fsimage来进行保存,这个时候可能是重启了namenode进程,从而对edit的数据和fsimage进行了一次合并,而对于内存中的数据操作则是已追加的形式保存在editlog中(下图中表示edits的文件以81后缀为最新的edit文件)。

    zk集群本身是高可用模式,主要的作用是提供分布式协调服务,用来监控主备namenode是否挂掉,当挂掉之后,会有standby的机器DFSZKFailoverControl使用ssh登录到相应的namenode机器上杀掉namenode进程,从而在安装namenode的机器上也要进行部署DFSZKFailoverControl服务,而没有的机器上则不部署。

    对于原active的zkfc进程来说,主要是不停的探测namenode的端口是否存在。

    对于journal集群来说,主要是为了保证edit文件的一致性,active的namenode写入edit,而standby的namenode则来进行同步edit文件,从而保证两者数据的最终一致性。当刚启动namenode来说,会进行同步相关的edit数据,在web界面上可以看到如下信息:

    从界面上也可以看到同步了哪些信息,如下所示:

    搭建的是高可用集群,关闭一个数据节点会出现如下情况:

    可以查看到具体的datanode的信息:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值