Hadoop 伪分布式安装指南

引言

Hadoop 是一个开源的分布式计算框架,广泛用于大数据处理和分析。本文将详细介绍如何在单台机器上安装和配置 Hadoop 伪分布式模式。伪分布式模式允许我们在一台机器上模拟多节点集群的行为,非常适合学习和测试 Hadoop。

环境准备

操作系统

  • CentOS 7(或其他 Linux 发行版)

工具

  • SSH 服务器
  • Java Development Kit (JDK) 1.8
  • Hadoop 3.1.3

 

安装步骤

1. 安装 JDK

上传 JDK 压缩包

jdk-8u221-linux-x64.tar.gz 上传到 /usr/local 目录:

scp jdk-8u221-linux-x64.tar.gz user@your-hostname:/usr/local/

 user@your-hostname 是主机名

解压 JDK

登录到目标机器并解压 JDK:

sh user@your-hostname
cd /usr/local
sudo tar -zxvf jdk-8u221-linux-x64.tar.gz
设置环境变量

编辑 /etc/profile 文件,添加 JDK 的路径:(也可以用vi或者vim编辑器)

sudo nano /etc/profile

 添加以下内容

export JAVA_HOME=/usr/local/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH

:使环境变量生效:

source /etc/profile
验证安装

验证 Java 是否正确安装:

2. 安装 Hadoop

上传 Hadoop 压缩包

hadoop-3.1.3.tar.gz 上传到 /usr/local 目录:

scp hadoop-3.1.3.tar.gz user@your-hostname:/usr/local/
解压 Hadoop

登录到目标机器并解压 Hadoop:

ssh user@your-hostname
cd /usr/local
sudo tar -zxvf hadoop-3.1.3.tar.gz
设置环境变量

编辑 /etc/profile 文件,添加 Hadoop 的路径:

sudo nano /etc/profile

添加以下内容: 

xport HADOOP_HOME=/usr/local/hadoop-3.1.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使环境变量生效: 

 

3. 配置 Hadoop

编辑 core-site.xml

编辑 core-site.xml 文件,设置 HDFS 的默认地址和临时目录:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/core-site.xml

 添加以下内容:

创建临时目录
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/hadoop/tmp</value>
    </property>
</configuration>

 

创建临时目录

确保临时目录存在:

sudo mkdir -p /app/hadoop/tmp
sudo chown -R user:hadoop /app/hadoop/tmp
编辑 hdfs-site.xml

编辑 hdfs-site.xml 文件,设置副本数量和数据存储目录:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

 添加以下内容:

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

 

创建 HDFS 目录

确保 HDFS 目录存在:

udo mkdir -p /app/hadoop/hdfs/namenode
sudo mkdir -p /app/hadoop/hdfs/datanode
sudo chown -R user:hadoop /app/hadoop/hdfs
编辑 yarn-site.xml

编辑 yarn-site.xml 文件,设置 ResourceManager 的地址和启用 MapReduce Shuffle 服务:

sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/yarn-site.xml

添加以下内容:

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>/app/hadoop/yarn/local</value>
    </property>
    <property>
        <name>yarn.nodemanager.log-dirs</name>
        <value>/app/hadoop/yarn/log</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

 

 

建 YARN 目录

确保 YARN 目录存在:

sudo mkdir -p /app/hadoop/yarn/local
sudo mkdir -p /app/hadoop/yarn/log
sudo chown -R user:hadoop /app/hadoop/yarn
编辑 mapred-site.xml

编辑 mapred-site.xml 文件,设置 MapReduce 框架运行在 YARN 上:

sudo cp /usr/local/hadoop-3.1.3/etc/hadoop/mapred-site.xml.template /usr/local/hadoop-3.1.3/etc/hadoop/mapred-site.xml
sudo nano /usr/local/hadoop-3.1.3/etc/hadoop/mapred-site.xml

添加以下内容: 

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

4. 配置 SSH 免密登录  

为了方便管理和操作,我们需要配置 SSH 免密登录。

生成 SSH 密钥对

生成 SSH 密钥对:

ssh-keygen -t rsa -P ''

 

将公钥添加到 authorized_keys 文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

测试免密登录

测试 SSH 免密登录:

ssh localhost

 

5. 启动 Hadoop 集群

格式化 NameNode

首次启动 Hadoop 集群前,需要格式化 NameNode:

hdfs namenode -format

 

启动 HDFS 和 YARN

启动 HDFS 和 YARN 服务:

start-dfs.sh
start-yarn.sh

6. 验证安装

查看 HDFS 状态

查看 HDFS 状态:

hdfs dfsadmin -report

 

查看 YARN 节点

查看 YARN 节点状态:

yarn node -list
运行 MapReduce 示例

运行一个简单的 MapReduce 示例程序:

hdfs dfs -mkdir /input
hdfs dfs -put /usr/local/hadoop-3.1.3/etc/hadoop/* /input/
hadoop jar /usr/local/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output
hdfs dfs -cat /output/part-r-00000

结论

通过以上步骤,我们成功地在单台机器上安装并配置了 Hadoop 伪分布式模式。这种模式非常适合学习和测试 Hadoop 的基本功能。希望本文对您有所帮助!

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值