当前位置: 首页 > news >正文

搭建伪分布式Hadoop

文章目录

  • 一、Hadoop部署模式
    • (一)独立模式
    • (二)伪分布式模式
    • (三)完全分布式模式
  • 二、搭建伪分布式Hadoop
    • (一)登录虚拟机
    • (二)上传安装包
    • (三)配置免密登录
      • 1、生成密钥对
      • 2、将生成的公钥发送到本机
      • 3、验证虚拟机是否能免密登录自己
    • (四)配置JDK
      • 1、解压到指定目录
        • (1)解压到指定目录
        • (2)查看java解压目录
      • 2、配置JDK环境变量
      • 3、让环境变量配置生效
      • 4、查看JDK版本
      • 5、玩一玩Java程序
    • (五)配置Hadoop
      • 1、解压hadoop安装包
        • (1)解压到指定目录
        • (2)查看hadoop解压目录
        • (3)常用目录和文件
      • 2、配置hadoop环境变量
      • 3、让环境变量配置生效
      • 4、查看hadoop版本
      • 5、编辑Hadoop环境配置文件 - hadoop-env.sh
      • 6、编辑Hadoop核心配置文件 - core-site.xml
      • 7、编辑HDFS配置文件 - hdfs-site.xml
      • 8、编辑MapReduce配置文件 - mapred-site.xml
      • 9、编辑YARN配置文件 - yarn-site.xml
      • 10、编辑workers文件确定数据节点
    • (六)格式化名称节点
    • (七)启动Hadoop服务
      • 1、启动hdfs服务
      • 2、启动yarn服务
      • 3、查看Hadoop进程
    • (八)查看Hadoop WebUI
    • (九)关闭Hadoop服务
      • 1、关闭hdfs服务
      • 2、关闭yarn服务

一、Hadoop部署模式

(一)独立模式

  • 在独立模式下,所有程序都在单个JVM上执行,调试Hadoop集群的MapReduce程序也非常方便。一般情况下,该模式常用于学习或开发阶段进行调试程序。

(二)伪分布式模式

  • 在伪分布式模式下, Hadoop程序的守护进程都运行在一台节点上,该模式主要用于调试Hadoop分布式程序的代码,以及程序执行是否正确。伪分布式模式是完全分布式模式的一个特例。

(三)完全分布式模式

  • 在完全分布式模式下,Hadoop的守护进程分别运行在由多个主机搭建的集群上,不同节点担任不同的角色,在实际工作应用开发中,通常使用该模式构建企业级Hadoop系统。

二、搭建伪分布式Hadoop

(一)登录虚拟机

  • 登录ied虚拟机
    在这里插入图片描述

(二)上传安装包

  • 上传jdk和hadoop安装包
    在这里插入图片描述

  • 查看上传的安装包
    在这里插入图片描述

(三)配置免密登录

1、生成密钥对

  • 执行命令:ssh-keygen
    在这里插入图片描述
  • 执行命令后,连续敲回车,生成节点的公钥和私钥,生成的密钥文件会自动放在/root/.ssh目录下。
    在这里插入图片描述

2、将生成的公钥发送到本机

  • 执行命令:ssh-copy-id root@ied
    在这里插入图片描述

3、验证虚拟机是否能免密登录自己

  • 执行命令:ssh ied
    在这里插入图片描述

(四)配置JDK

1、解压到指定目录

(1)解压到指定目录
  • 执行命令:tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local
    在这里插入图片描述
(2)查看java解压目录
  • 执行命令:ll /usr/local/jdk1.8.0_231
    在这里插入图片描述

2、配置JDK环境变量

  • 执行命令:vim /etc/profile
    在这里插入图片描述
export JAVA_HOME=/usr/local/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 存盘退出
    在这里插入图片描述

3、让环境变量配置生效

  • 执行命令:source /etc/profile
    在这里插入图片描述
  • 查看环境变量JAVA_HOME
    在这里插入图片描述

4、查看JDK版本

  • 执行命令:java -version
    在这里插入图片描述

5、玩一玩Java程序

  • 编写源程序,执行命令:vim HelloWorld.java
    在这里插入图片描述
  • 编译成字节码文件,执行命令:javac HelloWorld.java
    在这里插入图片描述
  • 解释执行类,执行命令:java HelloWorld
    在这里插入图片描述

