Hadoop集群搭建配置教程

article/2025/8/28 9:36:11

Hadoop3.1.3集群搭建

  • 前言
  • 集群规划
  • 集群搭建具体步骤
    • 1、下载`hadoop-3.1.3.tar.gz`
    • 2、上传并解压
    • 3、配置`path`变量
    • 4、修改配置文件
      • 4.1 修改文件`hadoop-env.sh`
      • 4.2 修改文件`workers`
      • 4.3 修改文件`core-site.xml`
      • 4.4 修改文件`hdfs-site.xml`
      • 4.5 修改文件`mapred-site.xml`
      • 4.6 修改文件 `yarn-site.xml`
    • 5、把`/opt/module/hadoop`复制到其他节点上
    • 6、在其他节点上操作
    • 7、名称节点的格式化
    • 8、启动`Hadoop`集群
    • 9、验证是否启动成功
    • 10、查看运行实例
    • 11、关闭`Hadoop`集群

前言

当Hadoop采用分布式模式部署和运行时,存储采用分布式文件系统HDFS,而且,HDFS的名称节点和数据节点位于不同机器上。这时,数据就可以分布到多个节点上,不同数据节点上的数据计算可以并行执行,这时的MapReduce分布式计算能力才能真正发挥作用。

集群规划

我们使用三个虚拟机节点来搭建集群环境:

ip主机名功能
192.168.36.121hadoop1NameNode DataNode ResourceManager NodeManager
192.168.36.122hadoop2DataNode NodeManager
192.168.36.123hadoop3SecondryNameNode DataNode NodeManager

分别在上述的节点上修改hosts文件,增加IP和主机名的映射关系:

# 打开hosts文件
vim /etc/hosts# 添加如下内容
192.168.36.121   hadoop1
192.168.36.122   hadoop2
192.168.36.123   hadoop3

另外,Hadoop 集群运行需要 Java 运行环境,所以,在各个节点上需要安装 JDK

集群搭建具体步骤

注意:以下步骤均在hadoop1节点上进行操作,特殊说明除外!

1、下载hadoop-3.1.3.tar.gz

hadoop官网下载:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

2、上传并解压

将下载好的 hadoop-3.1.3.tar.gz 上传到 hadoop1 虚拟机节点 /opt/module 目录下。

cd /opt/module
# 解压
tar -zxvf hadoop-3.1.3.tar.gz
# 修改目录名
mv hadoop-3.1.3 hadoop

3、配置path变量

vim ~/.bashrc 
# 添加如下内容:
export PATH=$PATH:/opt/module/hadoop/bin:/opt/module/hadoop/sbin# :wq! 保存退出后执行如下命令,使配置生效
source ~/.bashrc

4、修改配置文件

cd /opt/module/hadoop/etc/hadoop

4.1 修改文件hadoop-env.sh

vim hadoop-env.sh
# 添加如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_131

4.2 修改文件workers

vim workers
# 将localhost去掉添加如下内容
hadoop1
hadoop2
hadoop3

注意:需要把所有数据节点的主机名写入该文件,每行一个,默认为localhost(即把本机作为数据节点),所以,在伪分布式配置时,就采用了这种默认的配置,使得节点既作为名称节点也作为数据节点。在进行分布式配置时,可以保留localhost,让hadoop1节点同时充当名称节点和数据节点,或者也可以删掉localhost这行,让hadoop1节点仅作为名称节点使用。

4.3 修改文件core-site.xml

<!--修改为如下内容:-->
<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop1:8020</value></property><property><name>hadoop.tmp.dir</name>						    <value>file:/opt/module/hadoop/tmp</value><description>Abase for other temporary directories.</description></property>
</configuration>

4.4 修改文件hdfs-site.xml

dfs.replication的值还是设置为 3, 也就是说,一份数据保存三份副本,Hadoop的分布式文件系统HDFS一般都是采用冗余存储。

<configuration><property><name>dfs.namenode.secondary.http-address</name><value>hadoop1:50090</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.name.dir</name><value>file:/opt/module/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/opt/module/hadoop/tmp/dfs/data</value></property>
</configuration>

4.5 修改文件mapred-site.xml

<!--修改为如下内容:-->
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>hadoop1:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop1:19888</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/opt/module/hadoop</value></property>
</configuration>

4.6 修改文件 yarn-site.xml

<!--修改为如下内容:-->
<configuration><property><name>yarn.resourcemanager.hostname</name><value>hadoop1</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>

5、把/opt/module/hadoop复制到其他节点上

