目录
一、Hadoop的序列化和反序列化
二、Hadoop数据压缩
1、优缺点
2、常用的压缩算法
3、怎么选择?
三、Hadoop各个版本的区别
1、hadoop2.x相比hadoop1.x
2、hadoop3.x相比hadoop1.x
四、Hadoop的常见端口号及常用的配置文件
1、常用端口号
2、常用配置文件
一、Hadoop的序列化和反序列化
序列化:把内存中的对象,转化为字节序列(或者其他数据传输协议)以便于存储到磁盘(持久化)和网络传输
反序列化:将收到的字节序列(或者是其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。
为什么要序列化:因为map和reduce很可能会在集群的不同节点上存在,就牵扯到数据的网络传传输了,‘活的’对象只生存在内存中,关机断电就没有了,并且只能由本地的进程使用,所以要进行序列化到磁盘进行网络传输。
二、Hadoop数据压缩
1、优缺点
优点:减少磁盘I/O,减少磁盘的存储空间
缺点:增加CPU开销
2、常用的压缩算法
LZO:可以进行切片,需要建立索引,还需要指定输入格式
Snappy:不支持切片,和文本处理一样,不需要修改。
3、怎么选择?
Mapper端的输出压缩:主要是考虑到传输,考虑压缩速度快的lzo,snappy;
Reducer端的输出压缩:若永久保存,用bzip2和gzip,压缩率高;若用于下一个MR任务,则需要考虑是否切片。
三、Hadoop各个版本的区别
1、hadoop2.x相比hadoop1.x
在HDFS上,hadoop2.x通过主备NameNode解决了hadoop1.x存在的单点故障问题,如果主namenode发生故障,则快速切换到备namenode;
在MapReduce上,hadoop2.x解决了hadoop1.x在MR上的高可用和扩展性问题。独立出yarn。
2、hadoop3.x相比hadoop1.x
(1)支持的java最低版本:2.x最低支持java7,3.x最低支持java8
(2)默认端口号不同:
yarn http服务器端口都是8088,历史服务器http端口都是19888.
hadoop2.x:namenode web ui端口号:50070 namenode内部通信端口号:8020
hadoop3.x:namenode web ui端口号:9870 namenode内部通信端口号:9820
四、Hadoop的常见端口号及常用的配置文件
1、常用端口号
yarn的内部服务端口号:8032
; 对用户的查询端口:8088
历史服务器的内部服务端口号:10020
; 对用户的查询端口(网页):19888
2、常用配置文件
workers:填写所有datanode的主机名以及对应的IP地址;再如果配置了ssh免密登录,就可以使用start.dfs.sh启动集群。
slaves:帮助NameNode识别datanode结点位置的文件;



