搭建伪分布式Hadoop

文章目录

  • 一、Hadoop部署模式
    • (一)独立模式
    • (二)伪分布式模式
    • (三)完全分布式模式
  • 二、搭建伪分布式Hadoop
    • (一)登录虚拟机
    • (二)上传安装包
    • (三)配置免密登录
      • 1、生成密钥对
      • 2、将生成的公钥发送到本机
      • 3、验证虚拟机是否能免密登录自己
    • (四)配置JDK
      • 1、解压到指定目录
        • (1)解压到指定目录
        • (2)查看java解压目录
      • 2、配置JDK环境变量
      • 3、让环境变量配置生效
      • 4、查看JDK版本
      • 5、玩一玩Java程序
    • (五)配置Hadoop
      • 1、解压hadoop安装包
        • (1)解压到指定目录
        • (2)查看hadoop解压目录
        • (3)常用目录和文件
      • 2、配置hadoop环境变量
      • 3、让环境变量配置生效
      • 4、查看hadoop版本
      • 5、编辑Hadoop环境配置文件 - hadoop-env.sh
      • 6、编辑Hadoop核心配置文件 - core-site.xml
      • 7、编辑HDFS配置文件 - hdfs-site.xml
      • 8、编辑MapReduce配置文件 - mapred-site.xml
      • 9、编辑YARN配置文件 - yarn-site.xml
      • 10、编辑workers文件确定数据节点
    • (六)格式化名称节点
    • (七)启动Hadoop服务
      • 1、启动hdfs服务
      • 2、启动yarn服务
      • 3、查看Hadoop进程
    • (八)查看Hadoop WebUI
    • (九)关闭Hadoop服务
      • 1、关闭hdfs服务
      • 2、关闭yarn服务

一、Hadoop部署模式

(一)独立模式

  • 在独立模式下,所有程序都在单个JVM上执行,调试Hadoop集群的MapReduce程序也非常方便。一般情况下,该模式常用于学习或开发阶段进行调试程序。

(二)伪分布式模式

  • 在伪分布式模式下, Hadoop程序的守护进程都运行在一台节点上,该模式主要用于调试Hadoop分布式程序的代码,以及程序执行是否正确。伪分布式模式是完全分布式模式的一个特例。

(三)完全分布式模式

  • 在完全分布式模式下,Hadoop的守护进程分别运行在由多个主机搭建的集群上,不同节点担任不同的角色,在实际工作应用开发中,通常使用该模式构建企业级Hadoop系统。

二、搭建伪分布式Hadoop

(一)登录虚拟机

  • 登录ied虚拟机
    搭建伪分布式Hadoop_第1张图片

(二)上传安装包

  • 上传jdk和hadoop安装包
    搭建伪分布式Hadoop_第2张图片

  • 查看上传的安装包
    搭建伪分布式Hadoop_第3张图片

(三)配置免密登录

1、生成密钥对

  • 执行命令:ssh-keygen
    搭建伪分布式Hadoop_第4张图片
  • 执行命令后,连续敲回车,生成节点的公钥和私钥,生成的密钥文件会自动放在/root/.ssh目录下。
    搭建伪分布式Hadoop_第5张图片

2、将生成的公钥发送到本机

  • 执行命令:ssh-copy-id root@ied
    搭建伪分布式Hadoop_第6张图片

3、验证虚拟机是否能免密登录自己

  • 执行命令:ssh ied
    搭建伪分布式Hadoop_第7张图片

(四)配置JDK

1、解压到指定目录

(1)解压到指定目录
  • 执行命令:tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local
    在这里插入图片描述
(2)查看java解压目录
  • 执行命令:ll /usr/local/jdk1.8.0_231
    搭建伪分布式Hadoop_第8张图片

2、配置JDK环境变量

  • 执行命令:vim /etc/profile
    搭建伪分布式Hadoop_第9张图片
export JAVA_HOME=/usr/local/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 存盘退出
    搭建伪分布式Hadoop_第10张图片

3、让环境变量配置生效

  • 执行命令:source /etc/profile
    搭建伪分布式Hadoop_第11张图片
  • 查看环境变量JAVA_HOME
    搭建伪分布式Hadoop_第12张图片

4、查看JDK版本

  • 执行命令:java -version
    搭建伪分布式Hadoop_第13张图片

5、玩一玩Java程序

  • 编写源程序,执行命令:vim HelloWorld.java
    搭建伪分布式Hadoop_第14张图片
  • 编译成字节码文件,执行命令:javac HelloWorld.java
    搭建伪分布式Hadoop_第15张图片
  • 解释执行类,执行命令:java HelloWorld
    搭建伪分布式Hadoop_第16张图片

(五)配置Hadoop

1、解压hadoop安装包

(1)解压到指定目录
  • 执行命令:tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local
    在这里插入图片描述
(2)查看hadoop解压目录
  • 执行命令:ll /usr/local/hadoop-3.3.4
    搭建伪分布式Hadoop_第17张图片
(3)常用目录和文件
  • bin目录 - 存放命令脚本
    搭建伪分布式Hadoop_第18张图片
  • etc/hadoop目录 - 存放hadoop的配置文件
    搭建伪分布式Hadoop_第19张图片
  • lib目录 - 存放hadoop运行的依赖jar包
    搭建伪分布式Hadoop_第20张图片
  • sbin目录 - 存放启动和关闭Hadoop等命令
    搭建伪分布式Hadoop_第21张图片
  • libexec目录 - 存放的也是hadoop命令,但一般不常用
    搭建伪分布式Hadoop_第22张图片

