环境
- 宿主机:Windows 10 64_bit
- 虚拟机:VMware pro 12
- CentOS 7.5 64_bit(3台:1个master、2个slave)
- Hadoop-2.6.5
- ssh工具:SecureCRT 7.3
目录
1、hadoop常用命令:FS Shell命令
2、hadoop目录结构简介
正文
启动集群:sbin/start-all.sh
,包括启动HDFS和Map/Reduce;
停止集群:sbin/stop-all.sh
。
1、hadoop常用命令:FS Shell命令
主要包括:
- 1、hadoop namenode -format
- 2、文件上传、下载
- 3、各种基本操作命令
所有的hadoop命令均由bin/hadoop脚本引发。
命令 | 说明 |
| 格式化一个新的分布式文件系统。这条命令小心使用,不要在子节点使用。 |
| 查看hadoop版本 |
| 查看集群位数 |
| 查看hadoop集群的进程 。(Java Process Status)。Hadoop jps各个进程的功能解析 |
| 在HDFS上创建一个目录/data/input。 |
| 将当前目录(本地文件系统)下的aaa.txt 文件复制(上传)到HDFS上。源路径可以是多个 |
| 查看HDFS中/data/input目录下的文件 。加上 |
| (HDFS之间)复制文件到指定目录 |
| 将HDFS路径指定文件的内容stdout(标准输出) |
| HDFS上复制文件到本地文件系统( |
| (HDFS之间)将文件从源路径移动/重命名到目标路径(两者都是HDFS中) |
| HDFS中删除指定的文件。只删除非空目录和文件(递归删除用 |
| 将文件尾部1K字节的内容输出到stdout |
| 创建一个0字节的空文件 |
| 将源文件输出为文本格式 |
| 检测文件。 |
2、hadoop目录结构简介
[root@master hadoop-2.6.5]# tree -L 1
.
├── bin 存放Hadoop相关服务(HDFS,YARN)进行操作的脚本,用于执行hadoop脚本命令,被hadoop-daemon.sh调用执行,也可单独执行,一切命令的核心。
├── dfs 分布式文件系统,
├── etc 配置文件,其中hadoop目录是最重要的
├── include 本地库的头文件
├── lib 本地的库,存放的是Hadoop运行时依赖的jar包,Hadoop在执行时会把lib目录下面的jar全部加到classpath中。hadoop编译时需要它,例如编译c++等
├── libexec 各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息
├── LICENSE.txt
├── logs hadoop运行的log日志所在
├── NOTICE.txt
├── README.txt
├── sbin 启动/停止Hadoop相关服务的脚本
├── share Hadoop各个模块编译后的jar包所在的目录,还有文档和官方案例
└── tmp 临时文件夹
10 directories, 3 files
1)、/etc/hadoop/
下最重要的配置文件有:
-
core-site.xml
:Hadoop核心全局配置文件,其他配置文件中可以引用该文件中定义的属性; -
hadoop-env.sh
:Hadoop环境变量; -
hdfs-site.xml
:HDFS配置文件,该模板的属性继承于core-site.xml;namenode在这里配置 -
mapred-site.xml
:MapReduce的配置文件,该模板的属性继承于core-site.xml
; -
slaves
:用于设置所有的slave的名称或IP,每行存放一个。
2)、/dfs
:分布式系统
[root@master dfs]# tree
.
├── data 【主节点】该文件夹无具体内容、从节点有。一个标准的dfs.datanode.data.dir目录结构
└── name
└── current 一个标准的dfs.namenode.name.dir目录结构
├── edits_0000000000000000001-0000000000000000008
├── edits_0000000000000000009-0000000000000000009
....
├── edits_0000000000000000030-0000000000000000030
├── edits_0000000000000000031-0000000000000000032
├── edits_inprogress_0000000000000000033
├── fsimage_0000000000000000029
├── fsimage_0000000000000000029.md5
├── fsimage_0000000000000000032
├── fsimage_0000000000000000032.md5
├── seen_txid
└── VERSION
3 directories, 18 files
HDFS metadata以树状结构存储整个HDFS上的文件和目录,以及相应的权限、配额和副本因子(replication factor)等。
其中,/name
下主要存储两种类型的文件:
- fsimage:元数据镜像文件,记录某一永久性检查点(Checkpoint)时整个HDFS的元信息
edits:元数据的操作日志,所有对HDFS的写操作都会记录在此文件中
3)、3种Node:
- NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;
- SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。
- DataNode:Slave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。