(五)配置Hadoop

1、解压hadoop安装包

(1)解压到指定目录
  • 执行命令:tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local
    在这里插入图片描述
(2)查看hadoop解压目录
  • 执行命令:ll /usr/local/hadoop-3.3.4
    在这里插入图片描述
(3)常用目录和文件
  • bin目录 - 存放命令脚本
    在这里插入图片描述
  • etc/hadoop目录 - 存放hadoop的配置文件
    在这里插入图片描述
  • lib目录 - 存放hadoop运行的依赖jar包
    在这里插入图片描述
  • sbin目录 - 存放启动和关闭Hadoop等命令
    在这里插入图片描述
  • libexec目录 - 存放的也是hadoop命令,但一般不常用
    在这里插入图片描述

2、配置hadoop环境变量

  • 执行命令:vim /etc/profile
    在这里插入图片描述
  • 说明:hadoop 2.x用不着配置用户,只需要前两行即可

3、让环境变量配置生效

  • 执行命令:source /etc/profile
    在这里插入图片描述

4、查看hadoop版本

  • 执行命令:hadoop version
    在这里插入图片描述

5、编辑Hadoop环境配置文件 - hadoop-env.sh

  • 执行命令:cd etc/hadoop,进入hadoop配置目录
    在这里插入图片描述
  • 执行命令:vim hadoop-env.sh,添加三条环境变量配置
    在这里插入图片描述
  • 存盘退出后,执行命令source hadoop-env.sh,让配置生效
    在这里插入图片描述

6、编辑Hadoop核心配置文件 - core-site.xml

  • 执行命令:vim core-site.xml
    在这里插入图片描述
<configuration><!--用来指定hdfs的老大--><property><name>fs.defaultFS</name><value>hdfs://ied:9000</value></property><!--用来指定hadoop运行时产生文件的存放目录--><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop-3.3.4/tmp</value></property>
</configuration>
  • 由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://ied:9000,否则必须用IP地址hdfs://192.168.1.100:9000
    在这里插入图片描述

7、编辑HDFS配置文件 - hdfs-site.xml

  • 执行命令:vim hdfs-site.xml
    在这里插入图片描述
<configuration><!--设置名称节点的目录--><property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop-3.3.4/tmp/namenode</value></property><!--设置数据节点的目录--><property><name>dfs.datanode.data.dir</name><value>/usr/local/hadoop-3.3.4/tmp/datanode</value></property><!--设置辅助名称节点--><property><name>dfs.namenode.secondary.http-address</name><value>ied:50090</value></property><!--hdfs web的地址,默认为9870,可不配置--><!--注意如果使用hadoop2,默认为50070--><property><name>dfs.namenode.http-address</name><value>0.0.0.0:9870</value></property><!--副本数,默认为3--><property><name>dfs.replication</name><value>1</value></property><!--是否启用hdfs权限,当值为false时,代表关闭--><property><name>dfs.permissions.enabled</name><value>false</value></property>
</configuration>

8、编辑MapReduce配置文件 - mapred-site.xml

  • 执行命令:vim mapred-site.xml
    在这里插入图片描述
<configuration><!--配置MR资源调度框架YARN--><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value></property>
</configuration>
  • 后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

9、编辑YARN配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml
    在这里插入图片描述
<configuration><!--配置资源管理器:ied--><property><name>yarn.resourcemanager.hostname</name><value>ied</value></property><!--配置节点管理器上运行的附加服务--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错--><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>
</configuration>

10、编辑workers文件确定数据节点

  • 说明:hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
  • 执行命令:vim workers
    在这里插入图片描述
  • 只有1个数据节点,正好跟副本数配置的1一致

(六)格式化名称节点

  • 执行命令:hdfs namenode -format
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • Storage directory /usr/local/hadoop-3.3.4/tmp/namenode has been successfully formatted. 表明名称节点格式化成功。

(七)启动Hadoop服务

1、启动hdfs服务

  • 执行命令:start-dfs.sh
    在这里插入图片描述

2、启动yarn服务

  • 执行命令:start-yarn.sh
    在这里插入图片描述

