• CentOS7上安装Hadoop2.9.2集群


    1.首先要有软件

    Centos7(自己找,我懒!!!)

    hadoop2.9.2 这这这!!!
    安装位置推荐: /opt/hadoop
    安装方法: 安装shell6操作虚拟机,打开到/opt/hadoop文件下,使用shell6的rz命令进行下载,把本地的安装包导入虚拟机中,注意如果不去克隆操作那么每个虚拟机都需要导入在这里插入图片描述

    JDK 这这这!!!
    1.不建议用自带的java环境,容易找不到安装路径
    在这里插入图片描述
    2.大版本保证是:jdk-8u 安装环境是:linux-x64.tar.gz(自选) 至于202 203 还是204 问题不大

    2.安装三个虚拟机

    在这里插入图片描述

    安装方式:
    1.命名随意,但注意名称太难记就是作死…
    2.命名:依次 hservice1,hservice2,hservice3. (即H服务器1,H服务器2,H服务器3)
    其中 H1为主节点,其他为从节点
    3.主节点:主要配置,配置完主节点,为了方便通过克隆得到2,3从节点 再去修改他的ip hostname 和一些配置

    3.配置关系

    1.通过 ip addr 查看ip地址

    在这里插入图片描述

    2.通过 hostname 查看当前主机名

    在这里插入图片描述

    3.通过 hostname + 空格 + 新主机名 更改主机名称

    在这里插入图片描述

    4.把三个虚拟机的主机名改为与虚拟机名称相同,名称很重要,配置中需要用到不可马虎

    5.修改/etc/hosts文件 vi /etc/hosts

    在这里插入图片描述
    注: 点击 i 进行修改,修改之后 ESC 然后冒号 : wq 保存 ( :q 是不保存)
    在这里插入图片描述
    若不克隆三个都要改…
    改完检查三个虚拟机是否可以ping通

    7.配置使hservice1主节点可以通过ssh免密登录 hservice2 hservice3

    1.在主节点下输入 ssh-keygen 生成默认格式的密匙key,此过程会在/root/.ssh/文件件夹下生成id_rsa(私钥)和id_rsa.pub(公钥)。
    2.四次回车
    3. ssh-copy-id hservice1 即可免密连接hservice1 自己 (原理自己查没空写)
    4.ssh-copy-id hservice2 即可通过h1免密连接hservice2
    5.ssh hservice1 连接回hservice1(不连接回是操作h2了)
    6.ssh-copy-id hservice3 即可通过h1免密连接hservice3
    7.ssh 分别测试是否连接成功

    4.安装hadoop以及修改配置文件

    1. 把下载的hadoop-2.9.2.tar.gz包上传到 /opt/hadoop ,hadoop文件夹需要通过mkdir hadoop创建,然后通过 shell6的rz命令上传(其他任意方法均可)

    2. 解压压缩包 tar -xvf hadoop-2.9.2.tar.gz

    3. 在根目录(/root)下创建hadoop的工作目录

      mkdir /root/hadoop
      mkdir /root/hadoop/tmp
      mkdir /root/hadoop/var
      mkdir /root/hadoop/dfs
      mkdir /root/hadoop/dfs/name
      mkdir /root/hadoop/dfs/data
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    4. 修改配置文件(位置:/opt/hadoop/etc/hadoop)在这里插入图片描述

    1. core-site.xml

    如此:

    
            hadoop.tmp.dir
            /root/hadoop/tmp
            Abase for other temporary directories.
       
       
            fs.default.name
            hdfs://hservice:9000
       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

    1. hadoop-env.sh

    如此:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_221
    //(自己的JDK安装路径)获取方法上面有
    
    • 1
    • 2

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

    1. hdfs-site.xml

    如此:

    
       dfs.name.dir
       /root/hadoop/dfs/name
       Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.
    
    
       dfs.data.dir
       /root/hadoop/dfs/data
       Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.
    
    
       dfs.replication
       2
    
    
          dfs.permissions
          false
          need not permissions
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

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

    1. mapred-site.xml
      目录下应该存在名字mapred-site.xml.template的文件,把这个文件进行复制,然后重命名为mapred-site.xml
      cp mapred-site.xml.template mapred-site.xml
      需要在本文件夹下运行,不然需要增加物理路径复制
      如此:
    
       mapred.job.tracker
       hservice1:49001
    
    
          mapred.local.dir
           /root/hadoop/var
    
    
           mapreduce.framework.name
           yarn
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

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

    1. slaves
      删除localhost,添加内容:hservice2,hservice3

    如此:

    hserver2
    hserver3
    
    • 1
    • 2

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

    1. yarn-site.xml

    如此:

    
            yarn.resourcemanager.hostname
            hservice1
       
       
            The address of the applications manager interface in the RM.
            yarn.resourcemanager.address
            ${yarn.resourcemanager.hostname}:8032
       
       
            The address of the scheduler interface.
            yarn.resourcemanager.scheduler.address
            ${yarn.resourcemanager.hostname}:8030
       
       
            The http address of the RM web application.
            yarn.resourcemanager.webapp.address
            ${yarn.resourcemanager.hostname}:8088
       
       
            The https adddress of the RM web application.
            yarn.resourcemanager.webapp.https.address
            ${yarn.resourcemanager.hostname}:8090
       
       
            yarn.resourcemanager.resource-tracker.address
            ${yarn.resourcemanager.hostname}:8031
       
       
            The address of the RM admin interface.
            yarn.resourcemanager.admin.address
            ${yarn.resourcemanager.hostname}:8033
       
       
            yarn.nodemanager.aux-services
            mapreduce_shuffle
       
       
            yarn.scheduler.maximum-allocation-mb
            2048
            每个节点可用内存,单位MB,默认8182MB
       
       
            yarn.nodemanager.vmem-pmem-ratio
            2.1
       
       
            yarn.nodemanager.resource.memory-mb
            2048
    
       
            yarn.nodemanager.vmem-check-enabled
            false
    
    
    • 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
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

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

    5. 重复4步骤在从节点虚拟机

    6.启动hadoop

    1. 找到bin目录和超级bin目录

    在这里插入图片描述

    1. 初始化
      hservice1为namenode(主节点),hservice2和hservice3都是datanode(从节点),只需要对hserver1进行初始化操作,即对hdfs进行格式化。
      在bin目录下执行(一定是bin)
      ./hadoop namenode -format
      格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件

    出现如图表示成功:在这里插入图片描述

    1. 了解包含的各种启动方式(一定是sbin)
      在这里插入图片描述

    7.关闭防火墙

    若不关闭外网连接时会被防护墙拦截,导致失败

    8.测试

    用本地浏览器访问: ip+端口号 (需要自己虚拟机的ip)
    http://192.168.175.134:50070

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

    9.有用的杂乱的

    注1:
    防火墙操作命令(CentOS7)

    1. systemctl stop firewalld.service #关闭防火墙
    2. systemctl disable firewalld.service #禁止防火墙开机启动
    3. firewall-cmd --state #查看防火墙状态,是否是running
      4.firewall-cmd --reload #重启防火墙
    4. firewall-cmd --zone=public --add-port=80/tcp --permanent开启端口
      命令含义:
      –zone #作用域
      –add-port=80/tcp #添加端口,格式为:端口/通讯协议
      –permanent #永久生效,没有此参数重启后失效

    注2:
    java安装路径寻找:
    java -version #查看版本
    java -verbose #在输出设备上显示虚拟机运行信息
    路径如图:
    在这里插入图片描述

  • 相关阅读:
    9.现代循环神经网络
    Redis原理:动态字符串SDS
    C++入门(1)
    【自动驾驶技术】自动驾驶汽车AI芯片汇总——地平线篇
    Redisson之lock()和tryLock()的区别
    程序员面试太卷?我选择背这份阿里最新 Java 面试八股文(详解版)
    前端后端的爱恨情仇--续集
    # 智慧社区管理系统-核心业务管理-03投诉信息
    MindSpore论文解读 | 自此告别互信息:用于跨模态行人重识别的变分蒸馏技术
    收藏了!Git 核心操作图解
  • 原文地址:https://blog.csdn.net/m0_67401134/article/details/126326747