Hadoop伪分布模式搭建教程

在大数据时代,Hadoop作为分布式存储和计算的核心框架,受到了众多开发者的青睐。而伪分布模式则是在单台服务器上模拟分布式环境,非常适合开发和学习使用。本文将详细介绍如何搭建Hadoop伪分布模式,帮助大家快速上手。

一、环境安装

(一)安装 JDK

Hadoop 是基于 Java 开发的,因此在安装 Hadoop 之前,需要先安装 JDK。以下是安装 JDK 的详细步骤:

下载地址:https://www.oracle.com/cn/java/technologies/downloads/

1.创建安装包存放目录

mkdir -p /opt/modules     # 用于存放安装包
mkdir -p /opt/installs    # 用于存放解压后的软件

这样可以方便地管理和查找安装文件。

2.上传安装包至 Linux 系统

将下载好的 JDK 安装包(如 jdk-8u451-linux-x64.tar.gz)上传至 Linux 系统的 /opt/modules 目录下。可以使用工具如 WinSCP 等进行上传。

3.解压安装包

tar -zxvf /opt/modules/jdk-8u451-linux-x64.tar.gz -C /opt/installs/

将 JDK 解压到 /opt/installs 目录下

4.重命名

cd /opt/installs
mv jdk1.8.0_451 jdk

将解压后的文件夹重命名为 jdk,便于后续操作。

5.配置环境变量

输入以下命令编辑 /etc/profile 文件:

vi /etc/profile

在文件中追加以下内容:

export JAVA_HOME=/opt/installs/jdk
export PATH=$PATH:$JAVA_HOME/bin

6.刷新配置文件

source /etc/profile

使配置文件生效,确保环境变量设置成功。

(二)安装 Hadoop

接下来安装 Hadoop,以下是详细的安装步骤:

1.上传 Hadoop 安装包

下载地址:https://dlcdn.apache.org/hadoop/common/

将下载好的 Hadoop 安装包(如 hadoop-3.3.5.tar.gz)上传至 Linux 系统的 /opt/modules 目录下。

2.解压安装包

tar -zxvf /opt/modules/hadoop-3.3.5.tar.gz -C /opt/installs/

将 Hadoop 解压到 /opt/installs 目录下。

3.重命名

cd /opt/installs/
mv hadoop-3.3.5 hadoop

将解压后的文件夹重命名为 hadoop,便于后续操作。

4.配置环境变量

编辑 /etc/profile 文件:

vi /etc/profile

在文件中追加以下内容:

export HADOOP_HOME=/opt/installs/hadoop
#此语句在java安装的时候已有前面部分,追加即可
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5.刷新配置文件

source /etc/profile

6.验证 Hadoop 是否安装成功

hadoop version

如果安装成功,将显示 Hadoop 的版本信息,如下图所示:
在这里插入图片描述

(三)关闭防火墙

为了确保 Hadoop 集群的正常通信,需要关闭防火墙。输入以下命令查看防火墙状态:

systemctl status firewalld

如果防火墙处于开启状态,可以使用以下命令关闭防火墙:

systemctl stop firewalld

(四)免密登录

在 Hadoop 集群中,为了方便节点之间的通信,需要设置免密登录。以下是设置免密登录的步骤:

生成密钥对

输入以下命令生成密钥对:

ssh-keygen -t rsa

按回车键接受默认设置,生成密钥对后,会在 ~/.ssh 目录下生成 id_rsaid_rsa.pub 两个文件。

将公钥复制到本机

输入以下命令将公钥复制到本机:

ssh-copy-id 主机名

在提示输入密码时,输入当前用户的密码。主机名可以通过 hostname 命令查看。

测试免密登录

输入以下命令测试免密登录是否成功

ssh 主机名

如果成功,将直接登录到本机,无需输入密码。

(五)修改 Linux 安全机制

为了确保 Hadoop 集群的正常运行,需要修改 Linux 的安全机制。输入以下命令编辑 /etc/selinux/config 文件:

