NO.13 Hadoop 序列化 在企业开发中往往常用的基本序列化类型不能满足所有需求,比如在 Hadoop 框架内部传递一个 bean 对象,那么该对象就需要实现序列化接口。具体实现 bean 对象序列化步骤如下 7 步。(1)必须实现 Writable 接口(2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造super();(3)重写序列化方法@Override(4)重写反序列化方法@Override(5)注意反序列化的顺序和序列化的顺序完全一致。
NO.12 MapReduce 概述 MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用”的核心框架。MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。
NO.11 DataNode (1)一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。(2)DataNode 启动后向 NameNode 注册,通过后,周期性(6 小时)的向 NameNode 上报所有的块信息。DN 向 NN 汇报当前解读信息的时间间隔,默认 6 小时;DN 扫描自己节点块信息列表的时间,默认 6 小时。
NO.10 NameNode 和 SecondaryNameNode (4)每 次NameNode启动的时候都会将Fsimage文件读入内存,加 载Edits里面的更新操作,保证内存。中的元数据信息是最新的、同步的,可以看成NameNode启动的时候就将Fsimage和Edits文件进行了合并。致效率过低,但如果不更新,就会发生一致性问题,一旦 NameNode 节点断电,就会产生数。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新 FsImage,就会导。但是,如果长时间添加数据到 Edits 中,会导致该文件数据过大,效率降低,而且一旦。
NO.8 HDFS 的 API 操作 注意:如果环境变量不起作用,可以重启电脑试试。验证 Hadoop 环境变量是否正常。双击 winutils.exe,如果报如下错误。说明缺少微软运行库(正版系统往往有这个问题)。再资料包里面有对应的微软运行库安装包双击安装即可。
NO.6 HDFS概述 HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS 的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。
NO.5 Hadoop常见错误及解决方案 原因:全局变量 hadoop java 没有生效。解决办法:需要 source /etc/profile 文件。原因是在 Linux 的根目录下/tmp 目录中存在启动的进程临时文件,将集群相关进程删除掉,再重新启动集群。(1)在/etc/hosts 文件中添加 192.168.10.102 hadoop102。(2)主机名称不要起 hadoop hadoop000 等特殊名称。解决办法:尽量不要粘贴 Word 中代码。
NO.3 Hadoop运行模式(1) scp 可以实现服务器与服务器之间的数据拷贝。core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
NO.2 Hadoop运行环境搭建 Hadoop 下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/(d)将桌面 hosts 文件覆盖 C:\Windows\System32\drivers\etc 路径 hosts 文件。注意:atguigu 这一行不要直接放到 root 行下面,因为所有用户都属于 wheel 组,你先。注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安。注意:安装 JDK 前,一定确保提前删除了虚拟机自带的 JDK。
NO.1 Hadoop概述 1.1 Hadoop是什么1.2 Hadoop优势1.3 Hadoop组成1.3.1 HDFS架构概述1.3.2 YARN架构概述1.3.3 MapReduce架构概述1.3.4 HDFS、YARN、MapReduce三者关系1.4大数据技术生态体系1.5 推荐系统框架图
Java学习笔记NO.29 Java提供了丰富的容器类库,包括List、Set、Map等,以及它们的实现类ArrayList、HashSet、HashMap等。Java中的队列可以通过Queue接口来实现,常见的实现类包括LinkedList和PriorityQueue。Java中常用的列表接口是List,常见的实现类包括ArrayList和LinkedList。Java中的映射接口是Map,常见的实现类包括HashMap和TreeMap。Java中的集合接口有Set,常见的实现类包括HashSet和TreeSet。
Java学习笔记NO.28 Java中的字符串相关类提供了丰富的方法来操作字符串,包括字符串的拼接、查找、替换等操作。本文将介绍包装类、字符串相关类、日期时间类、Math类和枚举类,并提供相应的代码示例。Java中的包装类提供了将基本数据类型转换为对象的功能,使得基本数据类型具有对象的特性。常用的包装类包括Integer、Double、Boolean等。枚举是一种特殊的类,用于定义一组有限的常量,通常用于表示一些固定的值,如星期、月份等。Java中的Math类提供了常用的数学运算方法,如求绝对值、取整、幂运算等。
Java学习笔记NO.27 除了Java提供的异常类型外,我们还可以自定义异常类来满足特定的业务需求。自定义异常类通常需要继承自Exception或其子类,并提供构造方法和其他必要的方法。} }// 模拟抛出自定义异常throw new CustomException("自定义异常信息", 500);try {System.out.println("捕获自定义异常:" + e.getMessage());System.out.println("错误码:" + e.getErrorCode());} } }