• hadoop集群安装(四):安装hadoop集群


    说明

    现在准备并配置好了服务器,安装好jdk,现在开始安装hadoop集群。

    分享

    环境

    节点规划如下

    组件\节点hadoop102hadoop103hadoop104
    HDFSNameNode、DataNodeDataNodeSecondaryNameNode、DataNode
    YarnNodemanagerResourceManager NodeManagerNodeManager

    安装hadoop

    • 操作过程使用创建用户操作,这里是前面创建的用户 wang,如遇权限问题,使用 sudo 升级权限

    上传安装包

    • 在hadoop102操作,上传hadoop安装包到目录:/opt/software
    • 解压到安装目录:tar -zxvf hadoop-3.3.4.tar.gz /opt/module/

    配置hadoop

    • hadoop配置文件分为默认配置和site自定义配置

    配置说明

    默认配置
    • 默认配置为jar包自带环境配置,具体如下:
    默认配置文件hadoop的jar包中位置
    core-default.xmlhadoop-common-3.3.4.jar/core-default.xml
    hdfs-default.xmlhadoop-hdfs-3.3.4.jar/hdfs-default.xml
    yarn-default.xmlhadoop-yarn-common-3.3.4.jar/yarn-default.xml
    mapred-default.xmlhadoop-mapreduce-client-core-3.3.4.jar/mapred-default.xml
    自定义配置
    • 自定义配置4个分别为:core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml,存储路径为:$HADOOP_HOME/etc/hadoop 路径下。

    修改配置

    • 进入hadoop102 配置文件目录:/opt/module/hadoop-3.3.4/etc/hadoop
    修改core-site.xml
    • 修改文件:core-site.xmlconfiguration 节点填写内容如下:
    <configuration>
      
      <property>
        <name>fs.defaultFSname>
        <value>hdfs://hadoop102:8020value>
      property>
    
      
      <property>
        <name>hadoop.tmp.dirname>
        <value>/opt/module/hadoop-3.3.4/datavalue>
      property>
    
      
      <property>
        <name>hadoop.http.staticuser.username>
        <value>wangvalue>
      property>
    
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    修改hdfs-site.xml
    • 修改文件 hdfs-site.xmlconfiguration 节点填写内容如下:
    <configuration>
      
      <property>
        <name>dfs.namenode.http-addressname>
        <value>hadoop102:9870value>
      property>
    
      
      <property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>hadoop104:9868value>
      property>
    
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    修改yarn-site.xml
    • 修改文件 yarn-site.xmlconfiguration 节点填写内容如下:
    <configuration>
      
      <property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
      property>
    
      
      <property>
        <name>yarn.resourcemanager.hostnamename>
        <value>hadoop103value>
      property>
    
      
      <property>
        <name>yarn.nodemanager.env-whitelistname>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
      property>
    
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    修改mapred-site.xml
    • 修改文件 yarn-site.xmlconfiguration 节点填写内容如下:
    <configuration>
    
      
      <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
      property>
    
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    同步配置

    • hadoop102 配置文件目录:/opt/module/hadoop-3.3.4/etc 执行:xsync hadoop/,同步修改后的文件到hadoop103、hadoop104节点

    添加环境变量并同步

    • hadoop102 添加hadoop环境变量,编辑文件:vi /etc/profile.d/my_env.sh ,增加如下内容:
    #HADOOP_HOME
    export HADOOP_HOME=/opt/module/hadoop-3.3.4
    
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 同步文件:xsync /etc/profile.d/my_env.sh

    启动hadoop

    • 新搭建hadoop集群需要先配置 workers,再格式化hadoop集群,最后启动hadoop集群。

    配置workers文件

    • hadoop102 编辑workers文件 :vim /opt/module/hadoop-3.3.4/etc/hadoop/workers,设置集群节点信息,添加如下内容:
    hadoop102
    hadoop103
    hadoop104
    
    • 1
    • 2
    • 3

    注意:
    文件添加内容结尾不能有空格不能有空行不能有空行

    • 同步配置文件到所有节点:xsync /opt/module/hadoop-3.3.4/etc

    格式化集群

    • 如果集群是第一次启动,需要格式化NameNode,hadoop102格式化几圈:hdfs namenode -format

    说明

    • 如果集群在运行过程中报错,需要重新格式化NameNode,一定先停止所有Namenode和Datanode进程,再删除所有机器的data和logs目录,再进行格式化。
    • 格式化Namenode会让集群产生新id,如果不清空目录data和logs,新旧id不一致,会造成集群异常。

    启动HDFS

    • hadoop102 节点,/opt/module/hadoop-3.3.4 目录下执行:sbin/start-dfs.sh ,启动hdfs

    启动yarn

    • yarn部署在hadoop103 ,登录hadoop103,/opt/module/hadoop-3.3.4 目录下执行:sbin/start-yarn.sh

    验证

    • 控制台执行 jps,查看java进程,确认服务是否正常启动。
      在这里插入图片描述

    验证hdfs

    • 浏览器打开网址:http://192.168.10.102:9870/,确认hdfs服务是否启动正常
      在这里插入图片描述

    • 可以通过 Utilities 菜单子菜单 Browser the file system 网页端操作hdfs文件系统,创建删除目录,增加删除文件。
      在这里插入图片描述

    • 除了网页可以节点控制台通过hadoop命令操作hadoop系统,详细命令介绍参照 hadoop命令 ,大致命令如下:

    # 创建目录
    hadoop fs -mkdir /input
    # 上传文件 
    hadoop fs -put  /opt/software/jdk-8u201-linux-x64.tar.gz  /input
    # 下载文件到当前目录
    hadoop fs -get /opt/software/jdk-8u201-linux-x64.tar.gz
    # 删除文件
    hadoop fs -rm -f /input/jdk-8u201-linux-x64.tar.gz
    # 删除文件夹
    hadoop fs -rm -r -f /input
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    验证yarn

    • 浏览器打开网址:http://192.168.10.103:8088/cluster ,可以看到yarn调到信息页面
      在这里插入图片描述

    MapReduce

    • 执行MapReduce任务实例

    • 创建数据源目录:hadoop fs -mkdir /input

    • 创建数据文件:vi word.txt,内容为随意字符换行,实例如:

      sadfssf
      ada
      wof
      ssdd
      
      • 1
      • 2
      • 3
      • 4
    • 数据文件上传hdfs:hadoop fs -put word.txt /input

    • 执行MapReduce实例任务,统计单词树:hadoop jar /opt/module/hadoop-3.3.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input /output

      • output 为结果输出hdfs目录,不要提前创建目录,MapReduce输出目录不能存在,否则会报错。
        在这里插入图片描述
    • 出现 successfully 表示执行成功。

    yarn 记录

    • 打开网址:http://192.168.10.103:8088/cluster,可看到yarn记录
      在这里插入图片描述

    hdfs查看结果

    • 打开网址:http://192.168.10.102:9870/,进入output目录,查看MapReduce任务结果。
      在这里插入图片描述

    总结

    • 基础版hadoop集群搭建完成,完成整个操作过程,可加深理解hadoop平台运行原理。
  • 相关阅读:
    大数据之Hive(三)
    k8s-v1.25.4+containerd部署
    天软特色因子看板 (2023.09 第05期)
    ORB算法与opencv实现
    【LeetCode - 每日一题】1123. 最深叶节点的最近公共祖先(23.09.06)
    LeetCode每日一题(833. Find And Replace in String)
    【828. 统计子串中的唯一字符】
    MySQL——连接查询
    Server Name Indication(SNI),HTTP/TLS握手过程解析
    uni-number-box的坑-无法实现数据双向绑定
  • 原文地址:https://blog.csdn.net/qq_22973811/article/details/128034291