如何8步完成hadoop单机安装

前言

Hadoop是一个开源框架,用于存储和处理大规模数据集。

系统要求

  • Ubuntu 20.04
  • 4GB(建议8GB)
  • hadoop-3.3.6

步骤1:更新系统

打开终端并输入以下命令来更新您的系统:

apt update

步骤2:安装Java

Hadoop需要Java环境,我们将安装OpenJDK 8。

apt install openjdk-8-jdk

安装完成后,验证Java版本:

java -version

如果出现相应的版本信息说明已经安装成功了。

那么apt install的java安装的目录在哪里呢?

# which java/usr/bin/java
# ls -l /usr/bin/java/usr/bin/java -> /etc/alternatives/java
# ls -l /etc/alternatives/java/etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

也就是/usr/lib/jvm/java-8-openjdk-amd64就是java安装目录即JAVA_HOME,后面会用到配置。

步骤3:安装Hadoop

首先,我们需要下载Hadoop 3.3.6的tar.gz文件。您可以从Apache官方网站下载。

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

文件比较大,大概600多M,需要下载一会。

下载完成后,解压缩文件到/usr/local目录下:

tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local

步骤4:配置Hadoop环境

编辑/etc/profile文件,添加Hadoop和Java的环境变量:

vim /etc/profile

在文件末尾添加:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export HADOOP_HOME=/usr/local/hadoop-3.3.6
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_DATANODE_SECURE_USER=root

保存并退出,然后应用更改:

source /etc/profile

查看hadoop是否安装成功

hadoop version

看到版本说明已安装成功,下面继续配置hadoop

步骤5:配置Hadoop文件

您需要编辑Hadoop的配置文件,这些文件位于$HADOOP_HOME/etc/hadoop目录下。

core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://10.9.2.86:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abasefor other temporary directories.</description></property>
</configuration>

hdfs-site.xml

<configuration><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/dfs/data</value></property><property><name>dfs.replication</name><value>1</value></property>
</configuration>

步骤6:格式化HDFS

在启动Hadoop之前,需要格式化HDFS文件系统:

hdfs namenode -format

步骤7:启动Hadoop

使用以下命令启动Hadoop:

start-dfs.sh

步骤8:验证安装

使用jps命令检查Hadoop进程:

jps

能看到NameNodeDataNodeSecondaryNameNodeNodeManager等进程正在运行。

通过浏览器访问:http://10.9.2.86:9870/

相关问题

  1. 什么是 Hadoop?
    Hadoop 是一个开源框架,它允许使用简单的编程模型在计算机集群中分布式处理大数据集。它设计用于从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。
  2. Hadoop 的核心组件有哪些?
    Hadoop 的核心组件包括 HDFS(Hadoop Distributed File System),MapReduce 和 YARN(Yet Another Resource Negotiator)。
  3. HDFS 的工作原理是什么?
    HDFS 是一个分布式文件系统,它将大文件分割成块(block),并将这些块分布在整个集群的节点上。它通过复制每个块来提供容错。
  4. MapReduce 是如何工作的?
    MapReduce 是一个编程模型和处理工具,用于并行处理大量数据。它工作分为两个阶段:Map 阶段将输入数据转换成一组中间键值对,Reduce 阶段则将这些键值对合并以形成输出结果。
  5. YARN 的作用是什么?
    YARN 是 Hadoop 的资源管理层,它允许多个数据处理引擎如 MapReduce 和 Spark 在 Hadoop 上有效地共享资源。
  6. Hadoop 1.x 和 Hadoop 2.x 有什么区别?
    Hadoop 2.x 引入了 YARN,这是一个新的资源管理器,它允许更多种类的数据处理任务。Hadoop 2.x 还提高了系统的可扩展性和集群的利用率。
  7. Hadoop 如何保证数据的可靠性?
    Hadoop 通过在集群中的不同节点上存储数据块的多个副本来保证数据的可靠性。如果一个节点失败,系统可以从其他节点的副本中恢复数据。
  8. 什么是 NameNode 和 DataNode?
    NameNode 是 Hadoop HDFS 的主服务器,负责存储文件系统的元数据。DataNode 存储实际数据。客户端直接与 NameNode 交互以获取文件位置信息,然后与 DataNode 交互以读写数据。

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

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

