大数据开发之Hadoop--(二)从单机部署开始部署Hadoop集群

前期准备

Ubuntu系统、Java环境,nginx,hadoop下载

Java环境

ubuntu直接安装

apt-get install openjdk-8-jdk

配置环境变量

vim ~/.bashrc
# 底部写入以下内容,JAVA_HOME的路径建议检查一下确定是不是安装在这
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

nginx安装

apt-get install nginx

默认配置文件目录/etc/nginx

ssh配置

确保安装好了ssh

apt-get install ssh openssh-server
cd ~/.ssh/
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys

hadoop压缩包下载

先去镜像网站找到自己想下的版本:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
tar -zxvf hadoop-3.2.4.tar.gz

解压后的文件结构
image.png

进入站点配置文件夹

cd ./etc/hadoop

image.png

配置核心站点core-site.xml,记得替换成自己hadoop安装的根目录

<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/opt/hadoop/hadoop-3.2.4/tmp</value>
                <description>test</description>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>

配置hdfs站点,hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/opt/hadoop/hadoop-3.2.4/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/opt/hadoop/hadoop-3.2.4/tmp/dfs/data</value>
        </property>
</configuration>

配置hadoop环境hadoop-env.sh,找到JAVA_HOME取消注释

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

启动Hadoop

回到hadoop的根目录,执行命令进行初始化

./bin/hdfs namenode -format

image.png

开启你namenode和datanode的守护进程

./sbin/start-dfs.sh

image.png
出现这个错误的原因主要是因为hadoop为了防止发生意外,只限定部分用户可以执行某些子命令,因此需要在hadoop-env.sh添加以下环境
image.png

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

修改好后重新运行以下启动命令,成功启动
image.png

配置yarn的站点

进入hadoop下的etc,编辑yarn-site.xml文件

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>iZ7xv1ajtipa68nxpfa9sbZ</value> <!--注意换成你自己的机器名-->
</configuration>

配置mapred站点

编辑mapred-site.xml

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

启动yarn

回到hadoop的根目录,运行脚本

./sbin/start-yarn.sh

启动成功
image.png

对应的管理页面的端口是8088,这里需要注意是http://主机名:端口/

开启JobHistory记录任务日志

修改mapred-site.xml为以下内容

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>iZ7xv1ajtipa68nxpfa9sbZ:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>iZ7xv1ajtipa68nxpfa9sbZ:19888</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.done-dir</name>
                <value>/history/done</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.intermediate-done-dir</name>
                <value>/history/done_intermediate</value>
        </property>
</configuration>

修改yarn-site.xml为一下内容

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>iZ7xv1ajtipa68nxpfa9sbZ</value>
        </property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
</configuration>

回到hadoop根目录,运行一下命令

./bin/mapred --daemon start historyserver

image.png

对应的端口为19888,注意是主机名:端口的格式

配置外部访问(局域网服务器可以直接用localhost:port形式)

按照正常的端口代理即可,打开后就能够看到hadoop的页面
image.png

yarn启动后的页面
image.png


标题:大数据开发之Hadoop--(二)从单机部署开始部署Hadoop集群
作者:linrty
地址:https://blog.linrty.top/articles/2025/05/29/1748502337670.html

    评论
    0 评论
avatar

取消