Hadoop集群的安装与配置(详细)

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配置文件

本次需要修改的 YARN 配置文件保存在$HADOOP_HOME/etc/haoop 目录下,需要修改的文件
共有 7 个,分别是:core-site.xml, hadoop-env.sh, hdfs-site.xml, yarn-site.xml, yarn-env.sh, mapred-site.xml, slave.

这是 ​​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.xmlcapacity-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集群。

hadoop1hadoop2hadoop3
HDFS

NameNode,SecondaryNameNode

DataNode

DataNodeDataNode
YARN

ResourceManager

NodeManager

NodeManagerNodeManager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值