Hadoop伪分布式集群安装配置

计算机开发环境:腾讯云云服务器 CentOS 7.6 64位 root用户

基础环境准备:

  1. Hadoop由JAVA开发,安装配置Hadoop之前需要安装配置JDK,可参考JDK安装配置
  2. Hadoop监听某些端口,需要将这些端口开放,此处直接关闭防火墙,可参考CentOS防火墙相关操作
  3. 配置ssh免密登录,可参考Hadoop伪分布式集群ssh免密码登录

Hadoop下载

访问北京理工大学镜像网站下载或者键入wget命令下载

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

Hadoop解压

键入解压命令,路径自定义

tar -zxf hadoop-3.2.1.tar.gz -C ../software

查看目录检验解压文件
在这里插入图片描述

配置环境变量

此处直接配置在root用户下

打开root用户根目录下的隐藏文件.bashrc

vim /root/.bashrc

在.bashrc中输入以下设定配置环境变量

# Hadoop
export HADOOP_HOME=/root/software/hadoop-3.2.1 #路径与自定义路径一致
export PATH=$HADOOP_HOME/bin:$PATH

使得.bashrc文件修改生效

source /root/.bashrc

查看Hadoop版本

hadoop version

出现类似如下信息表示配置成功
在这里插入图片描述

Hadoop运行文件配置

共有五个配置文件需要相关信息设定以支持Hadoop运行
配置文件位于/root/software/hadoop-3.2.1/etc/hadoop,Hadoop根目录下的ect/hadoop

配置文件一:hadoop-env.sh

配置 hadoop 运行时依赖的 java 环境
将JDK路径添加至该文件,与先前JDK环境配置保持一致,随后保存退出

# JDK
export JAVA_HOME=/root/software/jdk-14.0.2 #路径与自定义路径一致
配置文件二:core-site.xml

配置 hadoop 运行过程中临时文件存放的路径及 hdfs 通信方式
将以下代码进行相关修改后粘贴至该文件,随后保存退出

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://sunshine:9000</value> <!--sunshine为本机的hostname,9000为端口号,终端键入hostname可查看hostname-->
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/root/software/hadoop-3.2.1/tmp</value> <!--临时文件目录,与自定义路径保持一致-->
  </property>
</configuration>
配置文件三:hdfs-site.xml

配置 hdfs 运行时存放的 name 空间元数据和 data 数据块路径
将以下代码进行相关修改后粘贴至该文件,随后保存退出

<configuration>
  <property>
    <name>dfs.name.dir</name>
    <value>/root/software/hadoop-3.2.1/tmp/dfs/name</value> <!--name 空间元数据文件夹-->
  </property>
  <property>
    <name>dfs.data.dir</name>
    <value>/root/software/hadoop-3.2.1/tmp/dfs/data</value> <!--data 数据块文件夹-->
  </property>
  <property>
    <name>dfs.replication</name> <!--上传至hdfs文件的副本数,包括本身,由于此处采用本机伪分布,则值设定为1-->
    <value>1</value>
  </property>
</configuration>
配置文件四:yarn-site.xml

配置 yarn 资源管理相关信息
将以下代码进行相关修改后粘贴至该文件,随后保存退出

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name> <!--主机名-->
    <value>sunshine</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property> 
  <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
  <property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>5</value>
  </property>
</configuration>
配置文件五:mapred-site.xml

配置 mapreduce 相关所需资源
将以下代码进行相关修改后粘贴至该文件,随后保存退出

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
  </property>
  <property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
  </property>
  <property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
  </property>
  <property>
    <name>mapreduce.map.memory.mb</name> <!--内存配置,自定义设定,此处为1G-->
    <value>1024</value>
  </property>

Hadoop namenode 初始化

键入初始化命令

hadoop namenode -format

出现如下实例表明namenode初始化成功
在这里插入图片描述在这里插入图片描述

启动Hadoop

Hadoop主要的五个进程:namenode、datanode、secondarynamenode、resourcemanager、nodemanager,其中namenode、datanode、secondarynamenode由hdfs提供,resourcemanager、nodemanager由yarn提供。
在目录/root/software/hadoop-3.2.1/sbin下,包含了各个进程的启动和关闭文件
在这里插入图片描述start-all.sh和stop-all.sh分别可以启动全部进程和结束全部进程,键入命令启动全部进程

./start-all.sh

随后华丽报错如下
在这里插入图片描述报错说明没问题,如果在root用户下安装配置Hadoop会出现上述问题,需要额外配置操作,非root用户不需要,操作如下,详细可参考。

在目录/root/software/hadoop-3.2.1/sbin
对于start-dfs.shstop-dfs.sh文件,文件顶部粘贴加入以下配置信息

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

对于start-yarn.shstop-yarn.sh文件,文件顶部粘贴加入以下配置信息

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

随后重新启动

./start-all.sh

Web端查看

链接如下,ip更改为Hadoop部署机器ip,端口默认9870。

http://119.75.217.110:9870/dfshealth.html#tab-overview

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/UZDW_/article/details/107371046