相关文章

uniapp 使用renderjs的一些详细介绍

一、简介 官方链接&#xff1a;uniapp官网中的renderjs方法的详细介绍 二、renderjs 定义 renderjs是一个运行在视图层的js。它比WXS更加强大。它只支持app-vue和web。 作用&#xff1a; 大幅降低逻辑层和视图层的通讯损耗&#xff0c;提供高性能视图交互能力。在视图层操作d…

.Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 发布到 Win7+

.Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 实测可以完整运行在 win7sp1/win10/win11. 如果用其他工具打包,还可以运行在mac/linux下, 传送门BlazorHybrid 发布为无依赖包方式 安装 WebView2Runtime 1.57 MB或136 MB 测试DEMO 发布为依赖包方式 安装 WebView2Runtime 1.…

python Pandas 操作

Pandas 介绍 Pandas 是一个功能强大的 Python 数据分析工具库&#xff0c;常用于数据处理与分析工作。它为 Python 提供了快速、灵活以及表达能力强的数据结构&#xff0c;旨在简化“实际工作中”的数据操作&#xff0c;使得 Python 成为一种强大而高效的数据分析环境。 核心特…

抱怨无用,行动破局

故事的开始 这个专栏&#xff0c;以及本文的目的&#xff0c;是为了记录我从创立盘多啦这个平台开始&#xff0c;到后续的发展历程的专栏。同时也是给自己一个坚持的动力和警醒的作用。 首先&#xff0c;我是一名程序员&#xff0c;并且对于自身感兴趣的东西&#xff0c;都有…

【仅1月出刊】普刊广涉计算机、社科、教育、法学等多领域!

【欧亚科睿学术】 1 EURASIA JOURNAL OF SCIENCE AND TECHNOLOGY 终审周期 仅1月出刊&#xff08;知网收录&#xff09; 《欧亚科学技术杂志》 Print ISSN&#xff1a;2663-1024 Online ISSN&#xff1a;2663-1016 出版社&#xff1a;UPUBSCIENCE 【简介】本刊致力于传播…

【C语言】指针(一)

目录 一、内存 1.1 ❥ 理解内存和地址的关系 1.2 ❥ 编址 二、指针变量 2.1 ❥ 取地址操作符&#xff08;&&#xff09; 2.2 ❥ 指针变量和解引用操作符&#xff08;*&#xff09; 2.3 ❥ 指针变量的大小 三、指针类型的意义 3.1 ❥ 指针的解引用 3.2 ❥ 指针-整数 3…

PCIE协议-2-事务层规范-TLP Prefix Rules

2.2.10 TLP前缀规则 以下规则适用于任何包含TLP前缀的TLP&#xff1a; 对于任何TLP&#xff0c;TLP中byte0的Fmt[2:0]字段中的值100b表示存在TLP前缀&#xff0c;并且Type[4]位指示TLP前缀的类型。 Type[4]位中的值0b表示存在本地TLP前缀。Type[4]位中的值1b表示存在端到端TL…

R语言数据分析案例-巴西固体燃料排放量预测与分析

1 背景 自18世纪中叶以来&#xff0c;由于快速城市化、人口增长和技术发展&#xff0c;导致一氧化二氮&#xff08;N2O&#xff09;、 甲烷&#xff08;CH4&#xff09;和二氧化碳&#xff08;CO 2&#xff09;等温室气体浓度急剧上升&#xff0c;引发了全球变暖、海平面上 升…

【数据结构】有关栈和队列相互转换问题

