这篇文章是学习任锐老师的工科创二的云网融合项目准备的笔记。

首先请允许我分享链接https://zhuanlan.zhihu.com/p/54994736这是一篇介绍hadoop的起源迭代的文章,这位朋友写得真的好,言简意赅,逻辑清晰,绘图形象,也是这篇文章的起源之一。

现在请允许我分析一下现在(10.13)的拙见,老师的课程要求是基于netns技术对hadoop、spark、flink等分布式计算框架进行改造,并在可变网络基础设施上进行实验验证。

首先关键点是三点,第一:netns(network namespace)技术,是这个项目的”硬件“,第二:分布式计算框架,是这个项目的”软件“,第三:改造并验证,是这个项目的”创新点“。

ok,梳理清楚逻辑,现在开始学习。

Hadoop

hadoop是一个开源的java编写的分布式计算框架和资源调度框架,它用来管理、存储、操作大数据。

HDFS简介

HDFS(Hadoop distributed file system )是hadoop的分布式文件系统

hdfs由NameNode(NN),DataNode(DN),Secondary NameNode(2NN)三部分组成。

NameNode存储文件的元数据,如文件名、文件目录结构、文件属性以及文件的块列表和块所在的DataNode信息。相当于目录。

DataNode存储文件的块数据和块数据的校验和。相当于内容。

Secondary NameNode是NameNode的备份。

YARN简介

network namespace

第一个转发模型

# 创建4个netns
sudo ip netns add spa1
sudo ip netns add spa2
sudo ip netns add spa3
sudo ip netns add spa4
# 创建4对虚拟网卡
sudo ip link add veth12 type veth peer name veth21
sudo ip link add veth13 type veth peer naem veth31
sudo ip link add veth14 type veth peer name veth41
# 将虚拟网卡挂载到对应netns上
sudo ip link set veth12 netns spa1
sudo ip link set veth13 netns spa1
sudo ip link set veth14 netns spa1
sudo ip link set veth21 netns spa2
sudo ip link set veth31 netns spa3
sudo ip link set veth41 netns spa4