hdfs伪分布式集群搭建

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.mfbz.cn/a/888909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】Shell脚本基础+条件判断与循环控制

目录 一、介绍 1. Linux提供的Shell解析器 2. bash和sh关系 3. Centos默认的Shell解析器是bash 二、定义 1. 变量名的定义规则 2. 等号周围没有空格 3. 查看变量 4. 删除变量 5. 正确地定义数组 6. 将局部环境变量提升为全局 7. 正确选择引号 8. 特殊变量名 三…

QT实现QMessageBox中文按钮

这是我记录Qt学习过程心得文章的第二篇&#xff0c;主要是为了方便QMessageBox弹出框的使用&#xff0c;通过自定义的方式&#xff0c;将其常用的功能&#xff0c;统一封装成一个函数&#xff0c;还是写在了Skysonya类里面。 实现代码&#xff1a; //中文提示对话框 bool Sky…

Python爬虫使用示例-古诗词摘录

一、分析需求 目标地址&#xff1a; https://www.sou-yun.cn/Query.aspx?typepoem&id二、提取诗句 import os import re import requests import parsel#url https://www.sou-yun.cn/PoemIndex.aspx?dynastyTang&author14976&typeJie urlhttps://www.sou-yun.…

【PGCCC】在 Postgres 上构建图像搜索引擎

我最近看到的最有趣的电子商务功能之一是能够搜索与我手机上的图片相似的产品。例如&#xff0c;我可以拍一双鞋或其他产品的照片&#xff0c;然后搜索产品目录以查找类似商品。使用这样的功能可以是一个相当简单的项目&#xff0c;只要有合适的工具。如果我们可以将问题定义为…

apisix云原生网关

定义 企业级网关通过域名、路由将请求分发到对应的应用上&#xff0c;通常承载数千个服务的流量&#xff0c;对稳定性有较高要求。 CNCF全景图 选型 Kubernetes抽象出两个核心概念&#xff1a;Service&#xff0c;为多个Pod提供统一的访问入口&#xff1b;Ingress&#xff…

汽车车轮平衡块行业前景:预计2030年全球市场规模将达到10亿美元

汽车车轮平衡块&#xff0c;也称为轮胎平衡块&#xff0c;是一种安装在车轮上的配重部件。它的主要作用是帮助车轮在高速旋转状态下保持动平衡。当车轮高速旋转时&#xff0c;由于车轮的动态不平衡状态&#xff0c;会导致车辆在行驶中出现车轮抖动和方向盘震动的现象。汽车车轮…

VSOMEIP代码阅读整理(1) - 网卡状态监听

一. 概述 在routing进程所使用的配置文件中&#xff0c;存在如下配置项目&#xff1a;{"unicast" : "192.168.56.101",..."service-discovery" :{"enable" : "true","multicast" : "224.244.224.245",…

【数据结构】栈和队列 + 经典算法题

目录 前言 一、栈 二、栈的实现 三、栈的循环遍历演示 四、栈的算法题 // 一、队列 二、队列的实现 三、使用演示 四、队列的算法题 总结 前言 本文完整实现了栈和队列的数据结构&#xff0c;以及栈和队列的一些经典算法题&#xff0c;让我们更加清楚了解这两种数据…

昇思MindSpore进阶教程--数据处理性能优化(中)

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 shuffle性能优化 shuffle操作主要是对有…

PCB缺陷检测数据集 xml 可转yolo格式 ,共10688张图片

PCB缺陷检测数据集&#xff08;yolov5,v7,v8&#xff09; 数据集总共有两个文件夹&#xff0c;一个是pcb整体标注&#xff0c;一个是pcb部分截图。 整体标注有6个分类&#xff0c;开路&#xff0c;短路等都已经标注&#xff0c;标注格式为xml&#xff0c;每个文件夹下有100多张…

vue3 环境配置vue-i8n国际化

一.依赖和插件的安装 主要是vue-i18n和 vscode的自动化插件i18n Ally https://vue-i18n.intlify.dev/ npm install vue-i18n10 pnpm add vue-i18n10 yarn add vue-i18n10 vscode在应用商城中搜索i18n Ally&#xff1a;如图 二.实操 安装完以后在对应项目中的跟package.jso…

探索Python的工业通信之光:pymodbus的奇妙之旅

文章目录 探索Python的工业通信之光&#xff1a;pymodbus的奇妙之旅背景&#xff1a;为何选择pymodbus&#xff1f;pymodbus是什么&#xff1f;如何安装pymodbus&#xff1f;5个简单的库函数使用方法3个场景使用示例常见bug及解决方案总结 探索Python的工业通信之光&#xff1a…

排序|插入排序|希尔排序|直接选择排序|堆排序的实现即特性(C)

插入排序 基本思想 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a; 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。 单趟 当插入第 i ( i ≤ 1…

共享单车轨迹数据分析:以厦门市共享单车数据为例(十)

副标题&#xff1a;共享单车与地铁站出入口分布情况探究——以厦门市为例 假期结束了&#xff0c;我们满血复活&#xff0c;继续更新&#xff01; 本篇文章我们讨论共享单车与地铁出入口的关系&#xff0c;在上一篇文章中&#xff0c;我们讨论了综合得分指数最高的地铁站——…

Windows系统安装Docker

文章参考&#xff1a;Windows 安装docker&#xff08;详细图解&#xff09;-CSDN博客 安装包下载&#xff1a; 安装wsl的官方文档&#xff1a;安装 WSL | Microsoft Learn 查看windows相关配置 打开 (CTRLALTDELETE) 任务管理器 -> 选择性能 -> CPU ->虚拟化&#…

【重学 MySQL】四十七、表的操作技巧——修改、重命名、删除与清空

【重学 MySQL】四十七、表的操作技巧——修改、重命名、删除与清空 修改表添加字段语法示例注意事项 删除字段语法示例 修改字段使用 MODIFY COLUMN语法示例 使用 CHANGE COLUMN语法示例 重命名表语法示例 删除表语法示例 清空表使用 TRUNCATE TABLE使用 DELETE FROM对比 TRUNC…

处理Java内存溢出问题(java.lang.OutOfMemoryError):增加JVM堆内存与调优

处理Java内存溢出问题&#xff08;java.lang.OutOfMemoryError&#xff09;&#xff1a;增加JVM堆内存与调优 在进行压力测试时&#xff0c;遇到java.lang.OutOfMemoryError: Java heap space错误或者nginx报错no live upstreams while connecting to upstream通常意味着应用的…

Unity MVC框架演示 1-1 理论分析

本文仅作学习笔记分享与交流&#xff0c;不做任何商业用途&#xff0c;该课程资源来源于唐老狮 1.一般的图解MVC 什么是MVC我就不说了&#xff0c;老生常谈&#xff0c;网上有大量的介绍&#xff0c;想看看这三层都起到什么职责&#xff1f;那就直接上图吧 2.我举一个栗子 我有…

OpenSource - License 开源项目 TrueLicense

文章目录 官网集成Demo 官网 https://truelicense.namespace.global/ https://github.com/christian-schlichtherle/truelicense 集成Demo https://github.com/christian-schlichtherle/truelicense-maven-archetype https://github.com/zifangsky/LicenseDemo https://git…

机器学习——多模态学习

多模态学习&#xff1a;机器学习领域的新视野 引言 多模态学习&#xff08;Multimodal Learning&#xff09;是机器学习中的一个前沿领域&#xff0c;它涉及处理和整合来自多个数据模式&#xff08;如图像、文本、音频等&#xff09;的信息。随着深度学习的蓬勃发展&#xff0…