Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >hadoop集群搭建

hadoop集群搭建

原创
作者头像
软件架构师Michael
发布于 2022-05-28 10:55:26
发布于 2022-05-28 10:55:26
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

前置工作

1.创建虚拟机

2.配置虚拟机网络

3.WIN10 IP地址配置

4.CentOS静态IP设置

5.克隆三台虚拟机

6.jdk安装

7.hadoop安装

8.SSH免密登录配置(shell脚本单独提供)

集群搭建

1.集群部署规划

192.168.5.102 hadoop102

192.168.5.103 hadoop103

192.168.5.104 hadoop104

集群规划
集群规划

2.配置文件说明及配置事项

总共涉及的配置文件有4个:

core-site.xml 、hdfs-site.xml 、yarn-site.xml 、mapred-site.xml 

存放路径:$HADOOP_HOME/etc/hadoop 

(1)核心配置文件

配置core-site.xml

vim core-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
 
<configuration> 
    <!-- 指定 NameNode 的地址 --> 
    <property> 
        <name>fs.defaultFS</name> 
        <value>hdfs://hadoop102:8020</value> 
    </property> 
 
    <!-- 指定 hadoop 数据的存储目录 --> 
    <property> 
        <name>hadoop.tmp.dir</name> 
        <value>/opt/module/hadoop-3.1.3/data</value> 
    </property> 
 
    <!-- 配置 HDFS 网页登录使用的静态用户为 hadoop --> 
    <property> 
        <name>hadoop.http.staticuser.user</name> 
        <value>hadoop</value> 
    </property> 
</configuration> 

(2)hdfs配置文件

配置文件:hdfs-site.xml

vim hdfs-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
 
<configuration> 
  <!-- NameNode web 端访问地址--> 
  <property> 
        <name>dfs.namenode.http-address</name> 
        <value>hadoop102:9870</value> 
    </property> 
  <!-- SecondaryNameNode web 端访问地址--> 
    <property> 
        <name>dfs.namenode.secondary.http-address</name> 
        <value>hadoop104:9868</value> 
    </property> 
</configuration> 

(3)YARN配置文件

配置文件:yarn-site.xml

vim yarn-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
    <!-- 指定 MR 走 shuffle --> 
    <property> 
        <name>yarn.nodemanager.aux-services</name> 
        <value>mapreduce_shuffle</value> 
    </property> 
 
    <!-- 指定 ResourceManager 的地址--> 
    <property> 
        <name>yarn.resourcemanager.hostname</name> 
        <value>hadoop103</value> 
    </property> 
 
    <!-- 环境变量的继承 --> 
    <property> 
        <name>yarn.nodemanager.env-whitelist</name> 
        
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> 
    </property> 
</configuration> 

(4)MapReduce配置文件

配置文件: mapred-site.xml

vim mapred-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
 
<configuration> 
  <!-- 指定 MapReduce 程序运行在 Yarn 上 --> 
    <property> 
        <name>mapreduce.framework.name</name> 
        <value>yarn</value> 
    </property> 
</configuration> 

3.配置文件分发

通过shell自行封装的命令xsync,把hadoop102上的所有配置文件分到到其他节点的相同路径下(shell脚本单独提供)

命令格式:xsync + 文件路径

xsync /opt/module/hadoop-3.1.3/etc/hadoop/

比如:要分到home下的stu.json到所有节点,具体如下:

配置文件分发
配置文件分发

这样,在hadoop102上的所有配置文件,全都同步到hadoop103、hadoop104的相应路径了。可以进入hadoop103、hadoop104上检查确认一下。

截至到这一步,hadoop集群的配置工作就完成了。

群起集群并测试

1.配置workers

切换到 /etc/,编辑worker文件

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers

在该文件中增加如下内容:(有几个节点就配置几个主机名称)

hadoop102

hadoop103

hadoop104

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

workers配置
workers配置

同步所有节点配置文件

xsync /opt/module/hadoop-3.1.3/etc

截图略

