一、Hadoop入门
1、常用端口号
hadoop3.x
- HDFS NameNode 内部通常端口:8020/9000/9820
- HDFS NameNode 对用户的查询端口:9870
- Yarn查看任务运行情况的:8088
- 历史服务器:19888
hadoop2.x
- HDFS NameNode 内部通常端口:8020/9000
- HDFS NameNode 对用户的查询端口:50070
- Yarn查看任务运行情况的:8088
- 历史服务器:19888
2、常用的配置文件
- 3.x core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml workers
- 2.x core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml slaves
二、HDFS
- 1、HDFS文件块大小(面试重点)
- 硬盘读写速度
- 在企业中 一般128m(中小公司) 256m (大公司)
- 2、HDFS的Shell操作(开发重点)
- 3、HDFS的读写流程(面试重点)
三、Map Reduce
1、InputFormat
- 1)默认的是TextInputformat kv key偏移量,v :一行内容
- 2)处理小文件CombineTextInputFormat 把多个文件合并到一起统一切片
2、Mapper
- setup()初始化; map()用户的业务逻辑; clearup() 关闭资源;
3、分区
- 默认分区HashPartitioner ,默认按照key的hash值%numreducetask个数
- 自定义分区
4、排序
- 1)部分排序 每个输出的文件内部有序。
- 2)全排序: 一个reduce ,对所有数据大排序。
- 3)二次排序: 自定义排序范畴, 实现 writableCompare接口, 重写compareTo方法
5、Combiner
前提:不影响最终的业务逻辑(求和 没问题 求平均值)
提前聚合map => 解决数据倾斜的一个方法
6、Reducer
- 用户的业务逻辑;
- setup()初始化;
- reduce()用户的业务逻辑;
- clearup() 关闭资源;
7、OutputFormat
- 1)默认TextOutputFormat 按行输出到文件
- 2)自定义
四、Yarn
- 1、Yarn的工作机制(面试题)
- 2、Yarn的调度器
- 1)FIFO/容量/公平
- 2)apache 默认调度器 容量; CDH默认调度器 公平
- 3)公平/容量默认一个default ,需要创建多队列
- 4)中小企业:hive spark flink mr
- 5)中大企业:业务模块:登录/注册/购物车/营销
- 6)好处:解耦 降低风险 11.11 6.18 降级使用
- 7)每个调度器特点:
- 相同点:支持多队列,可以借资源,支持多用户
- 不同点:
- 容量调度器:优先满足先进来的任务执行;
- 公平调度器,在队列里面的任务公平享有队列资源
- 8)生产环境怎么选:
- 中小企业,对并发度要求不高,选择容量
- 中大企业,对并发度要求比较高,选择公平。