安装一个最小化的Hadoop

为了学习HDFS和之后的MapReduce,我们需要安装一个Hadoop。

Hadoop一共有3种运行模式

  • 独立模式:不启动守护进程,所有程序运行在一个JVM进程中。独立模式运行Hadoop很方便,适合学习和开发阶段
  • 伪分布式:Hadoop运行在本机上,模拟一个小规模集群
  • 全分布式:Hadoop运行在集群上,相当于一个生产环境

本节主要对独立模式的安装进行讨论。

由于我的主力机器是Windows,为了之后书写代码方便。所以我选择在Windows安装Hadoop,Linux安装方法也类似,主要区别为配置环境变量不太一样,所以不过多赘述。

注意:在Windows设置环境变量可能不会立即生效,可以在当前窗口使用set命令(例如set JAVA_HOME=xxxx)进行测试,然后再修改环境变量保存。

本节环境为

  • Windows 11
  • JDK 11.0.17

一、前期准备

Hadoop是一个Java编写的程序,所以它既可以运行在Linux系统上,也可以运行在Windows上,官方下载的程序也具有Windows的支持。所以我们需要准备一个JDK,这里建议1.8以上。

二、下载程序

  1. 下载符合你操作系统的JDK,版本在1.8以上均可
  2. https://hadoop.apache.org/releases.html下载Hadoop程序。这里我下载的是2.10.2
  3. Windows需要额外下载winutils.exe和hadoop.dll,从https://github.com/cdarlint/winutils下载对应版本的winutils.exe和hadoop.dll。如果没有对应版本的目录,则主版本号一样的相近版本的文件即可,这里我选择下载的是hadoop-2.9.2/bin

三、安装

Step1:安装JDK和设置JAVA_HOME

安装JDK,安装完成后并且配置环境变量JAVA_HOME。然后在你的终端输入

Windows:
%JAVA_HOME%/bin/java -version
Linux:
$JAVA_HOME/bin/java -version

确保能够正常输出Java版本,例如

java version "11.0.17" 2022-10-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.17+10-LTS-269)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.17+10-LTS-269, mixed mode)

注意:JDK安装目录最好不要有空格,如果你的JDK安装在 Program Files 文件夹下,使用 PROGRA~1 代替 Program File。例如JDK安装目录为C:\Program Files\Java\jdk-11.0.17,则环境变量应该设置为C:\PROGRA~1\Java\jdk-11.0.17

如果不方便配置JAVA_HOME,也可以修改Hadoop程序目录下的etc/hadoop/hadoop-env文件,在里面加上一行

Windows:hadoop-env.cmd文件
set JAVA_HOME=你的JDK安装目录
Linux:hadoop-env.sh文件
export JAVA_HOME=你的JDK安装目录

Step2:解压Hadoop

解压Hadoop到任意位置,打开终端进入bin目录

输入hadoop version,你会在终端看到如下字样:

Hadoop 2.10.2
Subversion Unknown -r 965fd380006fa78b2315668fbc7eb432e1d8200f
Compiled by ubuntu on 2022-05-24T22:35Z
Compiled with protoc 2.5.0
From source with checksum d3ab737f7788f05d467784f0a86573fe
This command was run using /D:/hadoop-2.10.2/share/hadoop/common/hadoop-common-2.10.2.jar

Step3:设置Hadoop环境变量

  1. 设置HADOOP_HOME为Hadoop解压位置
  2. 添加HADOOP_HOME/bin到PATH下。这样就不用每次到Hadoop解压目录下运行hadoop了

Setp4:Windows额外步骤

Hadoop在Windows上需要一些本地库才能正常工作,包括访问file://文件系统,其中Hadoop使用一些Windows API来实现类似posix的文件访问权限。

  1. 复制winutils.exe和hadoop.dll到HADOOP_HOME的bin目录下

至此,一个运行在独立模式下的Hadoop安装完成。

