安装一个最小化的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. SpringCloud整合分布式事务Seata 1.4.1 支持微服务全局异常拦截

    项目依赖 SpringBoot 2.5.5 SpringCloud 2020.0.4 Alibaba Spring Cloud 2021.1 Mybatis Plus 3.4.0 Seata 1.4. ...

  2. 21.drf视图系统组成及继承关系

    APIView REST framework提供了一个 APIView 类,它是Django的 View 类的子类. APIView 类和Django原生的类视图的 View 类有以下不同: 传入的请 ...

  3. 【原创】All in One i.MXRT1050/RT1020 SPI Flash Algorithm for J-Flash

    2020年,这个给大家一种很漫长的恍惚感的一年,终于是过去了.这一年我们很多新的人生第一次就这么被发生了,第一次居家办公这么长时间(很多人肥膘都长了不少,我却瘦了2斤,不知是工作太积极了还是被家里小怪 ...

  4. 洛P8109题解

    摘自本人洛谷博客,原文章地址:https://www.luogu.com.cn/blog/cjtb666anran/solution-p8109 本题原题目摘录: 本场比赛共有 \(n\) 道题,Ci ...

  5. ES6 学习笔记(一)let、const与作用域

    一.let命令 1.1用法 1.1.1 let类似于var,但所声明的变量只在let命令所在的代码块有效. 如: { let a = 10 var b = 20 } console.log(b) co ...

  6. django-environ学习

    官方说明:https://django-environ.readthedocs.io/en/latest/index.html install pip install django-environ q ...

  7. linux 2021

    常用安装 sudo apt install openssh-server # 安装ssh service ssh # 查看ssh服务的 基础 Debian 是Ubuntu的母板,有强大的包管理功能,使 ...

  8. 聊聊kafka

    两个月因为忙于工作毫无输出了,最近想给团队小伙伴分享下kafka的相关知识,于是就想着利用博客来做个提前的准备工作了:接下来会对kafka做一个简单的介绍,包括利用akf原则来解析单机下kafk的各个 ...

  9. 2022-11-07 Acwing每日一题

    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...

  10. 同步与异步、阻塞与非阻塞、创建进程的多种方式、进程间数据隔离、进程的join方法、IPC机制等

    目录 同步与异步 阻塞与非阻塞 综合使用 创建进程的多种方式 进程间数据隔离 进程的join方法 IPC机制 生产者消费者模型 进程对象的多种方法 守护进程 僵尸进程与孤儿进程 多进程数据错乱问题 同 ...