hadoop集群规划部署

news2024/12/26 9:27:26

一、集群规划

三台硬件资源,部署hadoop版本,hadoop-3.3.5 ,部署后配置文件。

Hadoop配置文件分两类:默认配置文件自定义配置文件。

hadoop102hadoop103hadoop104
HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

需要知道的知识点

1-HDFS 进行了GFS 的开源实现,Hadoop 的 MapReduce 是 Google 的 MapReduce 分布式处理的开源实现,而 HBase 作为一种 Hadoop 生态系统的分布式数据库,是 BigTable 的开源实现。

2-Hadoop 2.0以上版本有4个重要组成部分: HDFS (Hadoop Distributed File System)、       MapReduce、YARN( Yet Another Resource Negotiator)、COMMON (Hadoop 生态圈).

3-Hadoop 最突出的两个特点是分布式容错机制

4-Hadoop 的分布式体现在它是主从结构,不管是进行计算还是存储,都采用主从结构。
1)任务调度中的分布式特点—YARN,YARN机制,主节点接受一个由客户端发起的作业请求之后便选择一个普通节点,也称为从节点或工作节点,在该节点上成立对于作业的执行机构,再由这个执行机构操办和管理作业的从节点运行,而主节点则专门负责资源分配。
2)文件存储中的分布式特点—HDFS,HDFS是Hadoop的分布式文件系统。HDFS的目录服务器主节点上并不存储数据块备份,而是存储所有文件和目录的“元数据”。
存储着数据块的从节点称为DataNode。应用程序需要访问某个文件中某个位置上的数据时,首先需要向主节点询问该数据位于第几个从节点上,然后去该从节点访问数据。

5-Hadoop的容错机制主要体现在两个里面:HDFS  和  MapReduce。

---------------------------------

二、默认配置文件

hadoop安装包解压以后,到目录:hadoop-3.3.5\share\hadoop 寻找下面的jar包:

获取的默认文件

文件存放在Hadoop的jar包中的位置

[core-default.xml]

hadoop-common-3.3.5.jar/core-default.xml

[hdfs-default.xml]

hadoop-hdfs-3.3.5.jar/hdfs-default.xml

[yarn-default.xml]

hadoop-yarn-common-3.3.5.jar/yarn-default.xml

[mapred-default.xml]

hadoop-mapreduce-client-core-3.3.5.jar/mapred-default.xml

三、自定义配置文件

core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上用户可以根据项目需求重新进行修改配置。

按照hadoop路径为opt/module/hadoop-3.3.5 所以配置文件在这个路径下继续/etc/hadoop

四、配置集群

4-1-核心配置文件

按之前设定的配置方案配置core-site.xml

[antares@hadoop102 ~]$ cd  $HADOOP_HOME/etc/hadoop

[antares@hadoop102 hadoop]$ vim core-site.xml

<?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.3.5/data</value>

    </property>

    <!-- 配置HDFS网页登录使用的静态用户为antares -->

    <property>

        <name>hadoop.http.staticuser.user</name>

        <value>antares</value>

    </property>

</configuration>

4-2-配置hdfs-site.xml

[antares@hadoop102 hadoop]$ vim hdfs-site.xml

<?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>

    <!-- secondary namenode web端访问地址-->

    <property>

        <name>dfs.namenode.secondary.http-address</name>

        <value>hadoop104:9868</value>

    </property>

</configuration>

4-3-YARN配置文件

[antares@hadoop102 hadoop]$ vim yarn-site.xml

<configuration>

    <!-- 指定MRshuffle -->

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

[antares@hadoop102 hadoop]$ vim mapred-site.xml

<?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>

4-5在集群上分发配置好的Hadoop配置文件

可以自己创建统一分发命令,或是使用scp拷贝的方式,不过需要删除其他资源上原来的文件或是重命名原文件。这里不再累述。关于文件分发命令需要单独做个自定义的命令。

确认资源103104上已有配置文件

cat /opt/module/hadoop-3.3.5/etc/hadoop/core-site.xml

五、配置worker

[antares@hadoop102 hadoop]$ vim /opt/module/hadoop-3.3.5/etc/hadoop/workers

文件中添加下述内容:

hadoop102

hadoop103

hadoop104

同步所有节点配置文件 :Hadoop103 & hadoop104 都需要配置上worker.

六、启动集群

6-1 如果集群是第一次启动

根据上述的部署规划,102资源上 部署的是NameNode,需要在hadoop102节点格式化NameNode。

这里有个必坑指南:(注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。)

回到hadoop根目录,hadoop102节点格式化NameNode

[antares@hadoop102 hadoop-3.3.5]$ pwd

/opt/module/hadoop-3.3.5

[antares@hadoop102 hadoop-3.3.5]$ hdfs namenode -format

# 查看data中的namenode信息hdfs namenode -format

[antares@hadoop102 hadoop-3.3.5]$ ls data/dfs/name/current/

6-2 启动HDFS