02安装一个最小化的Hadoop的更多相关文章

  1. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(四)码农网

    17. 安装 Webmin Webmin 是基于 Web 的 Linux 配置工具.它像一个中央系统,用于配置各种系统设置,比如用户.磁盘分配.服务以及 HTTP 服务器.Apache.MySQL 等 ...

  2. 实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑

    简介 以前写过一个补丁更新的文章,此处会做一个更精简的最小化实现,以便于集成.为了使逻辑具有通用性,将剥离对AFNetworking和ReativeCocoa的依赖.原来的文章,可以先看这里: htt ...

  3. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(五)

    25. 安装 Linux Malware Detect (LMD) Linux Malware Detect (LMD) 是 GNU GPLv2 协议下发布的开源 Linux 恶意程序扫描器,它是特别 ...

  4. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)转载自码农网

    7. 安装 PHP PHP 是用于 web 基础服务的服务器端脚本语言.它也经常被用作通用编程语言.在最小化安装的 CentOS 中安装 PHP: # yum install php 安装完 php ...

  5. Spark standalone安装(最小化集群部署)

    Spark standalone安装-最小化集群部署(Spark官方建议使用Standalone模式)        集群规划:    主机        IP                    ...

  6. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网

    CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  7. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情7. 安装 PHP PHP 是用于 web 基础服务的服务器端脚本语言。它也经常被用作通用编程语言。在最小化安装的 CentOS 中安

    CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  8. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)

    本文导航 -7. 安装 PHP0 -8. 安装 MariaDB 数据库 -9. 安装和配置 SSH 服务器 -10. 安装 GCC (GNU 编译器集) -11. 安装 Java 7. 安装 PHP ...

  9. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)

    本文导航 -1. 注册并启用红帽订阅 -2. 使用静态 IP 地址配置网络 -3. 设置服务器的主机名称 -4. 更新或升级最小化安装的 CentOS -5. 安装命令行 Web 浏览器 -6. 安装 ...

  10. LoadRunner 12.02 安装以及汉化教程

    LoadRunner 12.02 安装 一.下载 首先下载Loadrunner12安装包. 下载后有四个安装包: HP_LoadRunner_12.02_Community_Edition_Addit ...

随机推荐

  1. XPAND模板语言语法1.0

    XPAND模板语言语法1.0 Xpand模板语言一般写在以.xpt为结尾的文本文件中 ,以"« »" 作为开头和结尾  .Xpand语言主要包括以下几个标签: «IMPORT», ...

  2. 基于.NetCore开发博客项目 StarBlog - (19) Markdown渲染方案探索

    前言 笔者认为,一个博客网站,最核心的是阅读体验. 在开发StarBlog的过程中,最耗时的恰恰也是文章的展示部分功能. 最开始还没研究出来如何很好的使用后端渲染,所以只能先用Editor.md组件做 ...

  3. Typora图床上传配置:PicGo+Gitee 不完全指南

    每次写Markdown都要手动传图,再复制链接到Typora里,这样比较繁琐. 设置好图床,搭配PicGo,写作时直接剪贴图片到Typora,就能实现自动上传,这样就方便很多. Gitee配置: 许多 ...

  4. SpringCloudAlibaba 微服务组件 Nacos 之配置中心源码深度解析

    大家好,这篇文章跟大家聊下 SpringCloudAlibaba 中的微服务组件 Nacos.Nacos 既能做注册中心,又能做配置中心,这篇文章主要来聊下做配置中心时 client 端的一些设计,主 ...

  5. React+echarts (echarts-for-react) 画中国地图及省份切换

    有足够的地图数据,可以点击到街道,示例我只出到市级 以umi为框架,版本是: "react": "^18.2.0", "umi": &quo ...

  6. vulnhub靶场之DEATHNOTE: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:DEATHNOTE: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com ...

  7. hwlog--limiter.go

    // Copyright(C) 2021. Huawei Technologies Co.,Ltd. All rights reserved.// Package limiter implement ...

  8. 顺序表代码总结——SqList

    在C++编译器下可直接运行 #include <stdio.h> #include <stdlib.h> #include <malloc.h> //顺序表存储结构 ...

  9. 【Java集合框架001】为什么重写equals就要重写hashcode?

    一.前言 如果面试官问:你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法? 遇到这样的问题,应该怎样回答呢?其实,equals和hashCode都 ...

  10. 关于C++ find

    #include <bits/stdc++.h> using namespace std; int a[1005]; int main() { for(int i = 0;i < 1 ...