Hadoop环境配置与测试

Hadoop环境配置与测试

前面的实验我们做好了Linux环境和Hadoop环境的准备与配置工作,因此这一实验我们在上一实验的基础上进行Hadoop环境的配置和测试。

Hadoop环境搭建前的Linux环境安装与配置
https://blog.csdn.net/weixin_43640161/article/details/108614907
Linux下JDK软件的安装与配置
https://blog.csdn.net/weixin_43640161/article/details/108619802
掌握Linux下Eclipse软件的安装与配置
https://blog.csdn.net/weixin_43640161/article/details/108691921
熟悉Hadoop的下载与解压
https://blog.csdn.net/weixin_43640161/article/details/108697510

Hadoop的安装方式有三种,分别是单机模式,伪分布式模式,分布式模式。
• 单机模式:Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。
• 伪分布式模式:Hadoop可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
• 分布式模式:使用多个节点构成集群环境来运行Hadoop。
• 本实验采取单机伪分布式模式进行安装。

重要知识点提示:

  1. Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件
  2. Hadoop 的配置文件位于 hadoop/etc/hadoop/ 中,伪分布式需要修改5个配置文件hadoop-env.sh、 core-site.xml 、 hdfs-site.xml 、mapred-site.xml和yarn-site.xml
  3. Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现
    实验步骤:
  4. 修改配置文件:hadoop-env.sh、core-site.xml,hdfs-site.xml,mapred-site.xml、yarn-site.xml
  5. 初始化文件系统hadoop namenode -format
  6. 启动所有进程start-all.sh或者start-dfs.sh、start-yarn.sh
  7. 访问web界面,查看Hadoop信息
  8. 运行实例
  9. 停止所有实例:stop-all.sh

第一步:配置Hadoop环境(jdk版本不同,修改的内容也不同,我这里是jdk1.8.0_181和hadoop-3.1.1)

1.配置Hadoop(伪分布式),修改其中的5个配置文件即可

  1. 进入到Hadoop的etc目录下
    终端命令:cd /bigdata/hadoop-3.1.1/etc/hadoop
    在这里插入图片描述

  2. 修改第1个配置文
    终端命令:sudo vi hadoop-env.sh
    在这里插入图片描述

找到第54行,修改JAVA_HOME如下(记得去掉前面的 # 号):

export JAVA_HOME=/opt/java/jdk1.8.0_181

在这里插入图片描述

  1. 修改第2个配置文件
    终端命令:sudo vi core-site.xml
    在这里插入图片描述

在这里插入图片描述

<configuration>
  <!-- 配置hdfs的namenode(老大)的地址 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>

  <!-- 配置Hadoop运行时产生数据的存储目录,不是临时的数据 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/bigdata/hadoop-3.1.1/tmp</value>
  </property>
</configuration>
  1. 修改第3个配置文件
    终端命令:sudo vi hdfs-site.xml
    在这里插入图片描述
    在这里插入图片描述
<configuration>
 <!-- 指定HDFS存储数据的副本数据量 -->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
<property>
        <name>dfs.namenode.http-address</name>
        <value>localhost:50070</value>
</property>

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/bigdata/hadoop-3.1.1/tmp/dfs/name</value>
 </property>
 <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/bigdata/hadoop-3.1.1/tmp/dfs/data</value>
 </property>

</configuration>

此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

扫描二维码关注公众号,回复: 11808017 查看本文章
  1. 修改第4个配置文件:
    终端命令:sudo vi mapred-site.xml
    在这里插入图片描述
    在这里插入图片描述
<configuration>
  <!-- 指定mapreduce编程模型运行在yarn上  -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
 
  1. 修改第5个配置文件
    sudo vi yarn-site.xml
    在这里插入图片描述
    在这里插入图片描述
<configuration>
  <!-- 指定yarn的老大(ResourceManager的地址) -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  
  <!-- mapreduce执行shuffle时获取数据的方式 -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>
 
  1. 对hdfs进行初始化(格式化HDFS)
    终端命令:
    cd /bigdata/hadoop-3.1.1/bin/
    sudo ./hdfs namenode -format
    在这里插入图片描述

  2. 如果提示如下信息,证明格式化成功:

在这里插入图片描述

第二步:启动并测试Hadoop

终端命令:
cd /bigdata/hadoop-3.1.1/sbin/
ssh localhost
sudo ./start-dfs.sh
sudo ./start-yarn.sh
start-all.sh
在这里插入图片描述

如果报以上错误,请修改下面4个文件如下:
在/hadoop/sbin路径下:
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

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

终端命令: sudo vi start-dfs.sh

在这里插入图片描述

终端命令: sudo vi stop-dfs.sh

在这里插入图片描述

还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下参数:

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

终端命令: sudo vi start-yarn.sh
在这里插入图片描述

终端命令: sudo vi start-yarn.sh
在这里插入图片描述

修改后重启./start-all.sh,成功!
在这里插入图片描述
此外,如果出现以下错误:
在这里插入图片描述
用以下方式解决:
终端命令:
ssh localhost
cd /bigdata/hadoop-3.1.1/
sudo chmod -R 777 logs
sudo chmod -R 777 tmp

在这里插入图片描述

  1. 使用jps命令检查进程是否存在,总共5个进程(jps除外),每次重启,进程ID号都会不一样。如果要关闭可以使用 stop-all.sh命令。
    4327 DataNode
    4920 NodeManager
    4218 NameNode
    4474 SecondaryNameNode
    4651 ResourceManager
    5053 Jps
    在这里插入图片描述

  2. 访问hdfs的管理界面
    localhost:50070
    在这里插入图片描述

  3. 访问yarn的管理界面
    localhost:8088

在这里插入图片描述

  1. 如果点击节点Nodes,发现ubuntu:8042也可访问

在这里插入图片描述
在这里插入图片描述

  1. 如果想停止所有服务,请输入sbin/stop-all.sh

在这里插入图片描述

以上就是Hadoop环境配置与测试的内容,如果遇到一些奇奇怪怪的错误,可以在评论区留言。

猜你喜欢

转载自blog.csdn.net/weixin_43640161/article/details/108745864