Hadoop复习(1)概论+HDFS
大数据的基本特征(4V,存储单位)
4v分别是:Volume(大量性)、Velocity(高速性)、Variety(多样性)、Value(价值性)
存储单位:

从TB开始 首字母TPEZ 传送过去干EZ
大数据对思维方式的影响

Google 三辆马车是什么?(重点)
GFS的思想
重点思想在于增加一个管理节点,去管理存放数据的主机.
在hadoop里通过HDFS实现
MapReduce的思想
重点思想在于分而治之
在hadoop里通过MapReduce实现
BigTable的思想
后续补充
Hadoop是什么,基本特征


特征:



Hadoop 生态系统的常见组件的应用场景。


后面还有不想截图了.反正就各种大数据应用。。
HDFS
大数据的两个核心技术
分布式存储和分布式处理
HDFS 设计目标

HDFS 自身的局限性

HDFS 的块设计及采用块设计的好处
当前我们使用的版本块大小为128MB

HDFS 的组成架构


NameNode(名称节点)
管理和维护HDFS的命名空间+元数据信息被持久化到磁盘为哪两个文件?
维护着文件系统树以及文件树中所有的文件的元数据,管理这些信息的文件有两个,分别是
命名空间镜像文件(fsimage)
操作日志文件(edits)


即edit log 会记录中间一切过程 fsimage只记录最终结果
管理DataNode上的数据块
在HDFS里,一个文件被分成了一或多个数据块,它们保存在DataNode上,并让NameNode进行管理
接受客户端的请求
需要对客户端请求做出相应行为,比如下载上传文件
第二名称节点的作用(比较重要)


何时进行合并?

DataNode
主要功能如下:
- 保存数据块,每个数据块对应一个元数据信息文件,描述这个数据块属于哪个文件,第几个数据块
- 启动DataNode线程,定期向NameNode汇报数据块信息
- (心跳机制 比较重要) 定期向NameNode发送心跳信息保持联系,如果NameNode10分钟没有收到DataNode的心跳信息,就将其上的数据块复制到其他NameNode
副本机制、数据容错机制、心跳机制、采用什么通信协议等

数据容错机制分为3种情况:


这里意思应该是直接放弃这个NameNode节点

通信协议:

HDFS 体系结构的局限性

HDFS 读写流程


HDFS 常用操作命令:上传,查看,下载等
使用linux命令格式
hdfs dfs - + linux命令
上传文件
将本地目录txt1.txt文件上传到HDFS上并重命名为hdfs1.txt
hdfs dfs -put txt1.txt /001/mydemo/hdfs1.txt
查看文件
查看HDFS下/001/mydemo/hdfs2.txt文件中的内容:
hdfs dfs -cat /001/mydemo/hdfs2.txt
下载文件
将HDFS中的file2文件复制到本地系统并命名为txt3.txt:

文件合并再下载
hdfs dfs -getmerge /001/mydemo merge.txt
查看文件大小
hdfs dfs -du /001/mydemo
使用API操作HDFS
创建一个名为HDFSApp1,编程实现如下功能:将HDFS主目录下的text1.txt文件下载到本地
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import java.io.*;
public class HDFSApp1
{
public static void main(String[] args) throws IOException{
//1)
Configuration conf=new Configuration();
conf.set("fs.default.name","hdfs://localhost:9000");
//2)
FileSystem fs=FileSystem.get(conf);
//3.1)Local file
Path localFilePath=new Path("/home/hadoop/local.text");
//3.2)HDFS file
Path remoteFilePath=new Path("/user/hadoop/text1.text");
//4)download
fs.copyToLocalFile(remoteFilePath, localFilePath);
//5)关闭
fs.close();
System.out.println("Download Successfully!");
}
}
上传文件
代码大致和上面相同
函数使用这句
fs.copyFromLocalFile(localFilePath,remoteFilePath);

浙公网安备 33010602011771号