文章目录
Hadoop运行模式
本地模式
这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统,一般仅用于本地MR程序的调试。
说明:只是用来演示一下官方案例。生产环境不用。
伪分布式模式
这种模式也是在一台单机上运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。不同于完全分布式的是,这种模式没用不同的 Java 进程模仿分布式运行中的各类结点 (NameNode,DataNode, ResourceManager,SecondaryNameNode)。
伪分布模式在"单节点集群"上运行 Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS 输入输出,以及其他的守护进程交互。
说明:少数经费不足的公司用来测试,生产环境不用。
完全分布式模式
真正的分布式,由3个及以上的实体机或者虚拟机组件的机群。表示集群中的节点会被分配成很多种角色,分散在整个集群中。
说明:生产环境使用。
Hadoop目录结构
重要目录以及目录作用
- bin目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
- etc目录:Hadoop 的配置文件目录,存放Hadoop的配置文件,包括 core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml,slaves(3.x 为 workers)等
- lib目录:存放 Hadoop 的本地库,用于对数据进行压缩解压缩功能。
- HDFS metadata 以树状结构存储整个HDFS上的文件和目录,以及相应的权限、配额和副本因子等。
- dfs.namenode.name.dir 和 dfs.namenode.data.dir 是 HDFS Namenode 本地目录的存储结构 hadoop.tmp.dir 是一切路径的基石,NameNode、DataNode 等会将 HDFS 的元数据存储在这个路径下。
- sbin目录:存放启动或停止 Hadoop 相关服务的脚本
- share目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例
配置文件说明
Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
可以查看官方文档Index of /docs (apache.org)版本号选择于自己对应的版本,查看配置文件和配置要求,官方文档中也有伪分布式配置样例。
默认配置文件:
要获取的默认文件 | 文件存放在Hadoop的jar包中的位置 |
---|---|
[core-default.xml] | hadoop-common-2.7.7.jar/core-default.xml |
[hdfs-default.xml] | hadoop-hdfs-2.7.7.jar/hdfs-default.xml |
[yarn-default.xml] | hadoop-yarn-common-2.7.7.jar/yarn-default.xml |
[mapred-default.xml] | hadoop-mapreduce-client-core-2.7.7.jar/mapred-default.xml |
自定义配置文件:
文件存放路径为:$HADOOP_HOME/etc/hadoop
其中有core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml(文件中是mapred-site.xml.template模板文件,需要copy一下把.template后缀删去才能正常使用)、slaves(Hadoop3.x为workers) 等多个个配置文件,用户可以根据项目需求重新进行修改配置。