windows系统下安装伪分布式Hadoop3.x

news2024/9/22 19:33:18

1.下载

1.1下载Hadoop3.1.3

官网地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
选择hadoop-3.1.3.tar.gz

1.2下载工具集winutils

由于Hadoop不直接支持Windows系统,因此需要使用工具集winutils进行支持。
下载网址:https://github.com/s911415/apache-hadoop-3.1.3-winutils
进入下载页面后,如下图所示,点击“Code”按钮,然后在弹出的菜单中点击“Download ZIP”即可下载得到压缩文件apache-hadoop-3.1.3-winutils-master.zip,再将该压缩文件进行解压缩。
在这里插入图片描述

2.安装

把Hadoop3.1.3安装文件hadoop-3.1.3.tar.gz解压缩到“C:\”(或者其他目录),使用winutils中的bin目录整个替换Hadoop中的bin目录。
在“C:\ hadoop-3.1.3”目录下新建tmp目录,再在tmp目录下新建两个子目录,分别是datanode和namenode。

2.1 设置环境变量

设置Path环境变量,点击“我的电脑”->“高级系统设置”->“环境变量”,然后,在系统变量中新增一个名称为“HADOOP_HOME”的变量,设置其值为“C:\hadoop-3.1.3”(如图所示)。
在这里插入图片描述
然后,再在用户变量Path中加入如下信息:
%HADOOP_HOME%\bin
在这里插入图片描述

2.2 修改配置文件

对“C:\ hadoop-3.1.3\etc\hadoop”下面的3个配置文件进行修改。
core-site.xml、hdfs-site.xml、hadoop-env.cmd
把core-site.xml文件的配置修改为如下:

<configuration>
     <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
 </configuration>

hdfs-site.xml文件的配置修改为如下:

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
     <property> 
      <name>dfs.permissions</name> 
      <value>true</value> 
     </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/C:/hadoop-3.1.3/tmp/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/C:/hadoop-3.1.3/tmp/datanode</value>
    </property>
</configuration>

其中replication设置副本数,permissions设置访问权限;

修改hadoop-env.cmd文件,找到如下一行:
set JAVA_HOME=%JAVA_HOME%

把%JAVA_HOME%替换成JDK的绝对路径,比如:
set JAVA_HOME=C:\Java\jdk1.8.0_111

需要注意的是,如果JDK路径中包含了空格,如果直接使用如下设置后面步骤会报错:
set JAVA_HOME= C:\Program Files\Java\jdk1.8.0_111

如果采用这种带有空格的路径,后面运行“hdfs namenode -format”命令时就会报错,因为Program Files中存在空格。为了解决这个问题,可以使用下面两种方式之一进行处理:
(1)只需要用PROGRA~1 代替Program Files,即改为C:\PROGRA~1\Java\jdk1.8.0_111
(2)或是使用双引号,即改为 “C:\Program Files”\Java\jdk1.8.0_111

2.3 运行

在Windows系统中打开一个cmd窗口,执行如下命令对Hadoop系统进行格式化:

cd c:\hadoop-3.1.3\bin
hdfs namenode -format

上述命令执行以后,如果返回类似如下的信息则表示格式化成功:
\hadoop-3.1.3\tmp\namenode has been successfully formatted.
在这里插入图片描述

执行如下命令启动:

cd c:\hadoop-3.1.3\sbin
start-dfs.cmd

执行该命令以后,会同时弹出另外2个cmd窗口,这2个新弹出的cmd窗口不要关闭,然后,在刚才执行start-dfs.cmd命令的cmd窗口内,继续执行JDK自带的命令jps查看Hadoop已经启动的进程:

jps

看到如下进程说明安装成功:
在这里插入图片描述
需要注意的是,这里在使用jps命令的时候,没有带上绝对路径,是因为已经把JDK添加到了Path环境变量中。
执行jps命令以后,如果能够看到“DataNode”和“NameNode”这两个进程,就说明Hadoop启动成功。
需要关闭Hadoop时,可以执行如下命令:

cd c:\hadoop-3.1.3\sbin
stop-dfs.cmd
在这里插入图片描述

3. hdfs的使用

3.1 使用WEB管理页面操作HDFS

首先启动Hadoop,然后可以在浏览器中输入“http://localhost:9870”,就可以访问Hadoop的WEB管理页面(如图所示)。
在这里插入图片描述
在WEB管理页面中,点击顶部右侧的菜单选项Utilities,在弹出的子菜单中点击Browse the file system,会出现如图所示的HDFS文件系统操作页面,在这个页面中可以创建、查看、删除目录和文件。
在这里插入图片描述

3.1 使用命令操作HDFS

除了在浏览器中通过WEB方式操作HDFS以外,还可以在cmd窗口中使用命令对HDFS进行操作。
首先,创建一个名称为“user”的目录,命令如下:

