小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6

1. 安装JDK1.8

官网下载安装包,上传至服务器,解压tar包

txt 复制代码
http://planetone.online/downloads/java/jdk/jdk-8u221-linux-x64.tar.gz

上传安装包至服务器并解压到指定目录:

txt 复制代码
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/module/

2. 配置java环境变量、生效

编辑 /etc/profile 文件,加入以下内容:

shell 复制代码
vi /etc/profile
shell 复制代码
export JAVA_HOME=/opt/module/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3. 把上述环境变量添加到/etc/profile中并生效

shell 复制代码
source /etc/profile

4. 检测Java版本:

shell 复制代码
java -version

一、Hadoop 简介

Hadoop是一个由Apache基金会开发的开源分布式系统框架,旨在让用户能够轻松开发分布式应用程序,而无需深入了解底层的分布式细节。它能够充分利用集群计算的能力,进行高效的存储和处理大规模数据。

Hadoop框架的核心组件之一是HDFS(Hadoop Distributed File System),一个为大数据存储设计的分布式文件系统。HDFS具有高容错性,可以在低成本硬件上部署,并能提供高吞吐量的数据访问,特别适合处理超大数据集的应用场景。与传统的文件系统不同,HDFS放宽了POSIX文件系统的要求,支持流式数据访问,能够更高效地读写大规模数据。

Hadoop的核心设计理念包含两个主要组成部分:

  1. HDFS:为大规模数据集提供可靠的存储。
  2. MapReduce:为这些数据提供高效的计算能力。

通过HDFS和MapReduce的结合,Hadoop能够处理海量的数据存储与计算任务,广泛应用于大数据处理、分析和存储等领域。

二、Hadoop 单机安装

1、下载 Hadoop 安装文件

Hadoop 目前最新的版本为 3.3.6 ,下载地址如下:https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/

2、安装 Hadoop

修改主机名

将主机名称改为 hadoop1,命令如下:

bash 复制代码
hostnamectl set-hostname hadoop1

修改后,使用如下命令查看主机名:

bash 复制代码
hostname

修改主机列表

修改 /etc/hosts 中的内容,增加如下配置:

上传安装包到指定目录

将 hadoop-3.3.6.tar.gz 上传到指定目录,如:/home/tools/ (根据实际情况,选择一个目录存放安装包)

解压到指定目录

将 hadoop-3.3.6.tar.gz 解压到 /home/hadoop/ 目录下(根据实际情况,选择安装目录),命令如下:

shell 复制代码
tar -zxvf hadoop-3.3.6.tar.gz -C /home/hadoop/

创建数据存储目录

shell 复制代码
mkdir -p /home/hadoop/hdfs/tmp /home/hadoop/hdfs/data /home/hadoop/hdfs/name

3、修改配置

修改环境变量

在 /etc/profile 文件内容最后,追加环境变量,命令如下:

shell 复制代码
vim /etc/profile

增加内容如下:

shell 复制代码
export HADOOP_HOME=/home/hadoop/hadoop-3.3.6
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

使用如下命令,使环境变量生效:

shell 复制代码
source /etc/profile

使用如下命令,验证环境变量是否生效:

shell 复制代码
echo $HADOOP_HOME

修改 hadoop-env.sh

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/hadoop-env.sh,设置 JAVA_HOMEHADOOP_HOME 变量。

通过如下命令,查询 JAVA_HOME 配置:

shell 复制代码
echo $JAVA_HOME

修改内容如下:

shell 复制代码
export JAVA_HOME=/opt/module/jdk1.8.0_221
export HADOOP_HOME=/home/hadoop/hadoop-3.3.6

设置 root 账户,修改内容如下:

shell 复制代码
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

修改 core-site.xml

core-site.xml 文件用于配置 Hadoop 的核心组件,尤其是与 HDFS 的连接和文件系统相关的设置。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/core-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:

  • fs.defaultFS:指定 Hadoop 使用的文件系统,通常设置为 HDFS。
  • hadoop.tmp.dir:指定 Hadoop 的临时目录,用于存储临时数据。
  • hadoop.proxyuser.root.hostshadoop.proxyuser.root.groups :这两个配置允许用户 root 代理执行某些操作。
shell 复制代码
    <!-- 指定 NameNode 的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9090</value>
    </property>

    <!-- 指定 hadoop 数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hdfs/tmp</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>

修改 hdfs-site.xml

hdfs-site.xml 文件用于配置 HDFS 的特性和行为,包括数据存储和副本设置。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/hdfs-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:
  • dfs.replication:指定 HDFS 中文件的副本数。
  • dfs.namenode.name.dir:指定 NameNode 的元数据存储目录。
  • dfs.datanode.data.dir:指定 DataNode 存储数据块的目录。
  • dfs.http.address:指定 NameNode Web UI 的访问地址
  • dfs.permissions:启用或禁用 HDFS 的权限检查。
shell 复制代码
    <property>
        <name>dfs.replication</name>      
        <value>1</value>
        <description>副本个数,配置默认是3,应小于datanode机器数量</description>
    </property>  

    <property>
        <name>dfs.namenode.name.dir</name>  
        <value>/home/hadoop/hdfs/name</value>  
        <final>true</final>
    </property>  

    <property>
        <name>dfs.datanode.data.dir</name>  
        <value>/home/hadoop/hdfs/data</value>  
        <final>true</final>
    </property>  

    <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
        <description>将绑定IP改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的50070端口了</description>
    </property>

    <property>
        <name>dfs.permissions</name>  
        <value>false</value>
    </property>

修改 mapred-site.xml

mapred-site.xml 文件用于配置 MapReduce 的框架和作业执行相关的设置。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/mapred-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:
  • mapreduce.framework.name:指定 MapReduce 使用的计算框架。
  • 指定 MapReduce 任务由 YARN 管理和执行。对于 YARN 集群,mapreduce.framework.name 必须设置为 yarn
shell 复制代码
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

修改 yarn-site.xml

yarn-site.xml 文件用于配置 YARN(Yet Another Resource Negotiator)相关的设置,包括资源管理和调度。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/yarn-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:
  • yarn.nodemanager.aux-services :指定 YARN NodeManager 附加的服务:配置 NodeManager 使用 mapreduce_shuffle 服务,支持 MapReduce Shuffle 阶段。
  • yarn.resourcemanager.address :指定 ResourceManager 的地址:hadoop1:8032 表示 ResourceManager 监听的地址和端口号。
shell 复制代码
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

格式化 HDFS

shell 复制代码
hdfs namenode -format

4、启动 Hadoop

启动 Hadoop 服务

shell 复制代码
cd /home/hadoop/hadoop-3.3.6/sbin
shell 复制代码
./start-all.sh

注意:此时有报错信息:"localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)."此时,需要配置免密登录。

生产私钥,命令如下(输入两次回车):

shell 复制代码
ssh-keygen -t rsa -P ""

复制授权秘钥,命令如下:

shell 复制代码
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

再次执行

shell 复制代码
./start-all.sh

即可正常执行。使用 jps 命令查看进程,效果如下(出现6个进程为正常):

5、访问 Hadoop 管理页面

http://Hadoop机器IP:50070/

http://Hadoop机器IP:8088/

相关推荐
远游客071340 分钟前
centos stream 8下载安装遇到的坑
linux·服务器·centos
清平乐的技术专栏3 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
LIKEYYLL3 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3213 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3213 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
CircleMouse4 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux5 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
节点。csn5 小时前
Hadoop yarn安装
大数据·hadoop·分布式
csding115 小时前
写入hive metastore报问题Permission denied: user=hadoop,inode=“/user/hive”
数据仓库·hive·hadoop