Hadoop安装及伪分布式配置(Ubuntu 24.04)

一、前期准备:创建Hadoop用户

1.打开终端,创建用户

sudo useradd -m hadoop -s /bin/bash

2. 为hadoop用户设置密码

sudo passwd hadoop

连续输入两次密码并回车

3. 给hadoop用户添加管理员权限

sudo adduser hadoop sudo

4.登出,切换到hadoop用户

二、安装依赖:JDK与SSH

(一)安装SSH、配置SSH无密码登陆

1. 安装SSH服务端

Ubuntu默认只装了SSH客户端,需要手动安装服务端:

sudo apt-get install openssh-server

执行后输入当前用户密码,等待安装完成。

2. 测试SSH登录本机

ssh localhost

首次登录会出现SSH首次登录提示,询问是否继续连接,输入 yes 回车
然后输入 hadoop 用户的密码,即可登录本机
此时是需要密码登录,后续要配置免密

3.配置SSH免密登录

1) 先退出刚才的SSH会话

exit

2)进入SSH配置目录

cd ~/.ssh/

3)生成SSH密钥对

ssh-keygen -t rsa

全程按回车,使用默认配置

4)将公钥添加到授权文件中

cat ./id_rsa.pub >> ./authorized_keys

4. 验证免密登录

再次输入:

ssh localhost

记得exit退出

(二)Java 8安装及环境变量配置

1. 安装OpenJDK 8

sudo apt update
sudo apt install -y openjdk-8-jre openjdk-8-jdk

验证安装:java -version

出现对应版本即成功

2. 获取JDK安装路径

 找到相应的安装路径

readlink -f /usr/bin/javac

示例输出:  

去掉末尾 /bin/javac ,得到JAVA_HOME路径:
 /usr/lib/jvm/java-8-openjdk-amd64 

3.配置环境变量

gedit ~/.bashrc

在文件末尾添加以下内容(注意路径替换为自己的JDK路径):

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

点击gedit右上角的保存,然后关闭窗口即可

4. 生效环境变量

source ~/.bashrc    

5. 验证配置

echo $JAVA_HOME

终端输出你配置的JDK路径,说明配置成功

三、安装Hadoop(以3.3.6稳定版为例)

注意:3.5.0版本需安装配置java 17

0. 配置 Hadoop 环境变量 (hadoop-env.sh)

Hadoop 启动脚本需要明确知道 Java 的安装路径,否则可能报错  Error: JAVA_HOME is not set 。

打开配置文件:

gedit ./etc/hadoop/hadoop-env.sh

修改内容:


在文件中找到  export JAVA_HOME=${JAVA_HOME}  这一行(通常在文件中间部分,可以使用 Ctrl+F 搜索)。

  • 如果有该行但被注释(有#号):去掉  #  号。
  • 如果该行不存在或为空:在文件末尾添加以下内容。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

1.下载hadoop

选择对应版本中的hadoop-3.x.y.tar.gz下载

阿里云镜像网站 https://mirrors.aliyun.com/apache/hadoop/common/

2.解压

# 解压到/usr/local目录
sudo tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/

cd /usr/local/

# 将文件夹名改为hadoop
sudo mv ./hadoop-3.3.6/ ./hadoop    

# 修改文件权限       
sudo chown -R hadoop ./hadoop       

3.检查 Hadoop 是否可用

cd /usr/local/hadoop
./bin/hadoop version

成功则会显示 Hadoop 版本信息:

四、伪分布式核心配置

1.修改配置文件 core-site.xml

gedit ./etc/hadoop/core-site.xml

修改:

<configuration>
</configuration>

为:

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

2.修改配置文件 hdfs-site.xml

gedit ./etc/hadoop/hdfs-site.xml

同上修改配置文件:

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

3.修改配置文件 mapred-site.xml

重命名

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
gedit ./etc/hadoop/mapred-site.xml

同上修改配置文件:

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

4.修改配置文件 yarn-site.xml

gedit ./etc/hadoop/yarn-site.xml

同上修改配置文件:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        </property>
</configuration>

五、初始化与启动集群

1. 格式化HDFS(仅第一次执行,不可重复执行)

cd /usr/local/hadoop
./bin/hdfs namenode -format

看到 Successfully formatted 即成功

2.启动HDFS和YARN

./sbin/start-dfs.sh
 ./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器

3. 验证集群进程

jps

出现以下进程:

六、Web UI访问验证

  • HDFS管理界面:在浏览器输入 http://localhost:9870 ,可查看HDFS状态、文件目录
  • YARN管理界面:在浏览器输入 http://localhost:8088 ,可查看集群资源、运行任务

七、关闭集群

./sbin/stop-dfs.sh
./sbin/stop-yarn.sh
./sbin/mr-jobhistory-daemon.sh stop historyserver

     

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值