• Hadoop3.1.3 集群环境搭建


    Hadoop3.1.3 集群环境搭建

    1 集群环境配置

    主机名HDFSYARNIP地址说明
    hadoop0DataNode、NameNodeNodeManager192.168.108.10主节点(master)
    hadoop1DataNodeNodeManager、ResourceManager192.168.108.11子节点
    hadoop2DataNode、Secondary NameNodeNodeManager192.168.108.12子节点

    2 master节点配置

    注意:其他节点的配置除了IP地址和主机名不同外,其他基本相同,请根据需求调整。

    2.1 更改IP地址

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
     
    BOOTPROTO="static"
    IPADDR="192.168.108.10"
    NETMASK="255.255.255.0"
    # 注意网关的IP地址
    GATEWAY="192.168.108.2"
     
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="7fde8d7c-1922-485f-8865-0197d7b0726f"
    DEVICE="ens33"
    ONBOOT="yes"
     
    # 默认可以不配置,如果连接不上网络,可以配置DNS
    DNS1="8.8.8.8"
    DNS2="114.114.144.114"
    
    • 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

    2.2 修改主机名

    # 修改主机名
    hostnamectl set-hostname hadoop0
    
    # 查看主机名
    hostname
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.3 修改hosts文件

    # 编辑hosts文件
    vim /etc/hosts
    
    # 在最后添加
    192.168.108.10	hadoop0
    192.168.108.11	hadoop1
    192.168.108.12	hadoop2
    
    # 具体内容如下
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.108.10  hadoop0
    192.168.108.11	hadoop1
    192.168.108.12	hadoop2
    
    # 查看是否配置成功,ping能够连通说明配置成功
    ping hadoop0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    2.4 关闭防火墙

    # 开机禁用防火墙
    systemctl disable firewalld.service
    
    # 关闭防火墙
    systemctl stop firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.5 禁用selinux

    # 编辑配置文件
    vim /etc/selinux/config
    
    # 配置内容如下
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    # SELINUX=enforcing
    SELINUX=disabled
    # SELINUXTYPE= can take one of three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected. 
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    2.6 配置免密登录

    (1)在每台主机上生成密钥文件

    # 进入存储密钥的目录
    cd /root/.ssh
    
    # 删除旧密钥
    rm -rf *
    
    # 生成密钥文件,多次点击“enter”即可,会生成“id_rsa”和“id_rsa.pub”两个文件
    # ssh7.0之后关闭了dsa密码验证,需要rsa来生成秘钥
    ssh-keygen -t rsa
    
    # 生成"authorized_keys"文件
    cat id_rsa.pub >>authorized_keys
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    (2)复制公钥

    ssh-copy-id命令的作用是将公共密钥填充到远程主机的authorized_keys文件中。

    # 进入存储密钥的目录
    cd /root/.ssh
    
    # 在hadoop0主机的公钥复制到hadoop1和hadoop2
    ssh-copy-id hadoop1
    ssh-copy-id hadoop2
    
    # 在hadoop1主机的公钥复制到hadoop0和hadoop2
    ssh-copy-id hadoop0
    ssh-copy-id hadoop2
    
    # 在hadoop2主机的公钥复制到hadoop0和hadoop1
    ssh-copy-id hadoop0
    ssh-copy-id hadoop1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3 master节点安装jdk

    jdk的版本是1.8(jdk-8u144-linux-x64.tar.gz)

    3.1 解压jdk文件

    # 将文件复制到"/usr/local"目录下
    cp jdk-8u144-linux-x64.tar.gz /opt
    
    # 进入"/opt"
    cd /opt
    
    # 解压jdk
    tar -xzvf jdk-8u144-linux-x64.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.2 配置环境变量

    # 编辑"/etc/profile"
    vim /etc/profile
    
    # 在文件最后一行添加如下内容
    export JAVA_HOME=/opt/jdk1.8.0_144
    export PATH=$PATH:$JAVA_HOME/bin
    
    # 使环境变量生效
    source /etc/profile
    
    # 查看jdk版本号
    java -version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    4 master节点安装Hadoop

    Hadoop的版本是3.1.3(hadoop-3.1.3.tar.gz )

    4.1 下载Hadoop

    # 官网下载地址
    https://hadoop.apache.org/release.html
    
    # Haoop下载地址
    https://archive.apache.org/dist/hadoop/common/
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.2 解压Hadoop

    # 将文件复制到"/usr/local"目录下
    cp hadoop-3.1.3.tar.gz /opt/
    
    # 进入"/opt"
    cd /opt
    
    # 解压jdk
    tar -xzvf hadoop-3.1.3.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4.3 配置环境变量

    # 编辑"/etc/profile"
    vim /etc/profile
    
    # 在文件最后添加Haddop环境变量,并添加Hadoop的账号变量
    export HADOOP_HOME=/opt/hadoop-3.1.3
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root
    
    # 使环境变量生效
    source /etc/profile
    
    # 查看hadoop版本
    hadoop version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    5 master节点配置Hadoop

    进入“/opt/hadoop-3.1.3/etc/hadoop”目录下,修改下面的配置文件和相关参数。

    5.1 配置hadoop-env.sh

    作用:主要用于定义hadoop运行环境相关配置信息

    # 修改"/opt/hadoop-3.1.3/etc/hadoop"目录下的hadoop-env.sh文件
    vim /opt/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
    
    # 修改第37行如下
    JAVA_HOME=/opt/jdk1.8.0_144
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5.2 配置core-site.xml

    作用:配置集群全局参数,系统级别参数

    <configuration>
        
        <property>
            <name>fs.defaultFSname>
            
            <value>hdfs://hadoop0:9000value>
        property>
        
        
        <property>
            <name>hadoop.tmp.dirname>
            <value>/opt/hadoop-3.1.3/tmpvalue>
        property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    5.3 配置hdfs-site.xml

    作用:配置HDFS相关配置参数

    <configuration>
        
        <property>
            <name>dfs.replicationname>
            <value>3value>
        property>
    
        
        
        <property>
            <name>dfs.namenode.secondary.http-addressname>
            <value>hadoop2:50090value>
        property>
    
        
        <property>
            <name>dfs.namenode.http-addressname>
            <value>hadoop0:50070value>
        property>
    
        
        <property>
            <name>dfs.permissions.enabledname>
            <value>falsevalue>
        property>
    
        
        <property>
            <name>dfs.blocksizename>
            <value>134217728value>
        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

    5.4 配置yarn-site.xml

    作用:配置资源管理调度相关信息

    <configuration>
        
        <property>
            <name>yarn.resourcemanager.addressname>
            <value>hadoop1value>
        property>
        
        
        <property>
            <name>yarn.nodemanager.aux-servicesname>
            <value>mapreduce_shufflevalue>
        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_HOME,HADOOP_HOME,PATHvalue>
        property>
        <property>
            
            <name>yarn.log-aggregation-enablename>
            <value>truevalue>
        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
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    5.5 配置mapred-site.xml

    作用:配置MapReduce相关参数,如果不使用MapReduce可以不配置。

    <configuration>
        
        <property>
            <name>mapreduce.framework.namename>
            <value>yarnvalue>
        property>
        
        
        
        <property>
            <name>mapreduce.jobhistory.addressname>
            <value>hadoop1:10020value>
        property>
    
        
        <property>
            <name>mapreduce.jobhistory.webapp.addressname>
            <value>hadoop1:19888value>
        property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    5.6 配置workers

    hadoop0
    hadoop1
    hadoop2
    
    • 1
    • 2
    • 3

    6 Node节点数据复制

    将master节点文件复制到Node节点上。

    # 复制profile
    scp /etc/profile  hadoop1:/etc/
    scp /etc/profile  hadoop2:/etc/
    
    # 复制hosts
    scp /etc/hosts hadoop1:/etc/
    scp /etc/hosts hadoop2:/etc/
    
    # 复制jdk
    scp -r /opt/jdk1.8.0_144 hadoop1:/opt/
    scp -r /opt/jdk1.8.0_144 hadoop2:/opt/
    
    # 复制Hadoop
    scp -r /opt/hadoop-3.1.3 hadoop1:/opt/
    scp -r /opt/hadoop-3.1.3 hadoop2:/opt/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    7 启动Hadoop

    (1)正常启动hadoop

    # 1 格式化节点,没有报错说明格式化成功
    hadoop namenode -format
    
    # 2 启动hadoop
    start-all.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (2)启动失败后重启

    # 停止hadoop
    stop-all.sh
    
    # 进入Hadoop的安装目录
    cd /opt/hadoop-3.1.3
    
    # 删除data和logs旧数据
    rm -rf data/  logs/
    
    # 重新格式化和启动即可
    hadoop namenode -format
    start-all.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    (3)查看Hadoop启动

    # 在浏览器中输入以下IP地址
    http://192.168.108.10:50070/
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    SpringCloud Alibaba——精读Nacos+CMDB+核心源码阅读(7w字长篇)
    vscode C++项目相对路径的问题
    【负荷预测、电价预测】基于神经网络的负荷预测和价格预测附Matlab代码
    (附源码)springboot高校社团管理系统 毕业设计 231128
    如何用BigDecimal定义数字
    深入浅出讲解python闭包
    HuggingFace——Trainer的简单使用
    软件测试面试经验分享,真实面试题
    【JAVA面试】JAVA面试指南
    SQL教程之SQL 中数据透视表的不同方法
  • 原文地址:https://blog.csdn.net/make_progress/article/details/127407738