hdfs伪分布式集群搭建

ops/2024/10/10 22:12:10/

1 准备

  1. vmware 虚拟三台centos系统的节点
  2. 三台机器安装好jdk环境
  3. 关闭防火墙(端口太多,需要的自行去开关端口)
  4. hadoop压缩包解压至三台服务器

可在一台节点上配置完成后克隆为三台节点

2 host修改

vi /etc/hosts

在每个节点上添加三台机器的ip 域名解析

192.168.10.16 node1
192.168.10.17 node2
192.168.10.18 node3

后续hdfs注册时会自动像主节点注册且必须要dns域名

3 配置文件修改

配置文件位于hadoop解压目录下的

hadoop-3.3.2/etc/hadoop

3.1 core-site.xml修改

<!-- 配置 HDFS 主机地址与端口号 -->
<property><name>fs.defaultFS</name><value>hdfs://node1:8020</value>
</property>
<!-- 配置 Hadoop 缓冲区-->
<property><name>io.file.buffer.size</name><value>131072</value>
</property>
<!-- 在Web Ul访问HDFS使用的用户名。->
<property><name>hadoop.http.staticuser.user</name><value>root</value>
</property>

hdfssitexml_49">3.2 hdfs-site.xml修改

<property><name>dfs.datanode.data.dir.perm</name><value>700</value>
</property>
<property><name>dfs.namenode.name.dir</name><value>/data/nn</value>
</property>
<property><name>dfs.namenode.hosts</name><value>192.168.10.16,192.168.10.17,192.168.10.18</value>
</property>

3.3 mapred-site.xml修改

<property><name>mapreduce.framework.name</name><value>yarns</value>
</property>
<!-- MR App Master环境变量。-->
<property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR MapTask环境变量。-->
<property><name>mapreduce.map.eny</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<!-- MR ReduceTask环境变量。-->
<property><name>mapreduce.reduce.eny</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

3.4 yarn-site.xml 修改

<!-- yarn集群主角色RM运行机器。-->
<property><name>yarn.resourcemanager.hostname</name><value>node1</value>
</property>
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shutie,才可运行MR程序。-->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<!-- 每个容器请求的最小内存资源(以MB为单位)。-->
<property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value>
</property>
<!-- 每个容器请求的最大内存资源(以MB为单位)。-->
<property><name>yarn.scheduler.maximum-allocation-mb</name><value>2048</value>
</property>
<!-- 容器虚拟内存与物理内存之间的比率-->
<property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>4</value>
</property><property><name>yarn.nodemanager.resource-priority.enabled</name><value>true</value>
</property>

3.5环境变量配置

vi /etc/profile

根据自己的安装目录修改

EXPORT JAVA_HOME=/root/jdk1.8
EXPORT JAVA_PATH=$JAVA_HOME/bin
EXPORT PATH=$JAVA_PATH:$PATHEXPORT HADOOP_HOME=/hadoop-3.3.2/hadoop-3.3.2 
EXPORT HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
EXPORT HADOOP_LOG_DIR=$HADOOP_HOME/logs
EXPORT PATH=$PATH:$HADOOP_HOME/sbin
EXPORT PATH=$PATH:$HADOOP_HOME/bin#hadoop启动用户
EXPORT HDFS_NAMENODE_USER=ROOT
EXPORT HDFS_DATANODE_USER=ROOT
EXPORT HDFS_SECONDARYNAMENODE_USER=ROOT
source /etc/profile

上述配置可以在一台机器上修改完成后在vmware上克隆为其他节点。使用docker可直接打包为镜像启动三个容器即可。

hdfs_157">4.启动hdfs机器

命令目录,可自行加到环境变量里面

/root/hadoop-3.3.2/bin

4.1 node1 主节点启动

hdfs_namenode_165">hdfs namenode初始化

./hadoop namenode -format

启动名称节点

hdfs --daemon start namenode

启动数据节点

hdfs --daemon start datanode

启动yarn 资源管理器

yarn --daemon start resourcemanager

启动yarn节点管理器

yarn --daemon start nodemanager

4.2启动node2

启动二次名称节点

hdfs --daemon start secondarynamenode

启动数据节点