[antares@hadoop102 hadoop-3.3.5]$ sbin/start-dfs.sh 

6-3 启动YARN

在配置了ResourceManager的节点(hadoop103)启动YARN

[antares@hadoop103 hadoop-3.3.5]$ sbin/start-yarn.sh

6-4 Web端查看HDFS的NameNode

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

b)查看HDFS上存储的数据信息(顶部导航栏Utilities下拉菜单)

6-5 Web端查看YARN的ResourceManager

(a)浏览器中输入:http://hadoop103:8088
(b)查看YARN上运行的Job信息

七、集群基本测试

1)上传文件到集群

Ø 上传小文件,在浏览器中查看文件内容

[antares@hadoop102 ~]$ hadoop fs -mkdir /test

[antares@hadoop102 ~]$ hadoop fs -put $HADOOP_HOME/testinput/kk.txt /test
put: `/opt/module/hadoop-3.3.5/testinput/kk.txt': No such file or directory

若出现上述报错,可以找到$HADOOP_HOME 看下面有哪些目录有小文件

可以利用现有的文件夹重新上传小文件,建立了两个小文件:

[antares@hadoop102 ~]$ hadoop fs -put $HADOOP_HOME/wcinput/word.txt /input

[antares@hadoop102 ~]$ hadoop fs -put $HADOOP_HOME/wcinput/word.txt /test

 

进入102资源的浏览器下查看上传的小文件情况

Ø 上传大文件,在浏览器中查看文件内容

[antares@hadoop102 ~]$ hadoop fs -put  /opt/software/jdk-8u391-linux-x64.tar.gz  /test

下述浏览器可以看到该文件做了3个副本,相当于备份了3份。 

上传文件后查看文件存放在什么位置-查看HDFS文件存储路径

[antares@hadoop102 subdir0]$ pwd
/opt/module/hadoop-3.3.5/data/dfs/data/current/BP-1445008223-192.168.193.161-1706011370209/current/finalized/subdir0/subdir0

 [antares@hadoop102 subdir0]$ cat blk_1073741826

 小文件得时候不做切片,大文件会出现切片:

检查103 和 104 资源上的备份情况如下:

 

测试通过,集群搭建完成。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1407459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度强化学习Task3:A2C、A3C算法

本篇博客是本人参加Datawhale组队学习第三次任务的笔记 【教程地址】 文章目录 Actor-Critic 算法提出的动机Q Actor-Critic 算法A2C 与 A3C 算法广义优势估计A3C实现建立Actor和Critic网络定义智能体定义环境训练利用JoyRL实现多进程 练习总结 Actor-Critic 算法提出的动机 蒙…

Matlab|基于改进遗传算法的储能选址定容(可任意设定储能数量)

目录 主要内容 部分代码 结果一览&#xff08;以3个储能为例&#xff09; 下载链接 主要内容 该模型采用改进遗传算法优化配电网系统中储能选址位置和容量&#xff0c;程序以IEEE33节点系统为分析对象&#xff0c;以网损最小为目标&#xff0c;采用matpower实现系…

谷粒商城-微服务架构图

整体架构 分布式划分图

蓝牙运动耳机什么牌子的好?蓝牙运动耳机品牌排行榜前十名

​运动耳机是耳机中使用场景最广泛的一类&#xff0c;特别适合户外运动、健身和骑行等场景。在众多运动耳机中&#xff0c;哪一款更值得入手呢&#xff1f;今天我将向大家推荐几款相当不错的运动耳机&#xff0c;它们不仅音质上乘&#xff0c;还能满足不同运动场景的需求。 1.…

ozon促销活动100+店铺如何多店铺批量加入活动产品?ozon促销产品怎么删除?

很多Ozon卖家为实现店铺引流&#xff0c;会参与许多官方促销活动&#xff0c;如果每个活动都需要单独管理&#xff0c;会消耗不少的时间成本&#xff0c;操作起来也会非常困难。 尤其是随着运营店铺数量的增加&#xff0c;多个店铺多个促销活动来回切换管理&#xff0c;不仅耗…

modbus poll测试工具测试modbus tcp与PLC设备连接使用方法

socket默认端口是502&#xff0c;socket连上之后&#xff0c; 按照modbuspoll工具设置的读写参数 生成的RTU命令格式去组装读PLC的设备数据 modbuspoll工具配置&#xff0c;以v9.9.2中文破解版为例&#xff1a; 首先点连接菜单&#xff08;connection&#xff09;建立连接&…

Database history tablesupgraded

zabbix升级到6之后&#xff0c;配置安装完成会有一个红色输出&#xff0c;但是不影响zabbix使用&#xff0c;出于强迫症&#xff0c;找到了该问题的解决方法。 Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to nume…

C++:优先队列-Priority_queue

目录 1.关于优先队列 2.priority_queue的使用 1.构造方法 2.empty();判空 3.size(); 4.top(); 5.push(val); 6.pop(); 3.优先队列模拟实现 4.用优先队列解决数组中第K个大的元素 1.关于优先队列 在C中&#xff0c;可以使用STL&#xff08;标准模板库&#xff09;中的p…

【第十五课】数据结构:堆 (“堆”的介绍+主要操作 / acwing-838堆排序 / 时间复杂度的分析 / c++代码 )

目录 关于堆的一些知识的回顾 数据结构&#xff1a;堆的特点 "down" 和 "up"&#xff1a;维护堆的性质 down up 数据结构&#xff1a;堆的主要操作 acwing-838堆排序 代码如下 时间复杂度分析 确实是在写的过程中频繁回顾了很多关于树的知识&…

C++基础语法和用法

文章目录 1.hello world2.引入namespace(命名空间/域问题)3.输入输出4.缺省参数/默认参数5.函数重载6.引用7.内联函数8.auto关键字&#xff0c;基于范围的for循环&#xff0c;空指针NULL8.1 auto8.2 基于范围的for循环8.3 nullptr 1.hello world #include <iostream> us…

diffusion入门

1. diffusion model 概念 https://zhuanlan.zhihu.com/p/638442430 这篇博客写得很好&#xff0c;顺便做一点笔记记录一下。 原博客附带的代码也很清晰易懂。 1.1 前向过程 后一个过程等于前一个结果的均值乘上sqrt(1-beta_t), 再加上方差beta_t的噪声。 这样下去可以得到 x…

EasyCVR视频融合平台铁路抑尘喷洒监控系统视频搭建方案

一、建设背景与需求分析 随着我国铁路建设的迅猛发展&#xff0c;铁路抑尘喷洒设备质量监控系统在技术和管理方面都取得了显著的进步&#xff0c;面临安全压力也随之加大。为了确保铁路运输的安全和稳定&#xff0c;车站监控室、喷洒区域、操作间以及安全防护区域等关键区域都…

08章【文件与IO】

文章目录 File类IO流字节流字符流字节字符转换流缓冲流打印流对象流字节数组流数据流字符串流、管道流、合并流 RandomAccessFileProperties文件操作文件压缩与解压缩装饰者模式常见字符编码New IO File类 File类的基本概念 File类&#xff1a;表示文件和目录路径名的抽象表示…

低功耗设计之Retention cell

SoC芯片在需要休眠时候&#xff0c;可以关掉CPU总线等高速逻辑来降低功耗&#xff0c;但是重新上电唤醒又太慢怎么办&#xff1f;我们可以用retention cell来保存CPU的堆栈等关键寄存器数据&#xff0c;既满足了上电唤醒速度快的需求&#xff0c;也满足了掉电省功耗的要求。景芯…

MODNet 剪枝再思考: 优化计算量的实验历程分享

目录 1 写在前面 2 模型分析 3 遇到问题 4 探索实验一 4.1 第一部分 4.2 第二部分 Error 1 Error 2 4.3 实验结果 ①参数量与计算量 ②模型大小 ③推理时延 5 探索实验二 5.1 LR Branch 5.2 HR Branch 5.2.1 初步分析 5.2.2 第一部分 enc2x 5.2.3 第二部分 en…

【前端web入门第一天】01 开发环境、HTML基本语法文本标签

文章目录: 1. 准备开发环境 1.1 vs Code基本使用 2.HTML文本标签 2.1 标签语法2.2 HTML基本骨架2.3 标签的关系2.4 注释2.5 标题标签2.6 段落标签2.7 换行与水平线标签2.8 文本格式化标签 1. 准备开发环境 VSCode与谷歌浏览器离线版,安装包评论区自提. VSCode默认安装位置:C…

硬件之相机选型

1. 相机成像原理 相机成像原理如图所示&#xff1a; 注&#xff1a; 当物距为无穷远时&#xff0c;像距等于焦距&#xff0c;成像在焦平面上&#xff1b;当物距为无穷无与两倍焦距之间时&#xff0c;像距在焦距与两倍焦距之间&#xff0c;成缩小的实像&#xff1b;当物距等于两…

前端项目打包使用nginx本地服务器运行

1.下载安装nginx nginx: 下载nginx 中文网提供nginx中文文档nginx下载等内容https://nginx.p2hp.com/en/download.html 稳定版就可以&#xff0c;下载完后将下载的压缩包解压 2.修改配置文件 主要修改端口&#xff0c;以及项目所在文件夹&#xff0c;直接放html下就行 server …

基于Java SSM框架实现在线教育资源管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架在线教育资源管理系统演示 摘要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线教育资源管理系统&#xff0c;主要的模块包括管理员&#xff1b;个人中心、学生管理、教师管…

【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍

Java技术体系方向-JVM虚拟机参数调优原理 内容简介栈上分配与逃逸分析逃逸分析(Escape Analysis)栈上分配基本思想使用场景线程私有对象 虚拟机内存逻辑图JVM内存分配源码&#xff1a;代码总体逻辑 在某些场景使用栈上分配设置JVM运行参数&#xff1a;开启逃逸模式&#xff0c;…