2.启动集群(这部分就不一一截图了

(1)初始化

如果是集群第一次启动,需要初始化,后续操作无需此步操作了。

命令:hdfs namenode -format

截图略(hadoop初始化和hdfs启动跟本地模式的搭建相同)

(2)启动hdfs

切换到hadoop102的hadoop下的sbin,启动hdfs

命令:./start-dfs.sh

切换到hadoop103的hadoop下的sbin,启动yarn

命令:./start-yarn.sh

因为在hadoop103上配置了 ResourceManager

启动完成后,分别在hadoop102,103,104执行jps,查看进程

hadoop102进程查看
hadoop102进程查看
hadoop103进程查看
hadoop103进程查看
hadoop104进程查看
hadoop104进程查看

跟之前的集群部署规划一致!

(3)web端查看hdfs的NameNode

(a)浏览器中输入:http://hadoop102:9870

(b)查看 HDFS 上存储的数据信息

hdfs数据查看
hdfs数据查看

(4)web端查看YARN的ResourceManager

(a)浏览器中输入:

http://hadoop103:8088

(b)查看 YARN 上运行的 Job 信息

3.集群基本测试

(1)上传文件到集群

上传小文件:hadoop fs -mkdir /input

执行完后,HDFS网页种多了个input文件

(2)上传到文件

hadoop fs -put /opt/software/jdk-8u212-linux-x64.tar.gz /

文件上传
文件上传

【注意】

上面的蓝色字体表示存储的是一个链接,实际存储的数据在datanode节点上。另外,需要分发的shell脚本的小伙伴可以私信给我哦~

【小结】

上面详细讲述了hadoop集群的搭建、运行与测试。具体的操作稍微有点繁琐,需要花时间多练习几遍。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(上)
1)Hadoop 官方网站:http://hadoop.apache.org/ 2)Hadoop 运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 ➢ 本地模式:单机运行,只是用来演示一下官方案例。==生产环境不用。 == ➢ 伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模 拟一个分布式的环境。==个别缺钱的公司用来测试,生产环境不用。 == ➢ 完全分布式模式:多台服务器组成分布式环境。==生产环境使用。 ==
老虎也淘气
2024/01/30
2630
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(上)
Hadoop集群搭建
'readonly' option is set (add ! to override) 查看5.1解决。
ha_lydms
2023/08/10
5510
Hadoop集群搭建
hadoop集群知识小结
1 )Hadoop 集群启停脚本(包含 HDFS ,Yarn ,Historyserver ):
软件架构师Michael
2022/06/03
3210
HDFS-集群扩容及缩容
白名单:在白名单的主机IP地址可以访问集群,对集群进行数据的存储。不在白名单的主机可以访问集群,但是不会在主机上存储数据 企业中:配置白名单,可以尽量防止黑客恶意访问攻击。
用户4283147
2022/10/27
1.1K0
HDFS-集群扩容及缩容
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(下)
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。 ==注意:开启日志聚集功能,需要重新启动 NodeManager 、ResourceManager 和 HistoryServer。 == 开启日志聚集功能具体步骤如下:
老虎也淘气
2024/01/30
1860
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(下)
通过思维导图,让女朋友搭建一个hadoop完全分布式
女朋友:你上次教我搭建伪分布式,我已经会搭建啦。只用了一台机器就搞定了呀,想学完全分布式的搭建。
用户7656790
2020/08/13
6280
通过思维导图,让女朋友搭建一个hadoop完全分布式
大数据之Hadoop企业级生产调优手册(上)
每个文件块大概占用 150byte,一台服务器 128G内存为例,能存储多少文件块呢?128 * 128 * 1024 * 1024 / 150Byte ≈ 9.1亿
大数据真好玩
2021/10/12
1.5K0
大数据之Hadoop企业级生产调优手册(上)
Hadoop完全分布式安装部署
Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。我们本次主要完成搭建实际生产环境中比较常用的完全分布式模式,搭建完全分布式模式之前需要对集群部署进行提前规划,不要将过多的服务集中到一台节点上,我们将负责管理工作的namenode和ResourceManager分别部署在两台节点上,另外一台节点上部署SecondaryNamenode,所有节点均承担Datanode和Nodemanager角色,并且datanode和nodemanager通常存在同一节点上,所有角色尽量做到均衡分配。
程序狗
2021/09/02
8390
电商数仓6.0组件之虚拟机搭建Hadoop3.X
Hadoop 是一个开源的框架,主要用于处理海量数据。它能在分布式环境中存储和处理数据,具有高容错性、可扩展性和高性能等优点。Hadoop 可以处理结构化、半结构化和非结构化数据,适用于数据挖掘、机器学习、大数据分析等多种场景。
码农GT038527
2024/08/06
1290
电商数仓6.0组件之虚拟机搭建Hadoop3.X
大数据技术之_03_Hadoop学习_02_入门_Hadoop运行模式+【本地运行模式+伪分布式运行模式+完全分布式运行模式(开发重点)】+Hadoop编译源码(面试重点)+常见错误及解决方案
  Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。   Hadoop官方网站:http://hadoop.apache.org/