文章目录 用队列实现栈思路实现 用栈实现队列思路实现 用队列实现栈 Leetcode-225 用队列实现栈 思路 建立队列的基本结构并实现队列的基本操作 这部分这里就不多说了&#xff0c;需要的可以看笔者的另一篇博客 【数据结构】队列详解(Queue) 就简单带过一下需要实现的功能 …

信息量、熵、KL散度、交叉熵概念理解

信息量、熵、KL散度、交叉熵概念理解 (1) 信息量 信息量是对事件的不确定性的度量。 假设我们听到了两件事&#xff0c;分别如下&#xff1a;事件A&#xff1a;巴西队进入了世界杯决赛圈。 事件B&#xff1a;中国队进入了世界杯决赛圈。仅凭直觉来说&#xff0c;显而易见事件…

Python从0到POC编写-魔法方法

name __name__ 是系统定义的内部函数&#xff0c; 它的作用是识别模块。 通常我们看到这样一句话&#xff1a; if __name__ __main____name__ 的值有两种情况&#xff0c;那么挨个来说下。 如果模块是被直接执行的 &#xff0c;那么 __name__ 的值 为 __main__ 例如&…

html中用frameset对窗口进行划分

html中&#xff0c;一般有<head><body>等部分&#xff0c;在用<frameset>对窗口进行区域划分时&#xff0c;<body>标签对就不再需要了。直接删除就可以了。 请看下面的示例&#xff1a; 由于使用frameset进行窗口划分时&#xff0c;对于电脑屏幕的划分…

排序-快速排序(Quick Sort)

快排的简介 快速排序&#xff08;Quick Sort&#xff09;是一种高效的排序算法&#xff0c;采用分治法的策略&#xff0c;其基本思想是选择一个基准元素&#xff0c;通过一趟排序将待排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另外一部分的所有数据要…

Android 老年模式功能 放大字体

1 配置属性 <attr name"text_size_16" format"dimension"/><attr name"text_size_18" format"dimension"/><attr name"text_size_14" format"dimension"/><attr name"text_size_12&quo…

容器组件:Column ,Row(HarmonyOS学习第四课【4.1】)

容器组件-Column Column 容器组件是沿垂直方向布局的容器。该组件从APIVersion7开始支持从API version 9开始&#xff0c;该接口支持在ArkTs,卡片中使用。其可以包含子组件 Column(value?: {space?: string | number}) 参数 space 参数类型string | number 是否必填&am…

第11节 多文件函数生成位置规律

我把多年的shellcode开发经验浓缩在了这个专题课&#x1f469;&#x1f3fb;‍&#x1f4bb;里&#xff0c;主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料&#xff0c;内容里面的每一个环境我都亲自测试实操过的记录&#xff0c;有需要的小伙伴可以参…

进程创建-fork

demo1代码状态变迁 demo2代码输出到stdout使用管道 demo1 代码 #include <pthread.h> #include <iostream> #include <unistd.h> int main(int argc, char const *argv[]) {// 1.pid_t x fork();// 2.pid_t y fork();// 3.printf("%d %d\n", x…

【C++】STL-list的使用

目录 1、list的使用 1.1 list的构造 1.2 list的遍历 1.3 list capacity 1.4 list element access 1.5 容量相关 list是一个带头双向循环链表 1、list的使用 1.1 list的构造 1.2 list的遍历 list只有两种遍历方式&#xff0c;因为没有operator[] 因为list的双向链表&am…

《建筑抗震设计规程》DB62/T 3055-2020下载

本规程适用于抗震设防分类为乙类、丙类&#xff0c;抗震设防烈度为6度(0.05g)、7度(0.10g、0.15g)、8度(020g、030g)、9度(0.40g)的多高层钢筋混凝土结构及钢-混凝土混合结构、中等跨度钢屋盖结构、门式刚架钢结构、多低层砖砌体结构房屋建筑的抗震设计。 关于甘肃省地方标准《…