3、查看Hadoop进程

  • 执行命令:jps
    在这里插入图片描述

  • 说明:start-dfs.shstart-yarn.sh可以用一条命令start-all.sh来替换
    在这里插入图片描述

(八)查看Hadoop WebUI

  • 在浏览器里访问http://ied:9870
    在这里插入图片描述
  • 查看文件系统
    在这里插入图片描述
  • 根目录下没有任何内容
    在这里插入图片描述

(九)关闭Hadoop服务

1、关闭hdfs服务

  • 执行命令:stop-dfs.sh
    在这里插入图片描述

2、关闭yarn服务

  • 执行命令:stop-yarn.sh
    在这里插入图片描述

  • 说明:stop-dfs.shstop-yarn.sh可以用一条命令stop-all.sh来替换
    在这里插入图片描述

相关文章:

搭建伪分布式Hadoop

文章目录 一、Hadoop部署模式&#xff08;一&#xff09;独立模式&#xff08;二&#xff09;伪分布式模式&#xff08;三&#xff09;完全分布式模式 二、搭建伪分布式Hadoop&#xff08;一&#xff09;登录虚拟机&#xff08;二&#xff09;上传安装包&#xff08;三&#xf…...

【C++】特殊类的设计(只在堆、栈创建对象,单例对象)

&#x1f30f;博客主页&#xff1a; 主页 &#x1f516;系列专栏&#xff1a; C ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ &#x1f60d;期待与大家一起进步&#xff01; 文章目录 一、请设计一个类&#xff0c;只能在堆上创建对象二、 请设计一个类&#xff0c;只能…...

分类预测 | MATLAB实现基于GRU-AdaBoost门控循环单元结合AdaBoost多输入分类预测

分类预测 | MATLAB实现基于GRU-AdaBoost门控循环单元结合AdaBoost多输入分类预测 目录 分类预测 | MATLAB实现基于GRU-AdaBoost门控循环单元结合AdaBoost多输入分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于GRU-AdaBoost门控循环单元结…...

【Spring Boot项目】根据用户的角色控制数据库访问权限

文章目录 简介方法一添加数据库依赖配置数据库连接创建用户角色表创建Spring Data JPA实体和仓库实现自定义的网关过滤器配置网关过滤器几个简单的测试API 方法二创建数据库访问接口实现数据库访问接口创建用户角色判断逻辑创建网关过滤器配置网关过滤器 总结 简介 在一些特定…...

EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站

远创智控YC-EIPM-RTU网关产品是一款高效的数据采集工具&#xff0c;它可以通过各种数据接口与工业领域的仪表、PLC、计量设备等产品连接&#xff0c;实时采集这些设备中的运行数据、状态数据等信息。采集到的数据经过整合和运算等操作后&#xff0c;可以被传输到其他设备或者云…...

如何注册微信小程序

如何注册微信小程序 前言 因为最近沉迷和朋友们一起下班去打麻将&#xff0c;他们推荐了一个计分的小程序&#xff0c;就不需要每局都转账或者用扑克牌记录了&#xff0c;但是这个小程序不仅打开有广告&#xff0c;各个页面都植入了广告&#xff0c;用起来十分不适。 于是我…...

移动App安全检测的必要性,app安全测试报告的编写注意事项

随着移动互联网的迅猛发展&#xff0c;移动App已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;虽然App给我们带来了便利和乐趣&#xff0c;但也伴随着一些潜在的安全风险。黑客、病毒、恶意软件等威胁着用户的隐私和财产安全&#xff0c;因此进行安全检测就显得尤为…...

DVWA-JavaScript Attacks

JavaScript Attacks JavaScript Attack即JS攻击&#xff0c;攻击者可以利用JavaScript实施攻击。 Low 等级 核心源码&#xff0c;用的是dom语法这是在前端使用的和后端无关&#xff0c;然后获取属性为phrase的值然后来个rot13和MD5双重加密在复制给token属性。 <script&…...

算法通关村第二关|白银|链表反转拓展【持续更新】

1.指定区间反转 1.1 头插法&#xff1a;将区间内遍历到的结点插入到起始处之前。 public ListNode reverseBetween(ListNode head, int left, int right) {ListNode dummyNode new ListNode(-1);dummyNode.next head;ListNode pre dummyNode;// 将pre移动到区间的前一位&a…...

