hadoop组件
hadoop由4部分组成
- HDFS:(Hadoop Distribute File System)分布式文件系统,海量数据存储解决方案
- MapReduce:Hadoop的分布式运算编程框架
- Yarn:分布式资源调度平台和任务监控平台
- Commons: HADOOP底层技术支持
主要用来解决:大数据存储,大数据分析.核心组件:HDFS,MapReduce
hadoop的特点
- 高可靠性: Hadoop底层将数据以多个副本的形式存储在不同的机器上,保证数据的安全可靠
- 高扩展性: 当存储hdp集群的存储能力和运算资源不足时,可以横向的扩展机器节点来达到扩容和增强运算能力
- 高效性:在MapReduce的思想下能够在节点之间动态地移动运算,且是分布式并行工作的,所以运算海量数据非常高效
- 高容错性:Hadoop能够自动保存数据的多个副本,当有存储数据的节点宕机以后,会自动的复制副本维持集群中副本的个数,并且能够自动将失败的任务重新分配
- 低成本:hadoop可以运行在廉价的机器上并行工作,达到高效,安全,效率于一身目的
HDFS分布式文件系统
(Hadoop Distribute File System)分布式文件系统,解决了海量数据无法单台机器存储的问题,将海量的数据存储在不同的机器中,由HDFS文件系统统一管理和维护,提供统一的访问目录和API
常用客户端命令
hdfs dfs 回车 查看指令创建文件夹hdfs dfs -mkdir -p /abc创建文件hdfs dfs -touchz /abc/a.txt查看hdfs dfs -ls /本地创建文件echo "hello" >> b.txt将b.txt下载到 分布式文件系统上 /abc下hdfs dfs -put 本地文件hdfs dfs -put /abc/aa.txt /hdfs dfs -put /abc/aa.txt /cc.txt 上传并改名本地创建文件echo "hello" >> b.txt将b.txt下载到 分布式文件系统上 /abc下hdfs dfs -get 数据源 数据目的hdfs dfs -get /abc/aa.txt /hdfs dfs -get /abc/aa.txt /cc.txt下载并改名修改abc文件夹的权限hdfs dfs -chmod 777 /abc修改所有该文件下文件的权限hdfs dfs -chmod -R 777 /abc删除abc文件夹下的 a.txthdfs dfs -rm -r /abc/a.txt删除abc文件夹下的所有内容hdfs dfs -rm -r /abc/*
HDFS
组成
- HDFS集群包括,NameNode和DataNode以及Secondary Namenode
- NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息
- DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个datanode上存储多个副本。
- Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
文件块大小
- HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M
- HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M
- 如果寻址时间约为10ms,而传输速率为100MB/s,为了使寻址时间仅占传输时间的1%,我们要将块大小设置约为100MB。默认的块大小实际为64MB,但是很多情况下HDFS使用128MB的块设置。
- 块的大小:10ms100100M/s = 100M
