HDFS体系结构----checkpoint检查点机制相关属性

本文介绍了HDFS的checkpoint检查点机制,包括默认的1小时checkpoint周期,每1百万次txid操作触发检查点,以及每隔60秒检查txid次数的设置。这些配置确保了HDFS的稳定性和数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.checkpoint周期,默认为1小时。

  <property>

  <name>dfs.namenode.checkpoint.period</name>

  <value>3600</value>

  <description>

      两个定期检查点之间的秒数。

  </description>

</property>

    2.txid的次数达到1百万次,也执行checkpoint;与周期无关

 <property>

  <name>dfs.namenode.checkpoint.txns</name>

  <value>1000000</value>

  <description>

无论'dfs.namenode.checkpoint.period'是否已经过期,Secondary

<think>嗯,用户之前问过后端系统安全性的问题,现在转向大数据相关知识,可能是为了应对技术面试。需要判断用户的需求层次,是刚入门还是有一定基础需要系统梳理。用户提到面试官会问,所以需要覆盖常见的大数据面试考点,同时结构清晰,便于记忆。 首先,大数据的基础概念是必须的,比如4V特征,常见工具分类。用户可能需要区分不同技术的适用场景,比如Hadoop和Spark的区别。然后是核心技术组件,HDFS、MapReduce、YARN,这些是Hadoop生态的核心,得详细解释原理和架构。 数据处理方面,批处理和流处理的对比很重要,包括对应的框架如Flink和Spark Streaming。数据存储部分,要覆盖数据仓库、数据湖、湖仓一体,以及NoSQL数据库的类型和适用场景。OLAP引擎如Kylin、Doris,可能也是高频问题。 数据治理涉及数据质量、元数据管理、数据安全,这些在实战中很重要,面试可能会问实际应用案例。资源调度和协调服务,比如YARN和ZooKeeper,需要解释其作用。 分布式理论如CAP定理、一致性协议,是理论基础,常被问到。性能优化技巧,如数据倾斜处理、Shuffle优化,都是实际开发中的痛点,面试官喜欢考察解决问题的能力。 实时数仓和Lambda/Kappa架构的区别,以及数据湖的ACID特性,可能是较新的考点。项目经验部分,用户可能需要举例如何描述项目,如何突出技术难点和解决方案。 最后,面试题举例能帮助用户模拟练习,但需要注意不要泄露具体题目,而是提供思路。需要确保内容全面,层次分明,同时使用用户熟悉的数学公式和代码示例,符合之前的格式要求。还要检查是否覆盖了Hadoop生态、Spark、Flink、数据存储、治理、分布式理论、性能优化等关键领域,确保系统性。</think>以下是系统化的大数据知识体系补充,包含基础概念、技术栈、常见考点及公式化表达: --- ### **一、大数据基础理论** 1. **4V特征公式化** $$大数据 = \int_{Volume}^{Variety} (Velocity \times Veracity) \, dt$$ - **Volume**:数据规模(PB/EB级) - **Variety**:数据多样性(结构化/半结构化/非结构化) - **Velocity**:数据生成速度(如Kafka处理百万级TPS) - **Veracity**:数据质量(需满足$数据可信度 \geq 99.99\%$) 2. **CAP定理** $$\text{分布式系统} \subseteq \{一致性(C), 可用性(A), 分区容错性(P)\}^2 - \{(C,A,P)\}$$ 典型取舍: - HBase选CP - Cassandra选AP --- ### **二、核心技术栈** #### **1. 存储层** - **HDFS** $$\text{文件分块}= \lceil \frac{\text{FileSize}}{\text{BlockSize(128MB)}} \rceil$$ 核心机制- 副本放置策略(机架感知) - 写入流水线(Pipeline Write) - **列式存储** Parquet/ORC文件格式,压缩率比较: $$\frac{\text{ORC压缩率}}{\text{Parquet压缩率}} \approx 1.2 \sim 1.5$$ #### **2. 计算引擎** - **MapReduce** $$\text{Job} = \bigcup_{i=1}^n \left( \text{Map}_i \rightarrow \text{Shuffle} \rightarrow \text{Reduce}_j \right)$$ 优化点: - Combiner预聚合 - 数据本地化(Data Locality) - **Spark** $$\text{DAG} = \text{RDD} \xrightarrow{transformation} \text{RDD}' \xrightarrow{action} \text{Result}$$ 内存计算优势: $$\frac{\text{Spark性能}}{\text{MapReduce性能}} \approx 10 \times \quad (\text{迭代算法场景})$$ - **Flink** 实时计算模型: $$\text{EventTime} = \text{ProcessingTime} - \text{Watermark}$$ 窗口函数: ```java dataStream.keyBy(...) .window(TumblingEventTimeWindows.of(Time.minutes(5))) .aggregate(new MyAggregateFunction()); ``` #### **3. 资源调度** - **YARN** 资源分配公式: $$\text{Container资源} = \langle vcores, memory \rangle \quad s.t. \quad \sum \leq \text{集群总资源}$$ - **K8s调度** Pod资源限制: ```yaml resources: limits: cpu: "4" memory: 8Gi ``` --- ### **三、高频面试考点** #### **1. 数据倾斜** - **解决方案** - 加盐分桶:$key' = key + \text{random}(1,N)$ - MAPJOIN优化:$\text{小表} \bowtie_{\text{Broadcast}} \text{大表}$ #### **2. Shuffle优化** - Spark参数调优: ```python spark.conf.set("spark.shuffle.file.buffer", "1MB") spark.conf.set("spark.reducer.maxSizeInFlight", "48MB") ``` #### **3. 数据一致性** - HBase的WAL机制: $$\text{写入顺序} = \text{MemStore} \oplus \text{HLog}$$ #### **4. 流批一体** - Lambda架构 vs Kappa架构: $$ \text{Lambda} = \text{BatchLayer} \oplus \text{SpeedLayer} \\ \text{Kappa} = \text{StreamLayer} \otimes \log(\text{EventTime}) $$ --- ### **四、大数据生态工具链** ```mermaid graph TD A[HDFS] --> B(MapReduce) A --> C(Spark) A --> D(Hive) D --> E[LLAP] C --> F{执行模式} F --> F1(Standalone) F --> F2(YARN) F --> F3(K8s) D --> G[Tez] C --> H[SparkSQL] H --> I[DataFrame API] ``` --- ### **五、实战场景分析** #### **案例:实时用户行为分析** 1. **数据流** ```plaintext UserLog --Kafka--> Flink --Window Agg--> HBase --Presto--> BI报表 ``` 2. **关键技术点** - 精确一次语义(Exactly-Once):Flink Checkpoint + Kafka事务 - 维表关联:Async I/O + LRU Cache --- ### **六、学习路径建议** 1. **理论奠基** - 《Hadoop权威指南》 - 《Designing Data-Intensive Applications》 2. **动手实践** - 使用Docker部署Hadoop集群 - 实现WordCount的MapReduce/Spark/Flink三版本 3. **面试准备** - 掌握SQL窗口函数: ```sql SELECT user_id, RANK() OVER (PARTITION BY city ORDER BY sales DESC) FROM orders; ``` - 理解LSM树(HBase底层存储结构) --- 通过此知识体系,可以系统化回答以下高频问题: - "MapReduce和Spark的区别是什么?" - "如何处理数据倾斜?" - "Flink如何实现精确一次语义?" - "HDFS的读写流程是怎样的?"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值