开发者职场“生存状态”大调研报告分析 - 第四版

听人劝、吃饱饭,奉劝各位小伙伴,不要订阅该文所属专栏。 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,现任研发部门 CTO 。荣誉:2022年度博客之星Top4、博客专家认证、全栈领域优质创作者、新星计划导师,“星荐官共赢计…...

代码与细节(一)

在用到 Java17的新特性 Unmodifiable Lists 时不知道你是否和我有同样的惊讶 为什么弄了这么多重载方法&#xff1f; 先说结论&#xff1a;为了性能。 其实一细想&#xff0c;都能想明白&#xff1a;varargs(可变参数) 的背后是数组的内存分配和初始化&#xff0c;相比正常的…...

AI绘画使用Stable Diffusion(SDXL)绘制中国古代神兽

一、引言 说到神奇异兽&#xff0c;脑海中首先就会跳出我国古代神话传说中的各种神兽。比如青龙、白虎、朱雀、玄武&#xff0c;再比如麒麟、凤凰、毕方、饕餮等等&#xff0c;这些都是大家耳熟能详的的神兽。 这些神兽不仅体现了人们丰富的创造力和想象力&#xff0c;更是我…...

老卫带你学---leetcode刷题(148. 排序链表)

148. 排序链表 问题&#xff1a; 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a;输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4]示例 2&#xff1a;输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1…...

21.1 stm32使用LTDC驱动LCD--配置说明

本文讲解如何配置LTDC驱动LCD的参数配置&#xff0c;以及CubeMx参数配置说明 本文使用的是淘宝买的一块带电容触摸的液晶显示屏&#xff1a;5寸TFT液晶显示屏高清800*480免驱40P通用RGBIPS全视角彩屏GT911 说实话&#xff0c;价格还是相对挺便宜的&#xff0c;值得入手&#xf…...

zabbix监控nginx的状态页面

zabbix监控nginx的状态页面 文章目录 zabbix监控nginx的状态页面1.环境说明2.所涉及到的知识点3.在nginx主机上安装zabbix_agent4.开启nginx状态显示页面5.进入zabbix的web页面配置主机&#xff0c;监控项&#xff0c;触发器5.1.添加主机5.2.创建监控项5.3.创建触发器 1.环境说…...

C语言初学者工具选择:vscode + MSYS2 + cmake 搭建 C环境

文章目录 前言1. MSYS2 安装1. 下载安装包2. 安装3. pacman 换清华大学源4. 安装 mingw-w64 toolchain 和 cmake ninja5. 将 toolchain 加入系统环境变量 2. 设置 vscode1. 必要的插件2. 一个简单的 vscode cmake 项目 最后C数据结构与算法CMake 前言 网上关于使用 vscode 配…...

【四:httpclient的使用】

目录 1、Demo案例2、请求一个带cookies的get请求3、请求一个带cookies的post请求案例一&#xff0c;案例二的properties的配置 1、Demo案例 public class MyHttpClient {Testpublic void test1() throws IOException {//用来存放我们的结果String result;HttpGet get new Htt…...

在innodb引擎中,count(*)、count(1)、count(主键)、count(字段)哪个性能最高?

在InnoDB引擎中&#xff0c;这四种计数值的效率高低取决于具体的数据库和数据表结构&#xff0c;无法一概而论哪个性能最高。不过&#xff0c;一般情况下可以按照以下顺序进行选择&#xff1a; count()&#xff1a;统计所有行的数量。由于InnoDB引擎的行锁是锁住整行&#xff…...

华为OD 跳格子2(200分)【java】B卷

华为OD统一考试A卷B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目&#xff0c;A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载&#xff0c;请点击此链接进入&#xff1a…...

javascript/python 笔记: folium feature group自动切换

1 python部分 python部分只能是静态的结果 1.1 导入库 import folium import math 1.2 数据 cell_lst表示基站位置&#xff0c;location_lst表示 用户实际位置&#xff08;均为伪数据&#xff09; cell_lst[[1.341505, 103.682498],[1.342751, 103.679604],[1.341505, 10…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...