码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux-Hadoop集群配置


    文章目录

    • 一、配置Hadoop集群
      • 1、在master虚拟机上配置hadoop
        • (1)编辑Hadoop环境配置文件 - hadoop-env.sh
        • (2)编辑Hadoop核心配置文件 - core-site.xml
        • (3)编辑HDFS配置文件 - hdfs-site.xml
        • (4)编辑MapReduce配置文件 - mapred-site.xml
        • (5)编辑yarn配置文件 - yarn-site.xml
        • (6)编辑workers文件确定数据节点
      • 2、在slave1虚拟机上安装配置hadoop
        • (1)将master虚拟机上的hadoop分发到slave1虚拟机
        • (2)将master虚拟机上环境配置文件分发到slave1虚拟机
        • (3)在slave1虚拟机上让环境配置生效
      • 3、在slave2虚拟机上安装配置hadoop
        • (1)将master虚拟机上的hadoop分发到slave2虚拟机
        • (2)将master虚拟机上环境配置文件分发到slave2虚拟机
        • (3)在slave2虚拟机上让环境配置生效
    • 二、格式化文件系统
    • 三、启动和关闭Hadoop集群
      • 1、主节点上启动hadoop集群
        • (1)启动hdfs服务
        • (2)启动yarn服务
      • 2、主节点上停止Hadoop集群

    一、配置Hadoop集群

    Hadoop的配置文件都在$HADOOP_HOME/etc/hadoop目录里

    配置文件功能描述
    hadoop-env.sh配置Hadoop运行所需的环境变量
    yarn-env.sh配置Yarn运行所需的环境变量
    core-site.xmlHadoop核心全局配置文件,可在其他配置文件中引用
    hdfs-site.xmlHDFS配置文件,继承core-site.xml配置文件
    mapred-site.xmlMapReduce配置文件,继承core-site.xml配置文件
    yarn-site.xmlYarn配置文件,继承core-site.xml配置文件
    workers配置从节点文件

    1、在master虚拟机上配置hadoop

    (1)编辑Hadoop环境配置文件 - hadoop-env.sh

    • 执行命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录
      请添加图片描述

    • 执行命令:vim hadoop-env.sh,添加三条环境变量配置(其实只需要添加第三条,因为前两条已经在/etc/profile里配置过了)
      请添加图片描述

    export JAVA_HOME=/usr/local/jdk1.8.0_231 
    export HADOOP_HOME=/usr/local/hadoop-3.3.4
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    
    • 1
    • 2
    • 3
    • 存盘退出后,执行命令source hadoop-env.sh,让配置生效
      请添加图片描述

    • 查看三个配置的三个环境变量

    (2)编辑Hadoop核心配置文件 - core-site.xml

    • 执行命令:vim core-site.xml
      请添加图片描述请添加图片描述
    <configuration>
        
        <property>
            <name>fs.defaultFSname>
            <value>hdfs://master:9000value>
        property>
        
        <property>
            <name>hadoop.tmp.dirname>
            <value>/usr/local/hadoop-3.3.4/tmpvalue>
        property>    
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000,否则必须用IP地址hdfs://192.168.1.101:9000
      请添加图片描述

    (3)编辑HDFS配置文件 - hdfs-site.xml

    • 执行命令:vim hdfs-site.xml
      请添加图片描述

    • 可以不用设置名称节点的目录、数据节点的目录以及辅助名称节点

    <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>master:50090value>
        property>
        
        
        <property>
            <name>dfs.namenode.http-addressname>
            <value>0.0.0.0:9870value>
        property>
        
        <property>
            <name>dfs.replicationname>
            <value>3value>
        property>
        
        <property>
            <name>dfs.permissions.enabledname>
            <value>falsevalue>
        property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    (4)编辑MapReduce配置文件 - mapred-site.xml

    • 执行命令:vim mapred-site.xml
      请添加图片描述
    <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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

    (5)编辑yarn配置文件 - yarn-site.xml

    • 执行命令:vim yarn-site.xml
      请添加图片描述
    <configuration>
        
        <property>        
            <name>yarn.resourcemanager.hostnamename>
            <value>mastervalue>
        property>
        
        <property>
            <name>yarn.nodemanager.aux-servicesname>
            <value>mapreduce_shufflevalue>
        property>
        
        <property>
            <name>yarn.nodemanager.vmem-check-enabledname>
            <value>falsevalue>
        property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    (6)编辑workers文件确定数据节点

    • hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
    • 通过workers文件定义数据节点,根据集群规划,三个节点都要作为数据节点
    • 执行命令:vim workers
      请添加图片描述

    这样集群总共有3个数据节点,正好跟副本数配置的3一致。

    2、在slave1虚拟机上安装配置hadoop

    (1)将master虚拟机上的hadoop分发到slave1虚拟机

    • 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
      请添加图片描述

    • 在slave1虚拟机上查看分发的hadoop
      请添加图片描述

    (2)将master虚拟机上环境配置文件分发到slave1虚拟机

    • 执行命令:scp /etc/profile root@slave1:/etc/profile
      请添加图片描述

    (3)在slave1虚拟机上让环境配置生效

    • 切换到slave1虚拟机,执行命令:source /etc/profile
      请添加图片描述

    3、在slave2虚拟机上安装配置hadoop

    (1)将master虚拟机上的hadoop分发到slave2虚拟机

    • 执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
      请添加图片描述

    • 在slave2虚拟机上查看分发的hadoop
      请添加图片描述

    (2)将master虚拟机上环境配置文件分发到slave2虚拟机

    • 执行命令:scp /etc/profile root@slave2:/etc/profile
      请添加图片描述

    (3)在slave2虚拟机上让环境配置生效

    • 切换到slave2虚拟机,执行命令:source /etc/profile
      请添加图片描述

    二、格式化文件系统

    • 初次启动HDFS集群时,必须对主节点进行格式化处理。
      执行命令:hdfs namenode -format
      请添加图片描述

    • 查看名称节点格式化成功的信息
      请添加图片描述

    三、启动和关闭Hadoop集群

    1、主节点上启动hadoop集群

    • 执行start-all.sh命令,一起启动hdfs和yarn服务,也可以分开启动两种服务。

    (1)启动hdfs服务

    • 执行命令:start-dfs.sh
      请添加图片描述

    一个名称节点(namenode)——老大,在master虚拟机上;三个数据节点(datanode)——小弟,在master、slave1与slave2虚拟机上。辅助名称节点(secondary namenode)的地址是master,因为在hdfs-site.xml文件里配置了辅助名称节点。
    请添加图片描述

    • 查看master虚拟机上的进程
      请添加图片描述

    • 查看slave1虚拟机上的进程
      请添加图片描述

    • 查看slave2虚拟机上的进程
      请添加图片描述

    (2)启动yarn服务

    • 执行命令:start-yarn.sh

    请添加图片描述

    启动了YARN守护进程;一个资源管理器(ResourceManager)在master虚拟机上,三个节点管理器(NodeManager)在master、slave1与slave2虚拟机上

    • 执行命令jps查看master虚拟机的进程
      请添加图片描述

    • 查看slave1和slave2上的进程,只有NodeManager和DataNode
      请添加图片描述
      请添加图片描述

    • 查看Hadoop服务进程总体状况
      请添加图片描述

    2、主节点上停止Hadoop集群

    • 在master虚拟机上执行命令:stop-all.sh(相当于同时执行了stop-dfs.sh与stop-yarn.sh)
      请添加图片描述
  • 相关阅读:
    027实现可视化编程所需拖拽技术实现方案之vuedraggable
    JAVA计算机毕业设计学校食堂管理Mybatis+源码+数据库+lw文档+系统+调试部署
    一文搞懂│mysql 的语法操作命令从入门到精通
    【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用
    多元联合分布建模 Copula python实例
    下一个风口在哪里?云计算:未来十年最有潜力行业!
    大数据知识面试题-Azkaban(2022版)
    3D模型转换工具HOOPS Exchange如何实现OBJ格式轻量化?
    【uni-app】—4.使用HBuilderX配置各种调试工具
    TensorFlow学习(3)初始化&非饱和激活函数&批量归一化&梯度剪裁&迁移学习&优化器
  • 原文地址:https://blog.csdn.net/Pythonwudud/article/details/128120523
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号