hadoop安装与伪分布式集群搭建(hadoop安装与伪分布式集群搭建头歌超详细具体步骤)

一:概述

        Hadoop 是一个开源的分布式计算框架,广泛应用于大数据处理。伪分布式集群是 Hadoop 的一种部署模式,它可以在单台机器上模拟集群环境,适合初学者进行学习和实验。本文将详细介绍如何在单台机器上搭建 Hadoop 3.4.1 的伪分布式集群。

二:具体说明
        2.1 环境准备

需要安装好虚拟机CentOS8,并且已经配置了SSH远程连接,以便于更好的操作。

我演示的是在CentOS8中配置伪分布式集群搭建。

        首先,我们需要在虚拟机中配置java环境,详细过程如下所示:
 

  首先将jdk的安装包,通过文件传输工具传输到/usr/local/soft/jdk中,让后将其解压的jdk8目录中

接下来在/etc/profile中配置环境变量

vim /etc/profile

在文件中添加如下的内容

JAVA_HOME路径为jdk的解压根目录。

配置完成之后,保存。

为了能够使这个配置生效,需要使用以下的命令来重新加载这个配置文件。

source /etc/profile

接着查看是否配置成功,这里和Win中查看方法相同

java -version

如果出现以下图片的内容,则证明配置成功。

如果没有,说明配置文件中配置的路径有误或者未执行重新加载配置文件的命令。

 2.2 搭建Hadoop伪分布式集群
        将hadoop的安装包上传到虚拟机的/opt目录中

   配置免密登录

        修改主机名

vim /etc/hostname
# 或者使用以下的命令
hostnamectl set-hostname master

将默认的主机名改为master,保存并退出

接下来修改hosts文件

vim /etc/hosts

 接着重启虚拟机,并生成公钥和私钥对。

cd .ssh
ssh-keygen -t rsa

        接着使用下面命令进行免密登录配置

ssh-copy-id master

        利用以下的命令检查免密登录是否成功。

ssh master

        如果出现上图中的内容,则说明配置免密登录成功了。

配置HDFS

        将上传到/usr/local/soft/hadoop/hadoop3.4.1中的压缩包解压到/usr/local/soft/hadoop/hadoop3.4.1/中

通过以下的命令配置hadoop-env.sh文件

cd /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/etc/hadoop
cd /etc/hadoop

         接着去编辑这个hadoop目录中的hadoop-env.sh文件,在里面添加JDK的家目录

        通过以下的步骤去进行。

如果你不知道这个已经配置好的jdk家目录中,可以使用以下的命令打印出这个路径

echo $JAVA_HOME
vim hadoop-env.sh

        

 然后保存并且退出。

        接下来配置core-site.xml

vim core-site.xml

   
     fs.defaultFS
     hdfs://master:8020
 
 
     hadoop.tmp.dir
     /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/data
 

        再接下来配置hdfs-site.xml

vim hdfs-site.xml

 
     dfs.replication
     1
 
</configuration

        接下来,格式化HDFS

hdfs namenode -format

        2.3 HDFS的启动和停止

        启动之前,需要做一些准备

   进入到sbin目录中,修改四个文件

对于start-dfs.sh和stop-dfs.sh文件,尾部添加如下的参数

cd /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/sbin
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
[root@master sbin]# vim start-dfs.sh
[root@master sbin]# vim stop-dfs.sh
[root@master sbin]# vim start-yarn.sh
[root@master sbin]# vim stop-yarn.sh

     
对于start-yarn.sh和stop-yarn.sh文件,尾部添加下列参数:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
/usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1
# 启动命令
sbin/start-dfs.sh
# 关闭命令
sbin/stop-dfs.sh

        

        在 Hadoop 的配置文件中定义运行服务的用户。编辑   

$HADOOP_HOME/etc/hadoop/hadoop-env.sh   文件,添加以下内容:bashexport HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"

        注意:虽然这里使用了   root   用户,但在实际生产环境中,建议使用非   root   用户来运行 Hadoop 服务,以增强安全性

    

        我们发现,现在执行,刚才那个错误已经没有了,但是又出现了一个错误。这个要去将/etc/hosts中以下内容注释掉

vim /etc/hosts

        接着杀死,已经启动的进程,然后重新启动,看是否还有这个错误/警告。

        重现启动,发现已经没有了警告。

        

        

        2.4 YARN的相关配置 
        (1)配置yarn-site.xml

vim yarn-site.xml

 
    yarn.resourcemanager.hostsname
    master
 
 
    yarn.nodemanager.aux-services
    mapreduce_shuffle
 

        (2)配置mapred-site.xml

        把mapred-site.xml.template修改成mapred-site.xml,如果不是则不需要修改

# cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml


     mapreduce.framework.name
     yarn

        启动和停止YARN

启动命令:

start-dfs.sh

 暂停命令:

stop-dfs.sh

同理dfs的启动,若不能成功启动,则需退回/opt/hadoop目录下使用sbin/start-yarn.sh或sbin/stop-yarn.sh

        

        在 Hadoop 的配置文件中定义运行服务的用户。编辑   $HADOOP_HOME/etc/hadoop/hadoop-env.sh   文件,添加以下内容:export YARN_RESOURCEMANAGER_USER=”root”
export YARN_NODEMANAGER_USER=”root”

        

vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

        接下来,就可以顺利启动成功了!!

        

                2.5 web页面访问管理

首先需要关闭防火墙,我们这里直接关闭,一般开发中,只是开放指定端口

[root@master hadoop3.4.1]# systemctl stop firewalld
[root@master hadoop3.4.1]# systemctl disable firewalld 
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

        接下来去访问HDFS和YARN的Web界面

http://master:9870/
http://master:8088/

        

          dfs.namenode.http-address  :NameNode 的 HTTP 服务端口(默认为   50070  ,Hadoop 3.x 中为   9870  )。•   dfs.datanode.http.address  :DataNode 的 HTTP 服务端口(默认为   50075  ,Hadoop 3.x 中为   9864  )

大数据

git基本用法(git的基本用法)

2025-3-1 23:12:16

大数据

git常用命令大全(git 常见命令)

2025-3-1 23:12:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