cd c:\hadoop-3.1.3\bin
hadoop fs -mkdir hdfs://localhost:9000/user/
hadoop fs -mkdir hdfs://localhost:9000/user/xiaoming

然后,在“C:\”下创建一个文件test.txt,里面输入一行语句“I love hadoop”,使用如下命令把该文件上传到HDFS中:

hadoop fs -put C:\test.txt hdfs://localhost:9000/user/xiaoming

使用如下命令查看HDFS中的目录和文件:

hadoop fs -ls hdfs://localhost:9000/user/xiaoming

使用如下命令把HDFS中的文件内容显示到本地屏幕上:

hadoop fs -cat hdfs://localhost:9000/user/xiaoming/test.txt

把上面的HDFS中的文件test.txt下载到本地文件系统,并重命名为test1.txt:

hadoop fs -get hdfs://localhost:9000/user/xiaoming/test.txt C:\test1.txt

使用如下命令删除HDFS中的一个文件: > hadoop fs -rm >hdfs://localhost:9000/user/xiaoming/test.txt

使用如下命令删除HDFS中的一个目录及其下面的文件:

hadoop fs -rm -r hdfs://localhost:9000/user/xiaoming

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

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

相关文章

can‘t be used as a mixin because it extends a class other than ‘Object‘.

程序员如果敲一会就停半天&#xff0c;抱着一杯茶&#xff0c;表情拧巴&#xff0c;那才是在编程 Flutter 项目开发指导 从基础入门到精通使用目录 前言 - 基础关键字 class&#xff1a;声明一个类&#xff0c;提供具体的成员变量和方法实现。abstract class&#xff1a;声明一…

27.日志技术、XML

目录 一.日志技术 1.1 什么是日志 1.2 目前记录日志的方案 1.3 日志技术的优势 1.4 日志技术体系 1.5 Logback框架 1.5.1 下载地址 1.5.2 模块组成 1.5.3 Logback的使用 二.XML 2.1 XML概述 2.2 XML的特点 2.3 XML文件的使用场景 2.4 XMl文件的创建 2.5 XML的语法…

江瀚新材登陆上交所主板:募资约24亿元,甘书官父子为实际控制人

1月31日&#xff0c;湖北江瀚新材料股份有限公司&#xff08;下称“江瀚新材”&#xff0c;SH:603281&#xff09;在上海证券交易所主板上市。本次上市&#xff0c;江瀚新材公开发行股票66,666,667股&#xff0c;发行价格为35.59元/股&#xff0c;发行市盈率为14.80倍。 按发行…

更高性能表现、更低资源占用,高精度计算数据类型 DecimalV3 揭秘

数值运算是数据库中十分常见的需求&#xff0c;例如计算数量、重量、价格等&#xff0c;为了适应多样化运算场景&#xff0c;数据库系统通常支持精准的数字类型和近似的数字类型&#xff0c;当我们需要精确地表示小数并计算小数时&#xff0c;通常会考虑使用 Decimal 数据类型。…

低代码编程核心技术概念

从技术概念来讲&#xff0c;低代码编程跟通用编程是完全一致的。要利用好低代码编程工具&#xff0c;至少要掌握下面的技术概念。低代码编程核心技术概念一、数据结构这里的数据结构&#xff0c;指一般意义上的数据表和数据字段。 类似于数据库中的表及字段的概念&#xff0c;也…

蓝桥杯2022 A组 python

蓝桥杯2022 A组 python A组相对于B组就五道题不一样 第一题&#xff1a;裁纸刀 就先把四个边剪一下&#xff0c;然后先行后列&#xff0c;蛮简单的 # 20行 横着19刀&#xff0c;竖着21*20 print(1921*204)第三题&#xff1a;质因数个数 这题我感觉就是跟一个约数个数的模板一…

【python】Twisted网络编程

Twisted什么是Twisted&#xff1f;为什么使用twisted&#xff1f;Twisted 写TCP通信基本实例- TCP服务端- TCP客户端Twisted的Deferred机制Why Deferred?Deferred TCP-ECHO客户端实现- TCP client为例&#xff0c;什么是Twisted&#xff1f; Twisted是一种非阻塞的网络服务器…

useEffect 依赖项为对象或数组时,引发不断重渲染问题的原因及解法

转载自 https://www.izhaoo.com/2021/11/01/useEffect-object-dependent/背景今天封了个轮子&#xff0c;对组件传入参数生成对应的动画实例&#xff0c;当入参变化时重新渲染新实例。自然而然想到的就是 useEffect 监听 props 依赖了&#xff0c;如&#xff1a;useEffect(() &…

ESD器件(TVS)选型考虑

参考&#xff1a;TOSHIBA《Basics of ESD Protection (TVS) Diodes》①VRWM: Working peak reverse voltage工作峰值反向电压&#xff1a;ESD保护二极管显示非常高的阻抗。高于这个电压&#xff0c;会通过指定大小漏电流。设计的时候&#xff0c;信号的最大出现电压要在这个电压…

