Skip to content

Commit 3489c50

Browse files
committed
perf:调整专栏
1 parent 0e81f14 commit 3489c50

9 files changed

+696
-90
lines changed

docs/.vuepress/config.js

Lines changed: 71 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@ module.exports = {
2121
}
2222
},
2323
head: [
24-
// ico
2524
["link", {
2625
rel: "icon",
2726
href: `/favicon.ico`
2827
}],
29-
// meta
3028
["meta", {
3129
name: "robots",
3230
content: "all"
@@ -94,7 +92,6 @@ module.exports = {
9492
docsDir: 'docs',
9593
// 文档放在一个特定的分支下:
9694
docsBranch: 'main',
97-
//logo: "/logo.png",
9895
editLinks: true,
9996
sidebarDepth: 0,
10097
//smoothScroll: true,
@@ -108,13 +105,6 @@ module.exports = {
108105
text: '导读',
109106
link: '/md/other/guide-to-reading.md'
110107
},
111-
{
112-
text: 'RPC',
113-
items: [{
114-
text: '熔断限流',
115-
link: '/md/rpc/熔断限流.md'
116-
}, ]
117-
},
118108
{
119109
text: '架构',
120110
items: [
@@ -173,6 +163,37 @@ module.exports = {
173163
},
174164
]
175165
},
166+
167+
{
168+
text: '重构',
169+
items: [
170+
{
171+
text: '重构',
172+
items: [{
173+
text: '00-我们为什么以及如何进行权衡?',
174+
link: '/md/design/00-我们为什么以及如何进行权衡?.md'
175+
},
176+
]
177+
},
178+
{
179+
text: '设计原则',
180+
items: [{
181+
text: '设计原则概述',
182+
link: '/md/kafka/Kafka门派知多少.md'
183+
},
184+
]
185+
},
186+
{
187+
text: '设计模式',
188+
items: [{
189+
text: '模板方法设计模式(Template Pattern)',
190+
link: '/md/design/模板方法设计模式(Template Pattern).md'
191+
},
192+
]
193+
},
194+
]
195+
},
196+
176197
{
177198
text: '管理',
178199
items: [
@@ -205,11 +226,7 @@ module.exports = {
205226
items: [{
206227
text: '00-安装下载Hadoop',
207228
link: '/md/bigdata/安装下载Hadoop.md'
208-
},
209-
{
210-
text: '01-HDFS',
211-
link: '/md/bigdata/HDFS.md'
212-
},
229+
}
213230
]
214231
},
215232

@@ -316,37 +333,24 @@ module.exports = {
316333
},
317334
]
318335
},
319-
]
320-
},
321-
322-
{
323-
text: '重构',
324-
items: [
325-
{
326-
text: '重构',
327-
items: [{
328-
text: '代码的坏味道',
329-
link: '/md/design/代码的坏味道.md'
330-
},
331-
]
332-
},
333-
{
334-
text: '设计原则',
335-
items: [{
336-
text: '设计原则概述',
337-
link: '/md/kafka/Kafka门派知多少.md'
338-
},
339-
]
340-
},
336+
341337
{
342-
text: '设计模式',
338+
text: 'MQTT',
343339
items: [{
344-
text: '模板方法设计模式(Template Pattern)',
345-
link: '/md/design/模板方法设计模式(Template Pattern).md'
340+
text: '00-MQTT',
341+
link: '/md/MQTT/07-MQTT发布订阅模式介绍.md'
346342
},
347343
]
348344
},
349345
]
346+
},
347+
348+
{
349+
text: 'RPC',
350+
items: [{
351+
text: '熔断限流',
352+
link: '/md/rpc/熔断限流.md'
353+
}, ]
350354
},
351355

352356
{
@@ -624,15 +628,9 @@ module.exports = {
624628
// link: '/md/vue/01-Vue开发实战.md'
625629
// }, ]
626630
// },
631+
627632
{
628-
text: '区块链',
629-
items: [{
630-
text: '00-区块链专栏概述',
631-
link: '/md/chain/00-区块链专栏概述.md'
632-
}, ]
633-
},
634-
{
635-
text: 'AI',
633+
text: 'AI前沿',
636634
items: [
637635
{
638636
text: 'GPT发展',
@@ -646,6 +644,10 @@ module.exports = {
646644
text: 'LLM应用开发',
647645
link: '/md/AI/00-为什么要学习大模型'
648646
},
647+
{
648+
text: '区块链',
649+
link: '/md/chain/00-区块链专栏概述.md'
650+
},
649651
]
650652
},
651653
{
@@ -656,7 +658,7 @@ module.exports = {
656658
}, ]
657659
},
658660
],
659-
// 配置文章的侧边导航栏 新增文章提交前都需要在此处操作!!!
661+
// 文章详情页的侧边导航栏
660662
sidebar: {
661663
"/md/Dubbo/": [{
662664
title: "Dubbo深入理解系列",
@@ -824,17 +826,21 @@ module.exports = {
824826
collapsable: false,
825827
sidebarDepth: 0,
826828
children: [
827-
"大数据平台架构.md",
828-
"对象存储.md",
829+
"大数据平台架构",
830+
"对象存储",
831+
"02-分布式对象存储设计原理",
829832
]
830833
},
831834
{
832835
title: "Hadoop",
833836
collapsable: false,
834837
sidebarDepth: 0,
835838
children: [
836-
"安装下载Hadoop.md",
837-
"HDFS.md",
839+
"安装下载Hadoop",
840+
"01-Hadoop",
841+
"HDFS",
842+
"03-HDFS伪分布式环境搭建",
843+
"04-hdfs dfs命令详解",
838844
]
839845
},
840846
{
@@ -922,16 +928,16 @@ module.exports = {
922928
"超线程(Hyper-Threading),单指令多数据流(SIMD)技术"
923929
]
924930
}],
925-
// "/md/MQTT/": [
926-
// {
927-
// title: "MQTT",
928-
// collapsable: false,
929-
// sidebarDepth: 0,
930-
// children: [
931-
// "07-MQTT发布订阅模式介绍.md"
932-
// ]
933-
// }
934-
// ],
931+
"/md/MQTT/": [
932+
{
933+
title: "MQTT",
934+
collapsable: false,
935+
sidebarDepth: 0,
936+
children: [
937+
"07-MQTT发布订阅模式介绍.md"
938+
]
939+
}
940+
],
935941
"/md/spider/": [{
936942
title: "爬虫",
937943
collapsable: false,
@@ -1246,6 +1252,7 @@ module.exports = {
12461252
"06-全球顶级架构师推荐的书单",
12471253
"07-经常被压缩开发时间,延期还要背锅,如何破局?",
12481254
"08-程序员为何一直被唱衰?",
1255+
"09-程序员的“三步走”发展战略",
12491256
]
12501257
}],
12511258
"/md/vue/": [{
@@ -1322,6 +1329,7 @@ module.exports = {
13221329
collapsable: false,
13231330
sidebarDepth: 0,
13241331
children: [
1332+
"00-我们为什么以及如何进行权衡?",
13251333
"代码的坏味道",
13261334
"分离关注点的意义",
13271335
"架构之美:教你如何分析一个接口?",

docs/md/bigdata/01-Hadoop.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# 01-Hadoop
2+
3+
## 1 Hadoop概述
4+
5+
Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名。
6+
7+
### Hadoop能做什么
8+
9+
搭建大型数据仓库,PB级数据的存储、处理、分析、统计等业务
10+
11+
### Hadoop核心组件 - 分布式文件系统HDFS
12+
13+
源于Google的GFS论文,发表于2003.10。HDFS是GFS的克隆版
14+
15+
HDFS特点:扩展性&容错性&海量数量存储
16+
17+
将文件切分成指定大小的数据块,并以多副本的存储在多个机器上。数据切分、多副本、容错等操作对用户是透明的。
18+
19+
Block Replication
20+
21+
```scala
22+
Namenode(Filename, numReplicas, block-ids, ..)
23+
/users/javaedge/data/part-0, r:2, {1,3},...
24+
/users/javaedge/data/part-1, r:3, {2,4,5},...
25+
```
26+
27+
Datanodes:
28+
29+
![](https://my-img.javaedge.com.cn/javaedge-blog/2024/06/85d901caafb32c34a448d652a9b34bc2.png)
30+
31+
## Hadoop核心组件 - 资源调度系统YARN
32+
33+
Yet Another Resource Negotiator,Hadoop 的集群资源管理系统。 YARN 在 Hadoop 2 中被引入以改进 MapReduce 实现,但它也足以支持其他分布式计算范例。
34+
35+
特点:扩展性&容错性&多框架资源统一调度。
36+
37+
YARN 提供了用于请求和使用集群资源的 API,但这些 API 通常不被用户代码直接使用。相反,用户写入分布式计算框架提供的更高级别的 API,这些框架本身构建在 YARN 之上,并对用户隐藏资源管理细节。这种情况如下图所示,一些分布式计算框架(MapReduce、Spark 等)作为 YARN 应用程序在集群计算层(YARN)和集群存储层(HDFS 和 HBase)上运行。
38+
39+
YARN applications:
40+
41+
![](https://my-img.javaedge.com.cn/javaedge-blog/2024/06/7a8bdc29840e8ede23ffed04a25a2d6a.png)
42+
43+
![](https://upload-images.jianshu.io/upload_images/4685968-ce6788fca97f198c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
44+
45+
## Hadoop核心组件之分布式计算框架MapReduce
46+
47+
源自于Google的MapReduce论文,发表于2004年12月。MapReduce是Google MapReduce的克隆版
48+
49+
MapReduce特点:扩展性&容错性&海量数量离线处理
50+
51+
![](https://upload-images.jianshu.io/upload_images/4685968-2f0d9fcc6e84e6c7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
52+
53+
## Hadoop优势
54+
55+
56+
57+
![](https://my-img.javaedge.com.cn/javaedge-blog/2024/06/8c3b69cfe7a78e0554038f1b931aa6f1.png)
58+
59+
### 高可靠性
60+
61+
- 数据存储:数据块多副本
62+
- 数据计算:重新调度作业计算
63+
64+
### 高扩展性
65+
66+
- 存储/计算资源不够时,可以横向的线性扩展机器
67+
- 一个集群中可以包含数以干计的节点
68+
69+
### 其它
70+
71+
存储在廉价机器上,降低成本
72+
73+
成熟的生态圈
74+
75+
## 狭义Hadoop V.S 广义Hadoop
76+
77+
狭义的Hadoop:是一个适合大数据分布式存储( HDFS )、分布式计算(MapReduce)和资源调度( YARN )的平台。
78+
79+
- 广义的Hadoop
80+
81+
指的是Hadoop生态系统,Hadoop生态系统是一个庞大概念,hadoop是其中最重要最基础的一个部分;生态系统中的每一子系统只解决某一个特定的问题域 (甚至可能很窄),不搞统一型的一个全能系统,而是小而精的多个小系统。
82+
83+
![](https://upload-images.jianshu.io/upload_images/4685968-c2fcacf7e4e9f541.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
84+
85+
## Hadoop生态系统的特点
86+
87+
- 开源、社区活跃
88+
- 囊括了大数据处理的方方面面
89+
- 成熟的生态圈
90+
91+
## Hadoop常用发行版及选型
92+
93+
- Apache Hadoop
94+
- CDH : Cloudera Distributed Hadoop
95+
- HDP : Hortonworks Data Platform
96+
97+
## SQL on Hadoop
98+
99+
基于Hadoop生态的一个SQL引擎架构。受查询数据量、查询类型、并发等因素影响,SQL引擎无银弹。
100+
101+
使用SQL语句对大数据进行统计分析,数据是在Hadoop。
102+
103+
参考
104+
105+
- https://help.aliyun.com/zh/dataworks/user-guide/create-a-data-layer?spm=a2c4g.11186623.0.i7&accounttraceid=418da419505d4c17b808f28c2caf709ddrap

0 commit comments

Comments
 (0)