2、配置hadoop环境变量

  • 执行命令:vim /etc/profile
    搭建伪分布式Hadoop_第23张图片
  • 说明:hadoop 2.x用不着配置用户,只需要前两行即可

3、让环境变量配置生效

  • 执行命令:source /etc/profile
    搭建伪分布式Hadoop_第24张图片

4、查看hadoop版本

  • 执行命令:hadoop version
    搭建伪分布式Hadoop_第25张图片

5、编辑Hadoop环境配置文件 - hadoop-env.sh

  • 执行命令:cd etc/hadoop,进入hadoop配置目录
    搭建伪分布式Hadoop_第26张图片
  • 执行命令:vim hadoop-env.sh,添加三条环境变量配置
    搭建伪分布式Hadoop_第27张图片
  • 存盘退出后,执行命令source hadoop-env.sh,让配置生效
    搭建伪分布式Hadoop_第28张图片

6、编辑Hadoop核心配置文件 - core-site.xml

  • 执行命令:vim core-site.xml
    搭建伪分布式Hadoop_第29张图片
<configuration>
   
    <property>
        <name>fs.defaultFSname>
        <value>hdfs://ied:9000value>
    property>
    
    <property>
        <name>hadoop.tmp.dirname>
        <value>/usr/local/hadoop-3.3.4/tmpvalue>
    property>
configuration>
  • 由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://ied:9000,否则必须用IP地址hdfs://192.168.1.100:9000
    搭建伪分布式Hadoop_第30张图片

7、编辑HDFS配置文件 - hdfs-site.xml

  • 执行命令:vim hdfs-site.xml
    搭建伪分布式Hadoop_第31张图片
<configuration>
    
    <property>
        <name>dfs.namenode.name.dirname>
        <value>/usr/local/hadoop-3.3.4/tmp/namenodevalue>
    property>
    
    <property>
        <name>dfs.datanode.data.dirname>
        <value>/usr/local/hadoop-3.3.4/tmp/datanodevalue>
    property>
    
    <property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>ied:50090value>
    property>
    
    
    <property>
        <name>dfs.namenode.http-addressname>
        <value>0.0.0.0:9870value>
    property>
    
    <property>
        <name>dfs.replicationname>
        <value>1value>
    property>
    
    <property>
        <name>dfs.permissions.enabledname>
        <value>falsevalue>
    property>
configuration>

8、编辑MapReduce配置文件 - mapred-site.xml

  • 执行命令:vim mapred-site.xml
    搭建伪分布式Hadoop_第32张图片
<configuration>
    
    <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
    property>
    <property>
        <name>yarn.app.mapreduce.am.envname>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
    property>
    <property>
        <name>mapreduce.map.envname>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
    property>
    <property>
        <name>mapreduce.reduce.envname>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}value>
    property>
configuration>
  • 后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

9、编辑YARN配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml
    搭建伪分布式Hadoop_第33张图片
<configuration>
    
    <property>
        <name>yarn.resourcemanager.hostnamename>
        <value>iedvalue>
    property>
    
    <property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
    property>
    
    <property>
        <name>yarn.nodemanager.vmem-check-enabledname>
        <value>falsevalue>
    property>
configuration>

10、编辑workers文件确定数据节点

  • 说明:hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
  • 执行命令:vim workers
    搭建伪分布式Hadoop_第34张图片
  • 只有1个数据节点,正好跟副本数配置的1一致

(六)格式化名称节点

  • 执行命令:hdfs namenode -format

    搭建伪分布式Hadoop_第35张图片
    搭建伪分布式Hadoop_第36张图片
  • Storage directory /usr/local/hadoop-3.3.4/tmp/namenode has been successfully formatted. 表明名称节点格式化成功。

(七)启动Hadoop服务

1、启动hdfs服务

  • 执行命令:start-dfs.sh
    搭建伪分布式Hadoop_第37张图片

2、启动yarn服务

  • 执行命令:start-yarn.sh
    搭建伪分布式Hadoop_第38张图片

3、查看Hadoop进程

  • 执行命令:jps
    搭建伪分布式Hadoop_第39张图片

  • 说明:start-dfs.shstart-yarn.sh可以用一条命令start-all.sh来替换
    搭建伪分布式Hadoop_第40张图片

(八)查看Hadoop WebUI

  • 在浏览器里访问http://ied:9870
    搭建伪分布式Hadoop_第41张图片
  • 查看文件系统
    搭建伪分布式Hadoop_第42张图片
  • 根目录下没有任何内容
    搭建伪分布式Hadoop_第43张图片

(九)关闭Hadoop服务

1、关闭hdfs服务

  • 执行命令:stop-dfs.sh
    搭建伪分布式Hadoop_第44张图片

2、关闭yarn服务

  • 执行命令:stop-yarn.sh
    搭建伪分布式Hadoop_第45张图片

  • 说明:stop-dfs.shstop-yarn.sh可以用一条命令stop-all.sh来替换
    搭建伪分布式Hadoop_第46张图片

你可能感兴趣的:(数据清洗和预处理,大数据离线分析,分布式,hadoop,大数据)