Hadoop简介:
- 分布式、可扩展、可靠的、分布式计算框架。
组件:
- common:公共组件
- hdfs:分布式文件系统
- yarn:运行环境
- mapreduce:mr计算模型
生态系统:
- Ambari:操作界面
- avro:通用的序列化机制、与语言无关
- cassandra:数据库
- chukwa:数据收集系统
- hbase:分布式大表数据库
- hive:基于sql的分析系统
- matout:机器学习算法库
- pig:脚本语言
- spark:快速通用的计算引擎,主要用于迭代计算
- tez:数据流框架
- zookeeper:高性能的协调服务
海量数据分析:
- 原始方式?空间限制|性能限制|单节点故障| 细节实现问题
- hdfs?提供统一接口|大文件切分|分布式存储|平行扩展|高可靠
HDFS
- hadoop生态系统分布式文件系统,用来解决大数据存储问题。
- hdfs是在本地文件系统之上抽象出的文件系统,提供统一的访问接口(目录树),实际的文件经过切分和负载均衡算法之后,存储在本地的文件系统中,通过一个主节点(Namenode)统一管理。
- 为了提高数据存储的可靠性,文件的block会被存储多个副本(默认3个)第一个在本机,第二个在本机所在地同一个机架上,第三个在不同的机架上。
- 文件系统:提供一套统一的访问接口,屏蔽底层实现细节的系统。
hadoop目录结构:
- bin:可执行脚本
- etc:系统配置
- lib:本地库
- sbin:系统的可执行脚本
- share:共享目录,存放的jar包
hdfs文件操作:
- 使用hdfs dfs命令操作
- put:上传文件
- get:下载文件
- ls:显示文件
- cat:显示文件内容
- tail:查看文件末尾
- count:统计文件数
- cp:hdfs的拷贝
- df:查看磁盘容量
- du:查看文件大小
- mkdir:创建文件夹 -p创建父文件夹
- rm:删除
- mv:移动
- createSnapshot:创建快照
- chown:修改所有者
- chomd:修改权限
hdfs文件存储
- 文件存储在tmp/data/子文件夹下面,大文件会被切分为128M大小的block,文件只是被简单的切分,不做任何操作,可以手动拼接为完整的文件。
时间: 2024-10-07 11:20:37