cd /opt/module
rm -r ./hadoop/tmp     # 删除 Hadoop 临时文件
rm -r ./hadoop/logs/*   # 删除日志文件
tar -zxcf hadoop.tar.gz ./hadoop   # 先压缩再复制
scp ./hadoop.tar.gz hadoop2:/opt/module
scp ./hadoop.tar.gz hadoop3:/opt/module

6、在其他节点上操作

cd /opt/module
rm -r ./hadoop    # 删掉旧的(如果存在)
tar -zxvf hadoop.tar.gz

7、名称节点的格式化

首次启动Hadoop集群时,需要先在hadoop1节点执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点)

hdfs namenode -format

8、启动Hadoop集群

需要在hadoop1节点上进行

# 启动hdfs
start-dfs.sh
# 启动yarn
start-yarn.sh
# 启动历史服务
mr-jobhistory-daemon.sh start historyserver

9、验证是否启动成功

通过命令jps可以查看各个节点所启动的进程。如果已经正确启动,则在hadoop1节点上可以看到NameNodeResourceManager、和JobHistoryServer以及DataNodeNodeManager进程
在其他两个节点可以看到DataNodeNodeManager进程,在hadoop3节点上还可以看到SecondryNameNode进程
缺少任一进程都表示出错。

10、查看运行实例

在执行过程中,可以在Linux系统中打开浏览器,在地址栏输入http://hadoop1:8088/cluster,通过Web界面查看任务进度,在Web界面点击 Tracking UI 这一列的History连接,可以看到任务的运行信息。

11、关闭Hadoop集群

关闭Hadoop集群,需要在hadoop1节点执行如下命令:

stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver

至此,就顺利完成了Hadoop集群搭建。

微信公众号:扫描下方二维码或 搜索 笑看风云路 关注
笑看风云路


http://chatgpt.dhexx.cn/article/uXhwoOP2.shtml

相关文章

Hadoop集群配置及运行

本文章基于尚硅谷Hadoop 3.x视频进行总结&#xff0c;仅作为学习交流使用 视频链接如下&#xff1a;30_尚硅谷_Hadoop_入门_集群配置_哔哩哔哩_bilibili 集群配置整体思路 1.切换到/opt/module/hadoop-3.3.4/etc/hadoop&#xff0c;配置core-site.xml、hdfs-site.xml、…

hadoop集群概述

Hadoop集群&#xff08;cluster&#xff09; 概述 Hadoop集群包含两个集群&#xff1a;HDFS集群、YARN集群两个集群逻辑上分离&#xff0c;物理上在一起两个集群都是标准的主从架构 HDFS&#xff08;分布式存储&#xff09;集群包括三种角色 NNSNNDN YARN集群有两个角色 RM…

超详细的Hadoop集群部署

本文建立在已经把虚拟机ip环境等已经下载好情况下。 那么&#xff0c;直接开始今天的正题&#xff1a; 搭建集群 环境准备 这里提供两种思路&#xff1a;一种是将一台直接搭建好&#xff0c;后面的克隆或者copy虚拟机 一种是3台并进&#xff0c;多次进行虚拟机之间文件互传&…

Hadoop集群格式化

hadoop搭建过程中需要进行格式化&#xff0c;而在进行文件配置过程中难免会出错&#xff0c;导致格式化后集群不能正常启动&#xff0c; 想要重新格式化&#xff0c;删掉hadoop-2.10.1目录下的tmp文件夹: rm -rf tmp hadoop版本因人而异&#xff0c;之后重新进行格式化即可&am…

Hadoop集群的启动

在首次启动Hadoop之前还需要进行一些配置工作 我们是在Linux集群上安装Hadoop集群 Linux中对大小写敏感&#xff01; 1. 配置操作系统的环境变量 注意&#xff0c;一说Linux操作系统的环境变量 配置文件就在/home/wangguowei下的.bash.profile中 将hadoop的家目录写好 并引入…

搭建Hadoop集群

实验二 搭建Hadoop集群 1 实验目的 搭建Hadoop集群&#xff1b;掌握Linux分发&#xff1b;掌握Hadoop启动和关闭。 2 实验内容 搭建Hadoop集群&#xff0c;配置etc/下的配置文件&#xff0c;设置主从节点&#xff0c;设置Hadoop环境变量&#xff0c;分发到其他电脑&#xf…

5. Hadoop集群操作

5. Hadoop集群操作 5.1 启动Hadoop集群 5.1.1 格式化文件系统 如果集群是第一次启动&#xff0c;需要在hadoop102节点格式化NameNode。 注意&#xff1a;格式化NameNode&#xff0c;会产生新的集群id&#xff0c;导致NameNode和DataNode的集群id不一致&#xff0c;集群找不到…

hadoop集群迁移

集群迁移 主要是要找到两个集群中active状态的namenode 集群迁移不同于服务器之间的文件发送&#xff0c;在hdfs中&#xff0c;文件是以块的形式&#xff0c;只可以通过namenode访问文件&#xff0c;所以迁移时需要通过hadoop命令 主要命令是distcp distcp有很多参数&#xf…

Hadoop集群实验

目录 1.实验介绍 2.安装前准备 3.实验环境搭建 4.安装Hadoop 4.1下载Hadoop 4.2修改hadoop配置文件 5.启动Hadoop集群 6.Hadoop测试 1.实验介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下&#xff0c;开发分布式…

Hadoop集群部署

Hadoop集群部署 一、环境准备二、在hadoop102中安装jdk三、在 hadoop102 安装 Hadoop安装hadoop查看 Hadoop 目录结构 四、编写集群分发脚本1. scp&#xff08;secure copy&#xff09;安全拷贝2.rsync远程同步工具3.xsync集群分发脚本 五、ssh免密登录1.配置ssh2.免密配置 六、…

Hadoop集群简介

Hadoop集群整体概述&#xff1a; Hadoop集群包括两个集群&#xff1a;HDFS集群、YARN集群 两个集群逻辑上分离(两个集群互相之间没有依赖、互不影响)、通常物理上在一起(某些角色进程往往部署在同一台物理服务器上) 两个集群都是标准的主从架构集群 MapReduce算是集群吗&…

hadoop集群

一、概念 Hadoop是由java语言编写的&#xff0c;在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架&#xff0c;其核心部件是HDFS与MapReduce。HDFS是一个分布式文件系统&#xff0c;类似mogilefs&#xff0c;但又不同于mogilefs&#xff0c;hdfs由存放文件元数…

Hadoop入门详解以及Hadoop集群搭建

一、Hadoop概念 hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下&#xff0c;开发分布式程序。hadoop充分利用了集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统&#xff08;Distributed File System&#xff…

把Redis 设置成服务

设置Redis服务 上面虽然安装启动了Redis&#xff0c;但是一旦关闭cmd窗口&#xff0c;redis就关闭了,为了我们日后开发测试的便利&#xff0c;我们当然要把它设置成windows服务项。 打开cmd命令窗口&#xff0c;切换到Redis目录&#xff0c;输入如下命令&#xff1a; redis-…

配置redis,对外服务

前言 在服务器安装完redis之后&#xff0c;别的机器想要通过IP和端口连接Redis服务器是连接不上的&#xff0c;因此需要配置redis对外服务。 一、打开redis配置文件 vi /etc/redis/redis.conf二、修改bind绑定的地址 三、关闭保护模式 四、重启redis服务 service redis res…

Redis 服务监控

Redis现在在很多公司中应用已经很广泛了&#xff0c;但是如何监控redis&#xff0c;实时的观察redis的性能&#xff0c;下面就关于Redis的常用监控介绍一下。 一、使用redis自带的info命令和monitor命令 现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取…

Windows下将Redis设置为服务

如果下载的是免安装的 Redis &#xff0c;解压文件后运行 Redis-server.exe就可开启服务 但是&#xff0c;这个窗口不能关闭&#xff0c;否则服务也会随之关闭&#xff0c;过于麻烦&#xff0c;也不方便操作 所以&#xff0c;我们可以将 redis 设置为一种服务&#xff0c;可利…

【Windows】Redis集群部署

集群是如何进行工作的 Redis采用哈希槽来处理数据与节点之间的映射关系&#xff0c;一个集群共有16384 个哈希槽&#xff0c;每个key通过 CRC16算法计算出一个16bit的值&#xff0c;再对16384取模&#xff0c;得到对应的哈希槽&#xff0c;集群通过维护哈希槽与节点的关系来得…

redis设置服务

设置服务 可以看到如果我们启动redis服务的话&#xff0c;每次都要进入到安装目录&#xff0c;这样是不是很繁琐&#xff0c;所以我们将redis做成一个服务&#xff0c;我们直接启动。 首先将utils/redis_init_script文件复制到/etc/init.d下&#xff0c;同时易名为redis。执行命…

Redis 服务管理

对Redis服务器的管理可以使用redis提供的服务命令&#xff0c;也可以借助一些管理软件&#xff0c;如&#xff1a;phpRedisAdmin 一、Redis服务器命令主要是用于管理redis服务 1.bgrewriteaof 异步执行一个 aof&#xff08;appendonly file&#xff09; 文件重写操作 2.bgsav…