自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 HDFS高可用集群中NameNode无法启动——解决方案

我是在刚搭建好HDFS高可用后,发现存在一台NamNode节点无法启动,但该节点上的DataNode仍可正常运行。其它的NameNode在正常运行。问题可能是由多个NameNode上的元数据信息不一致,解决方法如下:1、停止HDFS集群。2、删除每个NameNode节点上的data、logs。(我是在刚搭好HDFS集群遇到的这个问题,所有data和logs中的数据可直接删除。如果data和logs中存在重要的不能删除的数据,还请将数据迁移保存至别处,或使用其它方法进行解决)。3、在每一个Jo

2021-12-15 22:43:53 6821 1

原创 Zookeeper选举机制详解

半数机制:集群中半数以上机器存活,集群就可以正常使用。Zookeeper集群适合安装奇数台服务器。Zookeeper虽然在配置文件中没有指定Master和Slave。但是Zookeeper工作时,是有一个节点为Leader,其他节点为Follower,Leader是通过内部的选举机制临时产生的。以下面的例子来具体说明选举的过程:假设有五台服务器组成的Zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务器依序启动,来

2021-12-14 10:43:23 205

原创 Zookeeper入门

Zookeeper是开源的、分布式的,能够为分布式应用提供协调服务。从设计模式的角度分析,Zookeeper是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。Zookeeper = 文件系统 + 通知机制Zookeeper图标如下图所示:Zookeeper形象的理解就是动物管理员,在大数据中很多的图标都是动物,就需要通过Zookee

2021-12-13 11:01:58 2608

原创 HDFS添加白名单和黑名单(含具体实现)

白名单和黑名单是hadoop管理集群机器的一种机制。添加到白名单的主机节点,都允许访问NameNode,不在白名单的主机节点,都会被退出。添加到黑名单的主机节点,不允许访问NameNode,会将黑名单的主机节点上的数据迁移到白名单主机节点上,然后退出该黑名单节点。实际情况下,白名单用于确定允许访问NameNode的DataNode节点。黑名单用于在集群运行过程中退役DataNode节点。一、配置白名单和黑名单的具体步骤如下:1、在NameNode节点的/opt/module/hadoop

2021-12-12 10:55:54 3536

原创 MapReduce编程规范——Mapper、Reducer和Driver具体实现

MapReduce程序一般都需要包含三个部分:Mapper、Reducer和Driver。注意:Mapper类中的map方法是每执行一行数据执行一次。 Reducer类中的reduce方法是相同的key值的数据执行一次。 具体泛型类型根据具体需求而定。 导入包时要认真,以免导错包,会影响输出结果。自定义Mapper、Reduce和Driver具体实现如下:自定义Mapper类:Mapper类:(程序的Map阶段)impor...

2021-12-11 11:32:04 4817

原创 Hadoop序列化(含代码实现)

序列化:把内存中的对象,转换为字节序列,便于存储到磁盘和进行网络传输。反序列化:将磁盘中的数据或通过网络传输接收到的字节序列,转换为内存中的对象。序列化的作用:可以将内存中的对象存储到磁盘中进行持久化存储,也可将对象通过网络传输发送到远程计算机上。Hadoop序列化的特点:快速:读写数据的额外开销小。 紧凑:高效利用存储空间。 可扩展:随着通信协议的迭代升级而升级。 互操作:支持多语言的交互。提出问题:为什么不适应Java的序列化?答:Java的序列化机制是一个重量级序列化框架,

2021-12-10 12:54:26 956

原创 HDFS中副本存储节点选择——机架感知

HDFS中副本存储节点的选择是根据机架感知来选择的。副本数量默认为3。可以通过配置进行修改,但设置副本数应满足不大于DataNode的数量。比如目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数最多才能达到10。副本节点选择的原则(以副本数为3举例):第一个副本:在Client所在的节点上,如果客户端在集群外,则随机挑选一个节点。第二个副本:在另一个机架上随机挑选一个节点。第三个副本:在第二个副本所在的机架内再随机挑选一个节点。机架感知官方说明(附中文翻译):

2021-12-09 10:10:32 1773

原创 简述HDFS架构——入门了解

HDFS(Hadoop Distributed File System):Hadoop分布式文件系统。HDFS只是分布式文件系统中的一种。产生背景:随着数据量越来越大,一个操作系统已经很难存下所有数据,此时就需要将数据分配到多个操作系统的磁盘中进行管理和维护。由于无法对多个操作系统上的文件进行高效的管理和维护,因此产生了分布式文件系统。定义:HDFS是Hadoop分布式文件系统,用于存储文件,通过目录树定位文件位置,由许多服务器联合起来实现文件管理功能,并...

2021-12-08 21:43:33 1068

原创 MapReduce中Shuffle机制下的Partition分区方法实现——针对执行后需要多个结果文件的需求

在现实需求中,我们时长会遇到将执行结果按照某些条件存放到不同的结果文件中,Partition分区即可实现这个功能。Partition分区有默认Partition分区和自定义Partition分区两种,下面我们逐一介绍。一、默认Partition分区:public class HashPartitioner<K, V> extends Partitioner<K, V> { //提供空参构造器 public HashPartitioner() {

2021-12-07 12:57:35 316

原创 数据切片和MapTask的关系

数据切片:数据切片仅仅是在逻辑上对输入内容进行切片,并不是真正在磁盘上将输入内容切分进行存储。数据切片是MapReduce程序计算输入数据的单位,每一个切片会对应启动一个MapTask。默认切片大小与默认块大小一致,为128M。数据块:块Block是HDFS物理上将数据切分成一块一块进行存储。数据块是HDFS存储数据的单位。默认块大小为128M。切片的大小和块的大小都可由用户自己配置决定。...

2021-12-06 23:06:50 522

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除