• hadoop完全分布式环境搭建详细版


    1. hadoop集群规划

    1.准备3台客户机(关闭防火墙,静态ip,主机名称)

    2.安装jdk

    3.配置环境变量

    4.安装hadoop,hadoop版本是3.1.3,包名为hadoop-3.1.3.tar.gz

    5.配置环境变量

    6.配置集群

    7.单点启动

    8.配置ssh

    9.群起集群并测试集群

    注意: NameNode和SecondaryNameNode和ResourceManage三者很消耗内存,不要安装在同一台服务器上

    image-20221118133413157

    2. hadoop具体安装步骤

    2.0 端口号说明

    namenode端口号说明

    namenode版本号端口号
    1.x8020
    2.x9000
    3.0.x9020
    3.1.x8020

    namenode web端口号说明

    namenode web端口号版本号端口号
    1.x 2.x50070
    3.x9870

    secondarynamenode web端口号说明

    secondarynamenode web端口号版本号端口号
    1.x 2.x50090
    3.x9868
    2.1 上传
    2.2 解压
    2.3 修改hadoop相关配置文件

    有core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml,works

    (1)core-site.xml修改的内容有:

    ①NameNode的内部连接地址;

    ②hadoop数据存储的目录,默认是linux临时目录,到日期会被清除掉;

    ③配置hdfs登录的静态用户moxi,(好处是当使用的是moxi用户启动的hadoop,有权限进行删除);

    ④配置moxi为代理用户(因为在使用hive的时候,每一个用户都会创建一个hiveserver2,这个客户端非常占用空间,就想着所有用户用同一个hiveserver2,提交作业,如果不配置不可以,配置了就能用。

    
    
    
    <configuration>
    	
        <property>
            <name>fs.defaultFSname>
            <value>hdfs://hadoop102:8020value>
    	property>
    
        <property>
            <name>hadoop.tmp.dirname>
            <value>/opt/module/hadoop-3.1.3/datavalue>
    	property>
    
    
        <property>
            <name>hadoop.http.staticuser.username>
            <value>moxivalue>
    	property>
    
    
        <property>
            <name>hadoop.proxyuser.atguigu.hostsname>
            <value>*value>
    	property>
    
        <property>
            <name>hadoop.proxyuser.moxi.groupsname>
            <value>*value>
    	property>
    
        <property>
            <name>hadoop.proxyuser.moxi.usersname>
            <value>*value>
    	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
    • 34
    • 35
    • 36
    • 37

    (2)hdfs-site.xml修改的内容有:

    ①配置nn web端访问的地址,配置为hadoop102:9870

    ②配置2nn web端访问地址,配置为hadoop104:9868

    ③配置hdfs副本的数量,一般指定为3个,测试集群一般是1个

    
    
    <configuration>
    	
    	<property>
            <name>dfs.namenode.http-addressname>
            <value>hadoop102:9870value>
        property>
        
    	
        <property>
            <name>dfs.namenode.secondary.http-addressname>
            <value>hadoop104:9868value>
        property>
        
        
        <property>
            <name>dfs.replicationname>
            <value>3value>
        property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    (3)yarn-site.xml修改的内容有:

    ①指定MR走shuffle

    ②指定ResourceManager的地址:在hadoop103

    ③环境变量的继承

    ④yarn单个容器允许分配的最大最小内存,(默认是8G,需要修改,限定为和服务器一样大),这个参数每个机器单独设置,(内存为8,4,4和6,3,3需要修改,最大内存和服务器分配的最大内存一样,否则,内存超出会崩)

    ⑤yarn容器允许管理的物理内存大小,这个参数每个机器单独设置

    ⑥关闭yarn对虚拟内存的限制,物理内存不能关闭。(默认都是true,检测nodemanager和其它组件内存使用情况,超过内存大小就阻止它使用,把他干掉,很危险,需要关闭;虚拟内存,就是把超出内存的空间运行在磁盘上)

    
    
    
    <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>
        
        
        <property>
            <name>yarn.scheduler.minimum-allocation-mbname>
            <value>512value>
        property>
        <property>
            <name>yarn.scheduler.maximum-allocation-mbname>
            <value>4096value>
        property>
        
        
        <property>
            <name>yarn.nodemanager.resource.memory-mbname>
            <value>4096value>
        property>
        
        
        <property>
            <name>yarn.nodemanager.pmem-check-enabledname>
            <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
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    (4)mapred-site.xml修改的内容有:

    ①指定mapreduce程序在yarn上运行

    
    
    
    <configuration>
    	
        <property>
            <name>mapreduce.framework.namename>
            <value>yarnvalue>
        property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    (5)配置集群works:

    在1.x和2.x名字叫slaves,不叫works。

    把默认的localhost删掉,注意:填写下面的hadoop102,hadoop103,hadoop104,需要提前做好主机名和ip地址的映射;下面的文件不能有空格例如在hadoop102后面不能有空格;也不能有空行,在hadoop104下面不能有空行

    hadoop102
    hadoop103
    hadoop104
    
    • 1
    • 2
    • 3
    2.4 配置历史服务器

    为什么要配置历史服务器?

    任务在运行过程中,会记录运行过程的日志,不配置,运行结束了就结束了。

    在hadoop-3.1.3/etc/hadoop/mapred-site.xml文件下配置

    
    <property>
        <name>mapreduce.jobhistory.addressname>
        <value>hadoop102:10020value>
    property>
    
    
    <property>
        <name>mapreduce.jobhistory.webapp.addressname>
        <value>hadoop102:19888value>
    property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    2.5 配置日志聚集功能

    作用:不配置,查看日志需要在各自台上查询各自的,这是很麻烦的一件事,如果配置过之后,就可以在一台设备上,查看所有设备的日志,这是很方便的

    在 yarn-site.xml上配置。

    
    <property>
        <name>yarn.log-aggregation-enablename>
        <value>truevalue>
    property>
    
    
    <property>  
        <name>yarn.log.server.urlname>  
        <value>http://hadoop102:19888/jobhistory/logsvalue>
    property>
    
    
    <property>
        <name>yarn.log-aggregation.retain-secondsname>
        <value>604800value>
    property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    2.6 分发hadoop到其它集群
    [moxi@hadoop102 hadoop-3.1.3]$ xsync /opt/module/hadoop-3.1.3/
    
    • 1
    2.7 配置hadoop环境变量
    [moxi@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh
    
    • 1

    添加如下内容:

    #HADOOP_HOME
    export HADOOP_HOME=/opt/module/hadoop-3.1.3
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    
    • 1
    • 2
    • 3
    • 4
    2.8 分发环境变量

    注意:在root下,需要把分发指令路径写完整。

    [moxi@hadoop102 hadoop-3.1.3]$ sudo /home/moxi/bin/xsync /etc/profile.d/my_env.sh
    
    • 1
    2.9 source 是之生效
    [moxi@hadoop102 module]$ source /etc/profile.d/my_env.sh
    [moxi@hadoop103 module]$ source /etc/profile.d/my_env.sh
    [moxi@hadoop104 module]$ source /etc/profile.d/my_env.sh
    
    • 1
    • 2
    • 3
    2.10 第一次启动需要格式化namenode

    如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)

    [moxi@hadoop102 hadoop-3.1.3]$ bin/hdfs namenode -format
    
    • 1
    2.11 单节点启动集群

    (1)启动HDFS

    [moxi@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
    
    • 1

    (2)在配置了ResourceManager的节点(一定要在hadoop103上启动,因为在103上配置的)启动YARN

    [moxi@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh
    
    • 1
    2.12 在web端查看页面

    ①Web端查看HDFS的Web页面:http://hadoop102:9870/

    ②Web端查看yarn的web页面:http://hadoop103:8088/

    2.13 hadoop群起集群配置

    在一台设备上启动所有进程。

    进入目录/home/moxi/bin

    编辑文件vim hdp.sh

    #!/bin/bash
    if [ $# -lt 1 ]
    then
        echo "No Args Input..."
        exit ;
    fi
    case $1 in
    "start")
            echo " =================== 启动 hadoop集群 ==================="
    
            echo " --------------- 启动 hdfs ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
            echo " --------------- 启动 yarn ---------------"
            ssh hadoop103 "/opt/module/hadoop/sbin/start-yarn.sh"
            echo " --------------- 启动 historyserver ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
    ;;
    "stop")
            echo " =================== 关闭 hadoop集群 ==================="
    
            echo " --------------- 关闭 historyserver ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
            echo " --------------- 关闭 yarn ---------------"
            ssh hadoop103 "/opt/module/hadoop/sbin/stop-yarn.sh"
            echo " --------------- 关闭 hdfs ---------------"
            ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
    ;;
    *)
        echo "Input Args Error..."
    ;;
    esac
    
    • 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

    给权限

    chmod 777 hdp.sh
    
    • 1

    使用指南:

    hdp.sh start
    
    • 1

    安装包链接:

    链接:https://pan.baidu.com/s/1NUBmKLx6K71H95OZwOweag?pwd=kpv1
    提取码:kpv1

  • 相关阅读:
    InFusion:通过从扩散先验学习深度补全来进行图像 3D 高斯修复
    elasticsearch无法访问9200端口
    linux,ntp时间同步服务器设置步骤
    交换机端口镜像详解
    C语言 ini 文件读写【Iniparser库】
    jzoj1212 重建道路
    【rainbowzhou 面试9/101】技术提问--常见的大数据基准测试工具有哪些未命名文章
    龙讯旷腾:如何建立基于第一性原理的正向研发模式,原子级计算伴随的时间和空间尺度增长将带来的变革
    微服务注册中心之安装+实例搭建zookeeper
    HTML 与 CSS 有什么区别?
  • 原文地址:https://blog.csdn.net/qq_52699757/article/details/128174907