期末复习

Hadoop的核心结构HDFS, MapReduce ,YARN
Hadoop的安装
5个配置文件 core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml workers
启动
start-dfs.sh
start-yarn.sh

jps查看进程
NameNode:它是hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存有metadate。
SecondaryNameNode:它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并editslog,减少NN启动时间。
DataNode:它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个datanode守护进程。
ResourceManager(JobTracker):JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。
NodeManager:(TaskTracker)执行任务。

怎么格式化
hadoop namenode -foramt
文件上传的指令

  1. Command-line方式
    hadoop fs -put /xxx /xxxx

  2. 用API来上传

Configuration conf = new Configuration();
conf.set(“fs. defaultFS”,” hdfs://hadoop201:8020”);
FileSystem fs = FileSystem.get(conf);
Path srcPath = new Path(“xxx”);
Path dstPath = new Path(“xxx”);
fs.copyFromLocalFile (srcPath, dstPath);
fs.close();

HDFS的读写机制

  1. 客户端通过FileSystem向NameNode请求上传文件
  2. NameNode检查目标地址,是否存在,目录是否存在,确认是否可以上传
  3. NameNode告诉客户端你要怎么去分割文件
  4. 客户端请求第一个block上传到哪几个DataNode
  5. NameNode返回DataNode节点
  6. 客户端通过FSDataOutputStream请求向指定DataNode节点上传数据,
  7. 比如副本数量有3个,只传一个节点,然后由这个节点再传给其他2个副本节点
  8. client->dn1->dn2->dn3,客户端第一个数据包发送到dn1后,dn1就会往dn2写
  9. dn2写完第一个就会往dn3传

  1. 客户端通过FileSystem向NameNode请求下载文件
  2. NameNode查询Metadata,找到请求的文件在哪个Datanode上
  3. NameNode挑选出一台DataNode(就近原则),请求读取数据
  4. DataNode开始传输数据给客户端,流的方式
  5. 客户端以包为单位接收,先存到本地缓存,然后再写到目标文件

MapReduce的优缺点
优点:

  1. 高可靠HA High Available
    数据会被自动保存为多个副本(默认3个),提高了容错性,坏了一个可以自动回复

  2. 提高IO性能
    原理类似raid,一个硬盘的IO吞吐能力是有限的,多副本存在,可以高并发

  3. 适合处理大数据
    数据规模很大的时候,GB TB PB

  4. 物美价廉
    EMC存储,Oracle数据库,IBM服务器 去IOE
    普通的廉价服务器,通过多副本机制,提高可靠性,就便宜了

缺点:

  1. 不适合低延迟数据访问
    本地100m 1秒读完,1TB文件,本机10000秒读完,
    hdfs 100m 连接10s 调配10s 读取1s 21 1TB 连接10s 调配10s 读取3000s
    只适合较大数据的分析,存取

  2. 无法高效处理小文件
    namenode管理小文件会耗费大量内存和存储信息

  3. 写入并发处理不好,修改支持不好
    支持追加数据,随机修改不支持

  4. 不擅长DAG

MapReduce工作流程(看图记住)
执行都是Job
MapTask (shuffle) ReduceTask
Combiner

MapReduce编程
Mapper怎么写
Reducer怎么写
Job 怎么写

  1. 去重
  2. 计数 wordcount
  3. 统计总分,均分
  4. 好友推荐
  5. 排序
  6. 表的合并

Hive是什么
给你几张表会写sql语句查询
id 月份 次数
1001 2020-1 1
1002 2020-2 3
1001 2020-2 5
1003 2020-3 6
1002 2020-10 3
1003 2020-4 1
1001 2020-3 2
1001 2020-4 1
1002 2020-11 2
1004 2020-10 4

统计用户累计访问次数,和单月最大次数


期末复习
https://wiserdi.github.io/2022/08/09/期末复习/
作者
Admin
发布于
2022年8月9日
许可协议