Hadoop集群的安装与配置
预先准备工作
解压软件包
tar -zxvf hadoop-2.6.4.tar.gz
将解压好的目录整体移动到/app/hadoop目录下
cp -r hadoop-2.6.4/ /app/hadoop
将目录复制到hadoop2和hadoop3的/app/hadoop目录下
scp -r hadoop-2.6.4/ hadoop@hadoop2:/app/hadoop
scp -r hadoop-2.6.4/ hadoop@hadoop3:/app/hadoop
编辑/etc/profile文件

重启系统使环境变量生效
reboot
在Hadoop的家目录下创建tmp,name,data,logs四个子目录

修改YARN配置文件

这是 Hadoop 核心配置文件,主要定义全局参数:
-
fs.defaultFS:HDFS 默认地址(图中配置为hdfs://hadoop1:9000),所有组件都依赖此地址访问文件系统。 -
hadoop.tmp.dir:临时目录路径(如 Job 中间数据、容器日志等)。 -
hadoop.proxyuser:配置代理用户权限(如 WebUI 访问权限)。

-
定义 Hadoop 运行环境:设置 Java 路径、日志目录、配置文件目录等基础环境变量。
- 影响所有 Hadoop 组件:包括 HDFS、YARN、MapReduce 等,这些组件启动时会加载此文件的配置。

这是Hadoop分布式文件系统(HDFS)的核心配置文件。
指定 Secondary NameNode 的 HTTP 服务地址和端口(hadoop1:9001)
定义 NameNode 存储元数据(如文件系统命名空间、块映射表)的本地目录file:/app/hadoop/hadoop-2.6.4/name。
指定 DataNode 存储实际数据块 的本地目录。
设置 HDFS 中文件的 默认副本数量(图中为 3)。
启用 WebHDFS REST API,允许通过 HTTP 协议访问 HDFS。

这是YARN的环境变量文件(yarn-env.sh)
指定运行 YARN 守护进程(ResourceManager、NodeManager)的 系统用户(图中默认为 yarn)。
定义 YARN 配置文件目录(如 yarn-site.xml、capacity-scheduler.xml的存放路径)。
强制指定 YARN 使用的 JDK 路径(图中为 Java 7)。

是 YARN 的核心配置文件 yarn-site.xml,它决定了 Hadoop 集群中资源管理框架(YARN)的工作方式.
-
mapreduce_shuffle:声明 NodeManager 需启动的辅助服务为 MapReduce Shuffle,用于在 MapReduce 任务中传输 Map 阶段的输出数据到 Reduce 阶段。 -
ShuffleHandler:指定 Shuffle 服务的实现类(默认使用 Hadoop 内置的org.apache.hadoop.mapred.ShuffleHandler)。
定义 ResourceManager(资源管理器) 的各类服务端口,供不同组件通信:
-
address(8032):ApplicationMaster(AM)与 RM 通信的 RPC 地址,用于提交/监控应用。 -
scheduler.address(8030):AM 与调度器交互的地址,用于资源请求。 resource-tracker.address(8031):NodeManager 向 RM 注册和汇报资源状态的地址。-
admin.address(8033):管理员通过yarn rmadmin命令管理集群的地址。
指定 ResourceManager 的 Web UI 访问地址(默认端口 8088)。通过浏览器访问 http://hadoop1:8088可查看集群资源使用、任务运行状态。

这是MapReduce 框架的核心文件 mapred-site.xml。
声明 MapReduce 作业的运行框架为 YARN(而非本地模式 local)。
指定 作业历史服务器(JobHistory Server) 的 RPC 地址,用于存储和提供已完成作业的元数据(如任务日志、计数器)。
定义作业历史服务器的 Web UI 访问地址(默认端口 19888),
浏览器打开 http://hadoop1:19888可查看:
- 所有已完成作业的列表、执行时间、资源使用情况。
- 单个作业的详细日志(Map/Reduce 任务失败原因等)。

定义从节点(Worker Nodes):
该文件列出了集群中所有 从节点的主机名(或IP),Hadoop 会根据此文件确定哪些机器运行以下服务:
- HDFS 的 DataNode:存储实际数据块的节点。
- YARN 的 NodeManager:管理单个节点上的计算资源(CPU/内存)。
不能有空格。每个节点的/etc/hosts文件需包含所有节点的IP和主机名映射。
-
masters文件(如有):定义 Secondary NameNode 的地址(非高可用集群)。 -
slaves文件:定义 DataNode 和 NodeManager 的地址。
Hadoop 3.x+:workers文件替代 slaves,功能相同。
向各节点分发Hadoop程序
cd /app/hadoop
scp -r hadoop-2.6.4/ hadoop@hadoop2:/app/hadoop/
scp -r hadoop-2.6.4/ hadoop@hadoop3:/app/hadoop/
二、启动Hadoop及验证
格式化namenode节点
第一次运行需要格式化NameNode节点,在namenode节点上执行
hdfs namenode -format
启动HDFS文件系统
切换到Hadoop家目录下的sbin目录,执行启动脚本
cd $HADOOP_HOME/sbin
./start-dfs.sh
分别在三台主机上用jps命令验证namenode和datanode

启动YARN
./start-yarn.sh
此时,在三台机器上验证



到目前为止,就搭建好了一个Hadoop集群。
| hadoop1 | hadoop2 | hadoop3 | |
| HDFS |
NameNode,SecondaryNameNode DataNode | DataNode | DataNode |
| YARN |
ResourceManager NodeManager | NodeManager | NodeManager |

1634

被折叠的 条评论
为什么被折叠?



