### Hadoop概念与架构知识点 #### 1. Hadoop分布式文件系统(HDFS)组件 - **数据存储程序**:HDFS中负责存储数据的程序是DataNode。 - **数据副本数量**:HDFS中的block默认保存3份,这是为了数据的高可用和容错。 - **与NameNode同启动程序**:SecondaryNameNode通常与NameNode不在同一个节点启动,而是在NameNode旁边的独立节点上运行。 - **HDFS默认Block大小**:HDFS的默认block大小是128MB,这个值是可以修改的。 #### 2. Hadoop的其他组件 - **Hadoop作者**:Hadoop最初是由Doug Cutting和他的团队开发的。 - **Hadoop运行模式**:Hadoop集群运行的模式主要包括单机模式、伪分布式模式和全分布式模式。 - **Cloudera安装CDH**:Cloudera提供了多种安装CDH的方法,包括从CDH官方下载安装包进行安装。 #### 3. Hadoop的管理与配置 - **集群管理**:集群的管理可以通过配置Hadoop集群的配置文件实现。 - **机架感知配置**:配置机架感知是为了优化数据副本的分布,确保数据的高可用和容错。 - **Client端上传文件行为**:Client端上传文件时,Hadoop会将文件切分成多个block,并分别存储到不同的DataNode上。 - **核心配置文件**:hdfs-site.xml文件中定义了HDFS的关键配置参数,如副本数量、block大小等。 #### 4. Hadoop的监控与维护 - **监控工具**:Ganglia可以用于监控Hadoop集群,但不支持告警功能。 - **容错机制**:Hadoop有严格的权限管理和安全措施,但是不代表它自身具备了完整的安全机制。 - **Namenode功能**:NameNode负责管理元数据,但并非每次读写都会与磁盘交互,它会缓存元数据信息。 ### Hadoop安装与环境配置知识点 #### 1. Hadoop安装与配置 - **安装目录**:通常Hadoop安装在/usr/local/hadoop目录下。 - **端口号**:NameNode的Web UI端口默认是50070,而DataNode的端口号则是50010。 - **配置文件**:Hadoop的核心配置文件包括core-site.xml、hdfs-site.xml和mapred-site.xml。 #### 2. Hadoop文件系统命令 - **hadoop fsck命令**:该命令用于检查HDFS文件系统的健康状态,如果出现connection refused异常,通常意味着NameNode没有正确运行。 - **jps命令**:该命令用于Java进程监控,可以检查NameNode进程是否运行。 ### Hadoop集群模式与维护知识点 #### 1. 集群模式 - **单机模式**:单机模式适用于学习和测试,不适用于生产环境。 - **伪分布式模式**:伪分布式模式下所有节点功能都集中在一台机器上。 - **全分布式模式**:全分布式模式下各个节点分布在多台机器上,最接近生产环境的配置。 #### 2. 集群维护 - **环境变量设置**:HADOOP_HEAPSIZE是设置JVM堆大小的参数,不是用来设置所有Hadoop守护线程的内存。 - **磁盘管理**:集群内每个节点的磁盘不一定要配置RAID,这取决于对数据安全和读写性能的需求。 - **NameNode管理**:如果DataNode首次加入集群时报告不兼容文件版本,可能需要格式化磁盘,但这并不是必然的操作。 ### Hadoop高级知识点 #### 1. 数据读写与安全 - **随机读写支持**:HDFS支持的是顺序读写,不支持随机读写。 - **NameNode单点问题**:虽然HDFS有多个副本,但NameNode仍存在单点问题,一旦NameNode故障,整个集群将无法正常工作。 #### 2. 任务调度与监控 - **默认调度器策略**:Hadoop的默认调度器策略是FIFO。 - **监控命令**:fsck是Hadoop文件系统检查的全名。 #### 3. Hadoop扩展与版本控制 - **版本控制工具**:MapReduce的inputsplit和block不是同一个概念,inputsplit定义了Map任务处理的数据范围。 - **Web界面**:NameNode的Web UI端口是50070,而不是50030。 - **文件系统格式化**:当DataNode报告不兼容版本时,需要对Hadoop文件系统执行格式化操作,但具体命令不是hadoop namenode-format,而是hdfs namenode -format。 以上知识点总结了Hadoop面试中常见的面试题及答案解析,对于准备应聘阿里、华为、腾讯等企业的程序员来说,掌握这些知识点无疑能增加面试成功的可能性。
剩余19页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助