黑泽君
2019/03/04
1.7K0
大数据技术之_07_Hadoop学习_HDFS_HA(高可用)_HA概述+HDFS-HA工作机制+HDFS-HA集群配置+YARN-HA配置+HDFS Federation(联邦) 架构设计
1、修改ip 2、修改主机名及主机名和ip地址的映射 3、关闭防火墙 4、ssh免密登录 5、安装JDK,配置环境变量等
黑泽君
2019/02/25
1.9K0
大数据技术之_04_Hadoop学习_02_HDFS_DataNode(面试开发重点)+HDFS 2.X新特性
思考:如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号(1)和绿灯信号(0),但是存储该数据的磁盘坏了,一直显示是绿灯,是否很危险?同理DataNode节点上的数据损坏了,却没有发现,是否也很危险,那么如何解决呢?   如下是DataNode节点保证数据完整性的方法。
黑泽君
2019/03/04
6980
大数据技术之_04_Hadoop学习_02_HDFS_DataNode(面试开发重点)+HDFS 2.X新特性
Hadoop支持Lzo压缩配置及案例
1)hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。 2)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/
王知无-import_bigdata
2020/09/08
2K0
大数据之Hadoop企业级生产调优手册(下)
注:演示纠删码和异构存储需要一共 5台虚拟机。尽量拿另外一套集群。提前准备 5台服务器的集群。
王知无-import_bigdata
2021/10/13
6530
快速学习-HDFS HA高可用
1)所谓HA(High Available),即高可用(7*24小时不中断服务)。 2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。 3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。 4)NameNode主要在以下两个方面影响HDFS集群 NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用 HDFS HA功能通过配置Active/Standby两个NameNodes实现在集群中对NameNode的热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将NameNode很快的切换到另外一台机器。
cwl_java
2020/02/21
7860
快速学习-HDFS HA高可用
大数据技术之_14_Oozie学习
  Oozie 英文翻译为:驯象人。一个基于工作流引擎的开源框架,由 Cloudera 公司贡献给 Apache,提供对 Hadoop MapReduce、Pig Jobs 的任务调度与协调。Oozie 需要部署到 Java Servlet 容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。
黑泽君
2019/03/19
1.1K0
大数据技术之_14_Oozie学习
Ansible搭建hadoop-3.1.3高可用
因为hdp-01与hdp-02为hdfs-ha,所以它们之间必须要自己可以免密登录自己,自己可以登录免密对方
小朋友呢
2020/08/10
2.9K2
Hadoop框架:单服务下伪分布式集群搭建
以下配置文件所在路径:/opt/hadoop2.7/etc/hadoop,这里是Linux环境,脚本配置sh格式。
知了一笑
2020/09/18
3380
大数据技术之_19_Spark学习_01_Spark 基础解析 + Spark 概述 + Spark 集群安装 + 执行 Spark 程序
  Spark 是一种快速、通用、可扩展的大数据分析引擎,2009 年诞生于加州大学伯克利分校 AMPLab,2010 年开源,2013 年 6 月成为 Apache 孵化项目,2014 年 2 月成为 Apache 顶级项目。项目是用 Scala 进行编写。   目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含 SparkSQL、Spark Streaming、GraphX、MLib、SparkR 等子项目,Spark 是基于内存计算的大数据并行计算框架。除了扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。Spark 适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理。通过在一个统一的框架下支持这些不同的计算,Spark 使我们可以简单而低耗地把各种处理流程整合在一起。而这样的组合,在实际的数据分析过程中是很有意义的。不仅如此,Spark 的这种特性还大大减轻了原先需要对各种平台分别管理的负担。   大一统的软件栈,各个组件关系密切并且可以相互调用,这种设计有几个好处:   1、软件栈中所有的程序库和高级组件都可以从下层的改进中获益。   2、运行整个软件栈的代价变小了。不需要运行 5 到 10 套独立的软件系统了,一个机构只需要运行一套软件系统即可。系统的部署、维护、测试、支持等大大缩减。   3、能够构建出无缝整合不同处理模型的应用。   Spark 的内置项目如下:
黑泽君
2019/05/07
1K0
大数据技术之_19_Spark学习_01_Spark 基础解析 + Spark 概述 + Spark 集群安装 + 执行 Spark 程序
快速学习-DataNode
1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。 3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。 4)集群运行中可以安全加入和退出一些机器。
cwl_java
2020/02/19
6490
推荐阅读
相关推荐
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(上)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验