搭建伪分布式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来替换
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios UIDocumentPickerViewController 实现TEXT、DOC、PDF等文档读取

文章目录 一、前言二、iCould相关配置三、功能实现3.1 UIDocumentPickerViewController 选取控制器3.2 读取文件一、前言 最近正在研发的项目有一个需求: 允许用户将iCloud中的文档上传,实现文件的流转。 以前接触的项目对于资料类的上传大多是仅限于图片与视频。对于文档类…

干洗店小程序,上门洗鞋洗衣下单算软件开发;

干洗店小程序&#xff0c;上门洗鞋洗衣软件&#xff1b; 有多个小程序开发案例 洗衣店小程序 是一款适用于洗衣店、干洗店等洗鞋店小程序&#xff1b; 干洗店小程序功能有: 1.(支持上门取送、送货到店、寄存网点、智能衣柜四种下单方式) 用户下单-上门取货拍照-送达门店工厂-入…

【快刊推荐】综合类EI,最新案例29天录用,国人友好!

综合类 • 快刊推荐 01 期刊简介 检索数据库&#xff1a;EI &Scopus &Google Scholar 版面类别&#xff1a;正刊 数据库收录年份&#xff1a;2009年 国人占比&#xff1a;47%&#xff0c;对国人友好 年发文量&#xff1a;20篇左右 02 接收领域 生物&#xff…

云服务器ip使用细节(公网、私有)

场景&#xff1a; 当我们对tcp服务器进行监听的时候&#xff0c;可能需要用到ip地址&#xff0c;比如使用httplib::Service::listen(ip, port)&#xff0c;而当我们访问tcp服务器时也需要ip地址 但这两个ip是不同的&#xff01; 每个云服务器通常都会有一个公网IP地址和一个私有…

哈佛教授因果推断力作:《Causal Inference: What If 》pdf下载

因果推断是一项复杂的科学任务&#xff0c;它依赖于多个来源的三角互证和各种方法论方法的应用&#xff0c;是用于解释分析的强大建模工具&#xff0c;同时也是机器学习领域的热门研究方向之一。 今天我要给大家推荐的这本书&#xff0c;正是因果推断领域必读的入门秘籍&#…

深入理解强化学习——智能体的类型:有模型强化学习智能体与免模型强化学习智能体

分类目录&#xff1a;《深入理解强化学习》总目录 根据智能体学习的事物不同&#xff0c;我们可以把智能体进行归类。基于价值的智能体&#xff08;Value-based agent&#xff09;显式地学习价值函数&#xff0c;隐式地学习它的策略。策略是其从学到的价值函数里面推算出来的。…

基础课4——语音识别技术

ASR 是自动语音识别&#xff08;Automatic Speech Recognition&#xff09;的缩写&#xff0c;是一种将人类语音转换为文本的技术。ASR 系统可以处理实时音频流或已录制的音频文件&#xff0c;并将其转换为文本。它是一种自然语言处理技术&#xff0c;广泛应用于许多领域&#…

如何通过SK集成chatGPT实现DotNet项目工程化?

智能助手服务 以下案例将讲解如何实现天气插件 当前文档对应src/assistant/Chat.SemanticServer项目 首先我们介绍一下Chat.SemanticServer的技术架构 SemanticKernel 是什么&#xff1f; Semantic Kernel是一个SDK&#xff0c;它将OpenAI、Azure OpenAI和Hugging Face等大…

React Hooks之useReducer

一、useReducer const [state, dispatch] useReducer(reducer, initialArg, init?)useState 的替代方案。它接收一个形如 (state, action) > newState 的 reducer&#xff0c;并返回当前的 state 以及与其配套的 dispatch 方法。数据结构简单用useState&#xff0c;复杂时…

linux虚机新增加磁盘后在系统中查不到

问题描述 在虚机管理平台上对某一linux主机添加了一块硬盘&#xff0c;但在系统中并未显示 通过执行 lsblk&#xff0c;并未看到新增的硬盘信息 解决方法 1. 可通过重启服务器解决 2. 如果不能重启服务器&#xff0c;可重新扫描下 scsi总线 查看总线&#xff1a; ls /s…

全流程TOUGH系列软件应用丨入门丨基础丨进阶丨实操

TOUGH系列软件是由美国劳伦斯伯克利实验室开发的&#xff0c;旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同&#xff0c;TOUGH系列软件采用模块化设计和有限积分差网格剖分方法&#xff0c;通过配合不同状态方程&#xff08;EOS模…

Python---if选择判断结构、嵌套结构(if elif else)

1、if选择判断结构作用 if 英 /ɪf/ conj. &#xff08;表条件&#xff09;如果&#xff1b;&#xff08;表假设&#xff09;要是&#xff0c;假如&#xff1b;无论何时&#xff1b;虽然&#xff0c;即使&#xff1b;&#xff08;用于间接疑问&#xff09;是否&#xff1b…