hdfs --daemon start datanode

启动yarn节点管理器

yarn --daemon start nodemanager

4.3 启动node3

启动数据节点

hdfs --daemon start datanode

启动yarn节点管理器

yarn --daemon start nodemanager

启动日志查看

cd /root/hadoop-3.3.2/logs

在这里插入图片描述

对应的datanode、namenode、nodemanager、resourcemanager等,使用jps查看各个几点是否有服务未启动,并通过日志排查。
在这里插入图片描述
启动至此已完成

一键启动

一键启动需配置服务器之间免密登录,然后在/root/hadoop-3.3.2/etc/hadoop
/wokers配置服务器ip/域名

192.168.10.16
192.168.10.17
192.168.10.18

启动命令目录

cd /root/hadoop-3.3.2/sbin
  1. start-dfs.sh 自动启动所有节点 hdfs对应的 datanode|namenode|secondarynamenode
  2. start-yarn.sh 启动所有节点的yarn 对应的 resourcemanager|nodemanager
  3. start-all.sh 启动上述两者

hdfs_ui_249">hdfs 的ui

http://192.168.10.16:9870/
在这里插入图片描述点击 live Nodes 可看到数据节点

在这里插入图片描述

yarn的ui

http://192.168.10.16:8088
在这里插入图片描述
上诉显示即搭建成功


http://www.ppmy.cn/ops/123673.html

相关文章

IPD是什么?IPD开发流程有哪些阶段?

在当今竞争激烈的市场环境中&#xff0c;产品开发的速度和质量成为企业获取竞争优势的关键因素。IPD&#xff08;Integrated Product Development&#xff09;&#xff0c;即集成产品开发&#xff0c;作为一种先进的产品研发管理方法&#xff0c;被广泛认为是提升产品开发效率和…

Apache POI 2024/10/2

导入Apache POI的maven坐标 通过POI向Excel文件写入文件内容 package com.sky.test;import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File; import java.…

Vue/组件的生命周期

这篇文章借鉴了coderwhy大佬的Vue生命周期 在Vue实例化或者创建组件的过程中 内部涉及到一系列复杂的阶段 每一个阶段的前后时机都可能对应一个钩子函数 以下是我根据coderwhy大佬文章对于每一个阶段的一些看法 1.过程一 首先实例化Vue或者组件 在实例化之前 会对应一个钩子函…

什么是唯一性约束(UNIQUE Constraint)?

唯一性约束是数据库表设计中的一种完整性约束&#xff0c;用于确保列或一组列中的所有值都是唯一的。 这意味着在一个给定的列或列组内&#xff0c;不能有两个行拥有相同的值。 唯一性约束通常用来维护数据的完整性&#xff0c;并防止重复记录。 在关系型数据库管理系统&…

Redis:hash类型

Redis&#xff1a;hash类型 hash命令设置与读取HSETHGETHMGETHSETNX 哈希操作HEXISTSHDELHKEYSHVALSHGETALLHLENHINCRBYHINCRBYFLOAT 内部编码ziplisthashtable 目前主流的编程语言中&#xff0c;几乎都提供了哈希表相关的容器&#xff0c;Redis自然也会支持对应的内容&#xf…

【漏洞复现】方正畅享全媒体新闻采编系统 addOrUpdateOrg XXE漏洞

》》》产品描述《《《 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台&#xff0c;融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成&#xff0c…

java多线程场景1-模拟银行账户转账

场景&#xff1a;模拟银行账户转账 创建一个模拟银行账户类&#xff0c;支持多线程环境下并发转账操作。确保转账过程中账户余额不会出现负数&#xff0c;并且转账金额正确。 示例代码 银行账户类 有1个属性&#xff0c;账户余额 有3个方法&#xff0c;存款&#xff0c;转账…

Teigha.NET项目创建示例

项目配置 Teigha_Net_4.00_10下载 创建.NET Framework 4.7.2控制台应用项目。将Teigha_Net_4.00_10文件夹复制到项目Debug文件夹内。在项目的App.config文件中配置Teigha_Net_4.00_10文件夹路径&#xff08;这样就无需把Teigha_Net_4.00_10里面的文件全部复制到Debug文件夹&a…