vi /etc/selinux/config

将文件中的 SELINUX=enforcing 修改为 SELINUX=disabled,然后保存并退出。

(六)设置 host 映射

为了方便节点之间的通信,需要设置 host 映射。输入以下命令编辑 /etc/hosts 文件:

vi /etc/hosts

在文件中添加以下内容:

本机ip地址 主机名

主机名 替换为实际的主机名

二、配置核心文件

(一)修改配置文件

Hadoop 的配置文件位于 /opt/installs/hadoop/etc/hadoop 目录下。以下是修改配置文件的详细步骤:

1.修改 core-site.xml

cd /opt/installs/hadoop/etc/hadoop
vi core-site.xml

修改内容如下:

<configuration>
  <!-- 设置namenode节点 -->
  <!-- 注意: hadoop1.x时代默认端⼝9000 hadoop2.x时代默认端⼝8020 hadoop3.x时 代默认端⼝ 9820 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://主机名:9820</value>
  </property>
  
  <!-- hdfs的基础路径,被其他属性所依赖的⼀个基础路径 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/installs/hadoop/tmp</value>
  </property>
</configuration>

主机名 替换为实际的主机名。

2.修改 hdfs-site.xml

vi hdfs-site.xml

修改内容如下:

<configuration>
    <property>
        <!--备份数量-->
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!--secondarynamenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>主机名:9868</value>
    </property>
    <!-- namenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>主机名:9870</value>
    </property>
</configuration>

主机名 替换为实际的主机名。

3.修改 hadoop-env.sh

vi hadoop-env.sh

修改内容如下:

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

export JAVA_HOME=/opt/installs/jdk

确保 JAVA_HOME 的路径与之前安装的 JDK 路径一致。

4.修改 workers 文件

vi workers

修改内容为:

自己的主机名

例如:

hadoop01

(二)格式化 namenode

对整个集群进行 namenode 格式化,输入以下命令

hdfs namenode -format

格式化其实就是创建了一系列的文件夹,如 logstmp。如果需要再次格式化,需要先删除这两个文件夹,然后再进行格式化。

(三)启动集群

输入以下命令启动dfhs:

start-dfs.sh

如果启动成功,将显示如下图所示的信息:
https://example.com/start_dfs_success.png

(四)访问 HDFS 集群

过浏览器访问 HDFS 集群,输入以下网址:

http://192.168.233.128:9870/

192.168.233.128 替换为实际的 IP 地址。如果访问成功,将显示如下图所示的界面: https://example.com/hdfs_cluster.png

三、运行 WordCount 示例

为了验证 Hadoop 集群的运行情况,可以运行 WordCount 示例。以下是运行 WordCount 示例的详细步骤:
先创建一个word.txt

hello world spark flink
hello mostarc 2025 mostarc
hello suibian suibian hello

1.上传文件至 HDFS 文件系统

hdfs dfs -mkdir /home
hdfs dfs -put /home/word.txt /home

将本地文件 /home/wc.txt 上传至 HDFS 文件系统中的 /home 目录下。

2.运行 WordCount 示例

hadoop jar /opt/installs/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount /home/word.txt /home/output

使用 WordCount 程序对上传的文件进行统计。

3.查看统计结果

hdfs dfs -cat /home/output/*

查看统计结果,如下图所示:
https://example.com/wordcount_result.png

四、总结

通过以上步骤,我们成功搭建了 Hadoop 伪分布模式,并运行了 WordCount 示例。伪分布模式非常适合开发和学习使用,可以帮助我们更好地理解和掌握 Hadoop 的分布式存储和计算原理。在实际生产环境中,可以根据需要扩展为全分布模式,以满足大规模数据处理的需求。

如果你在搭建过程中遇到任何问题,欢迎在评论区留言,我会及时为你解答。希望这篇文章对你有所帮助,祝你在大数据学习的道路上越走越远!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值