Java基础漏洞(六)

巩固Java基础&#xff0c;基于韩顺平老师的课程&#xff0c;Java的封装、继承、多态、super()、this()、重载与重写的区别......&#xff0c;下面我们一点点来巩固练习。 &#xff08;1&#xff09;继承 继承细节1&#xff1a;子类无法继承父类的私有 图1 我们定义一个父类f…

Ansys Zemax | 利用 TrueFreeForm 面进行网格自由曲面的优化

在这篇文章中&#xff0c;我们将演示如何使用 OpticStudio 的 TrueFreeForm 面&#xff0c;设计AR/VR设备中的人眼追迹系统&#xff08;eye-tracking subsystem&#xff09;&#xff0c;这个系统通常位于装置的楔形透镜结构中。此外&#xff0c;为了完成子孔径&#xff08;sub-…

JSBridge:混合开发中的双向通信[Android、iOSJavaScript]

什么是WebView WebView 是移动端中的一个控件&#xff0c;它为 JS 运行提供了一个沙箱环境。WebView 能够加载指定的 url&#xff0c;拦截页面发出的各种请求等各种页面控制功能&#xff0c;JSB 的实现就依赖于 WebView 暴露的各种接口。 由于历史原因&#xff0c;IOS以8为分界…

【Java AWT 图形界面编程】事件处理机制 ② ( Frame 窗口事件监听器 WindowListener | 代码示例 )

文章目录一、Frame 窗口事件监听器 WindowListener二、Frame 窗口事件监听器 WindowListener 代码示例一、Frame 窗口事件监听器 WindowListener 在 AWT 中 , 为 Frame 窗口 添加 窗口事件监听器 WindowListener , 可以监听窗口的操作 , 如 : 窗口显示 WindowListener#windowO…

leetcode 1626. Best Team With No Conflicts(最佳无冲突团队)

scores数组中是每个队员的得分&#xff0c;ages数组中为对应队员的年龄&#xff0c; 现在要从这个队里挑选出一些队员&#xff0c;使总得分最高&#xff0c; 挑选时年龄大的要比年龄小的score更高&#xff08;严格大于&#xff09;&#xff0c;才不会产生冲突。 返回最高的得分…

【nestjs+VueJs全栈】- 后端搭建和数据库抽离

先补充一些nestjs的前置知识 控制器 控制器负责处理传入的请求和向客户端返回响应。 控制器的目的是接收应用的特定请求。路由机制控制哪个控制器接收哪些请求。通常&#xff0c;每个控制器有多个路由&#xff0c;不同的路由可以执行不同的操作。 为了创建一个基本的控制器…

React 组件基础

文章目录1. React 组件的两种创建方式1 使用函数创建组件2 使用类创建组件3 抽离为独立 JS 文件2. React 事件处理1.事件绑定2 事件对象3. 有状态组件和无状态组件4. 组件中的 state 和 setState1 state的基本使用2 setState()修改状态从 JSX 中抽离事件处理程序5.事件绑定 thi…

Python初学如何逆袭高手?22个万能公式汇总大全

嗨害大家好鸭&#xff01;我是小熊猫~ 本篇文章共22个万能公式~ 初学者友好~ 源码资料电子书:点击此处跳转文末名片获取 1、一次性进行多个数值的输入 对于数值的输入问题&#xff0c; 是很多笔试题目中经常遇到的问题&#xff0c; 一次性输入多个参数值 &#xff0c; 可以节…

AppiumDesktop学习总结

Appium学习总结 文章目录Appium学习总结一、简介二、环境准备1.下载并配置安卓SDK环境变量2.下载及安装AppiumDesktop3.安装AppiumDesktop4. 启动AppiumDesktop5.安装Python3.x环境6.安装Appium的Python客户端7.安装安卓模拟器8.安装被测APP&#xff1a;9.连接安卓设备三、运行…

NCRE二级 《MS Office高级应用》备考之路

文章目录一、WORD一、易考点二、解题思路二、EXCEL一、易考点二、解题思路三、PPT一、易考点二、解题思路四、其他一、WORD 一、易考点 1.设置页边距、纸张方向、纸张大小、装订线位置&#xff0c;分栏。 2.设置主题、页面边框、添加水印。 3.设置段间距、行间距、特殊格式&…

MySQL从入门到精通(第一篇):MySQL的基本语法及其设计,结合多篇文章

MySQL目录一、数据库入门1. 数据管理技术的三个阶段2. 关系型数据库与非关系型数据库3. 四大非关系型数据库a. 基于列的数据库&#xff08;column-oriented&#xff09;b. 键值对存储&#xff08;Key-Value Stores&#xff09;c. 文档存储&#xff08;Document Stores&#xff…