搭建伪分布式Hadoop

news2025/1/22 16:13:16

文章目录

  • 一、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来替换
    在这里插入图片描述

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

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

相关文章

通过 Splashtop Enterprise 实现更高的效率

远程工作的出现不仅重塑了我们的传统工作模式&#xff0c;而且还使远程访问和支持解决方案在确保运营连续性和效率方面的关键作用浮出水面。 Splashtop Enterprise 已帮助企业实现远程工作和 IT 远程支持的无缝远程访问&#xff0c;并已被证明是许多组织不可或缺的工具。 在本…

综合电商商城小程序的作用是什么

综合电商顾名思义就是什么商品都卖&#xff0c;涵盖的品牌、种类、数量非常庞大&#xff0c;线下门店规模也相当可以&#xff0c;在同城场景中有较高的需求度。 然而在实际经营中&#xff0c;综合商品经营商家还是会面临一些痛点。 通过【雨科】平台搭建综合电商商城小程序全面…

NProgress进度条的使用

1 下载nprogress npm install --save nprogress 2.然后在 router/index.js里写上以下几行代码 import NProgress from "nprogress"; // 导入 nprogress模块import "nprogress/nprogress.css"; // 导入样式&#xff0c;否则看不到效果NProgress.configure(…

如何规避企业内文件流转泄密风险?

由于企业内部业务流程复杂&#xff0c;研发、生产、销售等跨部门的不同人员有时需要交互数据&#xff0c;而不同的文件涉密程度不同&#xff0c;需要由不同涉密等级的人员进行处理。 为保障核心资料的安全&#xff0c;文件阅读权限管控系统为用户提供了灵活的内部文件流转功能&…

CleanMyMac X4.14.3中文版:时尚元素与高效清理的完美结合!

嗨&#xff01;小仙女们~&#x1f338;今天小编给大家介绍一款超级时尚的Mac清理神器——CleanMyMac X4.14.3中文版&#xff01; 想要让你的电脑焕然一新&#xff0c;提升操作速度&#xff0c;还能拥有时尚元素的体验&#xff0c;那就赶紧来看看吧&#xff01; CleanMyMac X 2…

重生奇迹mu获取宠物的方法

现在很多游戏都有宠物&#xff0c;因为宠物的加入让游戏更加有趣&#xff0c;玩家可以带着宠物玩游戏&#xff0c;宠物还可以做出呆萌的鬼脸&#xff0c;让玩家感受到游戏的魅力&#xff0c;重生奇迹MU游戏也是有各种宠物。 在重生奇迹MU之中有各种宠物&#xff0c;这些宠物非…

CatBoost算法模型实现贷款违约预测

前言 此篇文章为整个Boost(提升方法)集成算法模型的终章&#xff0c;前几篇文章依次结合详细项目案例讲解了AdaBoost、GBDT、XGBoost、LighGBM共四个常用的集成算法模型&#xff0c;每一篇文章都包含实战项目以及可运行代码。仅通过看一遍文章不去实践是很难掌握集成算法模型的…

Com 信号值的超时替换

目录 1. 功能简介2. 如何配置 1. 功能简介 Com 模块提供了针对信号的超时替换处理&#xff0c;如下图所示。提供两种方式 REPLACESUBSTITUTE REPLACE: 信号值由ComSigInitValue 进行替换 SUBSTITUE: 信号值由ComTimeoutSubstitutionValue 进行替换。 2. 如何配置 点击 Vie…

企业做一个VR全景,拍摄制作的费用有哪些?

自互联网时代以来&#xff0c;抖音、快手、微信、微博、小红书等渠道成为了客户新的沟通方式&#xff0c;越来越多的企业客户在网上沟通、在网上了解产品、在网上考察公司情况&#xff0c;为了让客户在网上看得清、看得懂&#xff0c;VR赋能企业线上沉浸式营销&#xff0c;VR全…

基于springboot实现大学生社团活动平台项目【项目源码+论文说明】计算机毕业设计

摘要​​​​​​​ 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;网络管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&a…

vscode配置c++和opencv环境

因为想要用c刷题&#xff0c;但是之前的vs被重装的时候删除了&#xff0c;DEVc实在是不好看的界面&#xff0c;于是就想起了之前写html的vscode&#xff0c;没想到配置环境花了一整天&#xff0c;还总是报错&#xff0c;也许是电脑配置不一样&#xff0c;所以就出了问题吧&…

Knowledge and Process .xls

Knowledge and Process .xls 10知识领域 5项目管理过程组

滚珠丝杆的工作原理是什么?

滚珠螺杆的工作原理是利用滚珠在螺杆与螺母之间做运动&#xff0c;将传统螺杆的滑动接触转换为滚动接触&#xff0c;再将螺帽内的滚珠回转运动转为直线运动。它主要由①丝杆②螺母③滚珠 三个主要部分组成。 丝杆和螺母的表面存在螺旋线&#xff0c;当丝杆旋转时&#xff0c;螺…

【C#】【winform】Microsoft Visual Studio Installer Project 打包应用程序全部过程

提示&#xff1a;只针对扩展包来完成打包的工作过程。 文章目录 前言一、Microsoft Visual Studio Installer Project 是什么&#xff1f;二、安装1.安装Microsoft Visual Studio Installer Project 三、安开始打包1.添加setup1.在解决方案上面右键&#xff0c;添加-新建项目2.…

k8s-18 认证授权

Authentication (认证) 认证方式现共有8种&#xff0c;可以启用一种或多种认证方式&#xff0c;只要有一种认证方式通过&#xff0c;就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式 Kubernetes集群有两类用户:由Kubernetes管理的Ser…

Flow深入浅出系列之使用Kotlin Flow自动刷新Android数据的策略

Flow深入浅出系列之在ViewModels中使用Kotlin FlowsFlow深入浅出系列之更聪明的分享 Kotlin FlowsFlow深入浅出系列之使用Kotlin Flow自动刷新Android数据的策略 Flow深入浅出系列之使用Kotlin Flow自动刷新Android数据的策略 讨论在Android应用程序中使用Kotlin Flow高效加载…

Linux——生产者消费者模型

目录 一.为何要使用生产者消费者模型 二.生产者消费者模型优点 三.基于BlockingQueue的生产者消费者模型 1.BlockingQueue——阻塞队列 2.实现代码 四.POSIX信号量 五.基于环形队列的生产消费模型 一.为何要使用生产者消费者模型 生产者消费者模式就是通过一个容器来解决生…

面试官:做过性能优化?我:任务切片!

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 代码背景 本次分享基于一次线上环境的卡顿事故&#xff0c;客户数据体量过大导致的页面卡顿甚至页面直接崩溃的问题…

pdf压缩文件怎么压缩最小?

pdf压缩文件怎么压缩最小&#xff1f;我们很多项目介绍或是学术的报告都是采用的这个pdf格式&#xff0c;那么我们在存储或是需要进行分享的时候&#xff0c;可能就会因为文件过大而导致无法打开或是发送了。那么就需要将其进行压缩。PDF文件压缩方法很多&#xff0c;pdf压缩文…

【前端】JS - WebAPI

目 录 一.WebAPI 背景知识什么是 WebAPI什么是 APIAPI 参考文档 二.DOM 基本概念什么是 DOMDOM 树 三.获取元素querySelectorquerySelectorAll 四.事件初识基本概念事件三要素 五.操作元素获取/修改元素内容&#xff08;innerHTML&#xff09;获取/修改元素属性获取/修改样式属…