如何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 交互以读写数据。
相关推荐
TDengine (老段)1 小时前
TDengine 语言连接器(Node.js)
大数据·c语言·数据库·物联网·node.js·时序数据库·tdengine
明月看潮生2 小时前
青少年编程与数学 02-016 Python数据结构与算法 23课题、分布式算法
分布式·python·算法·青少年编程·编程与数学
火龙谷3 小时前
【hive】Hive对数据库,对表的操作(一)
数据库·hive·hadoop
jinan8864 小时前
加密软件的发展:从古典密码到量子安全
大数据·运维·服务器·网络·安全·web安全
[email protected]4 小时前
ASP.NET Core 性能优化:分布式缓存
分布式·缓存·性能优化·asp.net·.netcore
CC数学建模5 小时前
第十七届“华中杯”大学生数学建模挑战赛题目A题 晶硅片产销策略优化 完整成品 代码 模型 思路 分享
大数据
bulucc5 小时前
回归,git 分支开发操作命令
大数据·git·elasticsearch
计算机毕设定制辅导-无忧学长6 小时前
TDengine 存储引擎剖析:数据文件与索引设计(二)
大数据·时序数据库·tdengine
计算机毕设定制辅导-无忧学长6 小时前
TDengine 存储引擎剖析:数据文件与索引设计(一)
大数据·时序数据库·tdengine
ZStack开发者社区7 小时前
ZStack文档DevOps平台建设实践
java·大数据·开发语言·devops