1.HDFS组件
简介:
HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一
- 全称是:Hadoop Distributed File System(Hadoop分布式文件系统)
- 是Hadoop技术栈内提供的分布式数据存储解决方案
- 可以在多台服务器上构建存储集群,存储海量的数据
HDFS一键启动/停止
- start-dfs.sh
- stop-dfs.sh
单进程启动/停止
$HADOOP_HOME/bin/hdfs,此程序也可以用以单独控制所在机器的进程的启停
#第一种方式
hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)
#第二种方式
haddop --daemon (start|status|stop) (namenode|secondarynamenode|datanode)
#例如启动namenode,去到需要启动的服务器上
hdfs --daemon start namenode
查看进程是否启动 jps
HDFS文件系统的基础操作命令
1.创建文件夹
- hadoop fs -mkdir [-p] <path> ...
- hdfs dfs -mkdir [-p] <path> ...
path 为待创建的目录
-p选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录
2.查看指定目录下内容
- hadoop fs -ls [-h] [-R] [<path> ...]
- hdfs dfs -ls [-h] [-R] [<path> ...]
path 指定目录路径
-h 人性化显示文件size
-R 递归查看指定目录及其子目录
3.上传文件到HDFS指定目录下
- lhadoop fs -put [-f] [-p] <localsrc> ... <dst>
- lhdfs dfs -put [-f] [-p] <localsrc> ... <dst>
-f 覆盖目标文件(已存在下)
-p 保留访问和修改时间,所有权和权限。
localsrc 本地文件系统(客户端所在机器)
dst 目标文件系统(HDFS)
hadoop fs -put words.txt /
hdfs dfs -put file:///etc/profile hdfs://node1:8020/
4.查看HDFS文件内容
- lhadoop fs -cat <src> ...
- lhdfs dfs -cat <src> ...
读取指定文件全部内容,显示在标准输出控制台
读取大文件可以使用管道符配合more
- lhadoop fs -cat <src> | more
- lhdfs dfs -cat <src> | more
5.下载HDFS文件
- lhadoop fs -get [-f] [-p] <src> ... <localdst>
- lhdfs dfs -get [-f] [-p] <src> ... <localdst>
下载文件到本地文件系统指定目录,localdst必须是目录
-f 覆盖目标文件(已存在下)
-p 保留访问和修改时间,所有权和权限。
6.拷贝HDFS文件
- lhadoop fs -cp [-f] <src> ... <dst>
- lhdfs dfs -cp [-f] <src> ... <dst>
-f 覆盖目标文件(已存在下)
7.追加数据到HDFS文件中
- lhadoop fs -appendToFile <localsrc> ... <dst>
- lhdfs dfs -appendToFile <localsrc> ... <dst>
将所有给定本地文件的内容追加到给定dst文件。
dst如果文件不存在,将创建该文件。
如果<localSrc>为-,则输入为从标准输入中读取。
8.HDFS数据移动操作
- lhadoop fs -mv <src> ... <dst>
- lhdfs dfs -mv <src> ... <dst>
移动文件到指定文件夹下
可以使用该命令移动数据,重命名文件的名称
9.HDFS数据删除操作
删除指定路径的文件或文件夹
-skipTrash 跳过回收站,直接删除
10.fsck命令检查文件的副本数
hdfs fsck path [-files [-blocks [-locations]]]
fsck可以检查指定路径是否正常
- -files可以列出路径内的文件状态
- -files -blocks 输出文件块报告(有几个块,多少副本)
- -files -blocks -locations 输出每一个block的详情
2.MapReduce
MapReduce是Hadoop三大组件(HDFS、MapReduce、YARN)之一
MapReduce是“分散->汇总”模式的分布式计算框架,可供开发人员开发相关程序进行分布式数据计算。
MapReduce提供了2个编程接口:Map、Reduce
其中,Map功能接口提供了“分散”的功能, 由服务器分布式对数据进行处理、Reduce功能接口提供了“汇总(聚合)”的功能,将分布式的处理结果汇总统计
3.YARN
YARN 管控整个集群的资源进行调度, 那么应用程序在运行时,就是在YARN的监管(管理)下去运行的。
这就像:全部资源都是公司(YARN)的,由公司分配给个人(具体的程序)去使用。
还可以搭配2个辅助角色使得YARN集群运行更加稳定
- 代理服务器(ProxyServer):Web Application Proxy Web应用程序代理
- 历史服务器(JobHistoryServer): 应用程序历史信息记录服务
一键启动脚本
- start-yarn.sh 一键启动yarn
- start-yarn.sh 一键停止yarn
单进程启停
yarn --daemon (start|stop) (resourcemanager|nodemanager|proxyserver)
mapred --daemon (start|stop) historyserver