hdfs伪分布式集群搭建

news2024/10/5 20:48:51

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>

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:$PATH

EXPORT 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可直接打包为镜像启动三个容器即可。

4.启动hdfs机器

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

/root/hadoop-3.3.2/bin

4.1 node1 主节点启动

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

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

在这里插入图片描述

yarn的ui

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

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

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

相关文章

Linux环境搭建git服务器和代码自动化部署

在开发过程中&#xff0c;我们经常遇到的问题就是提交代码到测试地址&#xff0c;然后进行线上测试。 要实现Git代码的自动化部署&#xff0c;考虑以下几种方法 FTP提交&#xff1a;可以使用FTP将代码上传到服务器自动化部署工具&#xff1a;如Jenkins、当代码被推送到仓库时…

【JavaWeb实战项目】在线蛋糕商城的设计与实现(附完整源代码)

一、系统介绍 本项目分为前后台&#xff0c;分为管理员与普通用户两种角色&#xff0c;管理员登录后台&#xff0c;普通用户登录前台&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录 商品管理 订单管理 客户管理 类目管理等功能。 用户角色包含以下功能&a…

MySQL 表的操作

温馨提示&#xff1a;非特殊情况不要修改和删除表 创建表 第一种方式 第二种方式 第三种方式 简单查看 查看表 查询当前数据库&#xff1a;select database(); 查询当前数据库中具有的表&#xff1a;show tables; 查看表的简略信息&#xff1a;desc 表名1&#xff1b; 查看表的…

22.第二阶段x86游戏实战2-背包遍历REP指令详解

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

双十一狂欢派对 五款市面上获得好评的好物

一年一度的双十一购物狂欢派对即将到来&#xff0c;这一天不仅是广大消费者的福利日&#xff0c;也是各大品牌展示实力的战场。随着市场的不断发展与消费者需求的多样化&#xff0c;双十一已经不仅仅是降价促销的代名词&#xff0c;更是品质与创新的竞技场。在琳琅满目的商品中…

【C++】--类与对象(1)

&#x1f9c7;个人主页: 起名字真南 &#x1f32d;个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 类的定义1.1 类定义格式1.1.1 Stack类1.1.2 Date类1.1.3 Struct格式 1.2 访问限定符1.3 类域 2 实例化2.2 对象大小 3 this指针 1 类的定义 1.1 类定义格式 1 class为定义…

软件设计之SSM(5)

软件设计之SSM(5) 路线图推荐&#xff1a; 【Java学习路线-极速版】【Java架构师技术图谱】 尚硅谷新版SSM框架全套视频教程&#xff0c;Spring6SpringBoot3最新SSM企业级开发 资料可以去尚硅谷官网免费领取 学习内容&#xff1a; AOP面向切面编程 代理AOP面向切面编程获取…

好用的股票预测八大算法的Python实现

股票预测算法通常涉及时间序列分析、统计学、机器学习和深度学习等多种方法。以下是经典的、常见的十大股票预测算法及其Python实现。这些算法各有优势&#xff0c;可以用于不同的市场预测场景。以下代码实现中&#xff0c;我们将使用yfinance下载数据&#xff0c;并展示各算法…

如何创建商业博客:一步一步教你从零开始

搭建一个成功的商业博客&#xff0c;不仅可以提升品牌形象&#xff0c;还能吸引更多潜在客户。作为一个在这方面有些经验的人&#xff0c;我来分享一些实用的步骤和建议&#xff0c;希望对你有所帮助。 一、明确你的目标和客户群体 确定目标&#xff1a;首先&#xff0c;你得搞…

Origin图像中插入各种符号以及矩形椭圆等

画各种形状 空白处右击 文字处右击

【RISCV指令集手册】向量扩展v1.0

概述 从rvv 0.9说起 此前写过向量扩展0.9的阅读记录&#xff0c;三年已过&#xff0c;本以为不再参与RVV的相关开发&#xff0c;奈何造化弄人&#xff0c;旧业重操&#xff0c;真就世事难料呀。 总的来说1.0版本相比0.9版本的扩充了较多内容&#xff0c;但大部分为指令功能的…

力扣1~5题

题1&#xff08;简单&#xff09;. 思路&#xff1a; 因为时间复杂度小于n^2,所以不能双for遍历&#xff0c;怎么优化&#xff1f; 这里采用一个键值对的形式&#xff0c;存储nums离target的间隔和它的下标&#xff0c;只要n&#xff0c;然后再遍历nums有没有刚好是这个距离的就…

cnn突破四(生成卷积核与固定核对比)

cnn突破三中生成四个卷积核&#xff0c;训练6万次&#xff0c;91分&#xff0c;再训练6万次&#xff0c;95分&#xff0c;不是很满意&#xff0c;但又找不到问题点&#xff0c;所以就想了个办法&#xff0c;使用三个固定核&#xff0c;加上三层bpnet神经网络&#xff0c;看看效…

从零开始学cv-16:超像素图像分割

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、超像素图像分割简介二&#xff1a;SLIC超像素图像分割三&#xff1a;Seed超像素分割算法四 &#xff1a;LSC超像素分割 前言 在数字图像处理和计算机视觉领…

2、Redis数据安全性分析

文章目录 一、Redis性能压测脚本介绍二、Redis数据持久化机制详解1、整体介绍Redis的数据持久化机制2、RDB详解3、AOF详解4、混合持久化策略 三、Redis主从复制Replica机制详解**1、Replica是什么&#xff1f;有什么用&#xff1f;****2、如何配置Replica&#xff1f;****3、如…

【AI知识点】正态分布(高斯分布)和中心极限定理(CLT)

正态分布&#xff08;Normal Distribution&#xff09;和中心极限定理&#xff08;Central Limit Theorem, CLT&#xff09; 是统计学中非常重要的概念&#xff0c;它们广泛应用于概率论、数据分析、机器学习等领域。以下将详细解释这两个概念及其关系。 1. 正态分布&#xff…

【C++】入门基础介绍(上)C++的发展历史与命名空间

文章目录 1. 前言2. C发展历史2. 1 C版本更新特性一览2. 2 关于C23的一个小故事: 3. C的重要性3. 1 编程语言排行榜3. 2 C在工作领域中的应用 4. C学习建议和书籍推荐4. 1 C学习难度4. 2 学习书籍推荐 5. C的第一个程序6. 命名空间6. 1 namespace的价值6. 2 namespace的定义6. …

《CUDA编程》4.CUDA程序的错误检测

在编写CUDA程序时&#xff0c;有的错误在编译过程中被发现&#xff0c;称为编译错误&#xff0c;有的在运行时出现&#xff0c;称为运行时刻错误&#xff0c;本章讨论如何排查运行时刻错误 1 一个检测CUDA运行时错误的宏函数 1.1 编写错误检查宏函数 在《CUDA编程》3.简单CUD…

从0到1:培训机构排课小程序开发笔记一

业务调研 随着人们生活水平的提高&#xff0c;健康意识和学习需求日益增强&#xff0c;私教、健身和培训机构的市场需求迅速增长。高效的排课系统不仅可以提升机构的管理效率&#xff0c;还能提高学员的满意度。解决传统的排课方式存在的时间冲突、信息不对称、人工操作繁琐等…

51单片机的家用煤气报警系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器CO传感器蓝牙LED、蜂鸣器等模块构成。适用于家用天然气泄露报警器、煤气泄露报警器、无线报警等相似项目。 可实现功能: 1、LCD1602实时显示温度和煤气浓度 2、温度传感器DS18B20采集环境温度 3、CO传…