• 大数据基础设施搭建 - Hadoop


    一、下载安装包

    https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/

    二、上传压缩包

    使用普通账号,上传到/opt/software目录

    三、解压压缩包

    使用普通账号

    [hadoop@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
    
    • 1

    四、配置环境变量

    [hadoop@hadoop102 software]$ 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

    让新的环境变量PATH生效:

    [hadoop@hadoop102 hadoop-3.1.3]$ source /etc/profile
    
    • 1

    五、测试Hadoop

    5.1 测试hadoop命令

    [hadoop@hadoop102 hadoop-3.1.3]$ hadoop version
    
    • 1

    5.2 测试wordcount案例

    5.2.1 创建wordcount输入文本信息

    [hadoop@hadoop102 hadoop-3.1.3]$ mkdir wcinput
    [hadoop@hadoop102 hadoop-3.1.3]$ cd wcinput/
    [hadoop@hadoop102 wcinput]$ vim word.txt
    
    • 1
    • 2
    • 3

    内容:

    hadoop yarn
    hadoop mapreduce
    vimgo
    jbl jbl jbl
    
    • 1
    • 2
    • 3
    • 4

    5.2.2 执行程序

    [hadoop@hadoop102 hadoop-3.1.3]$ cd /opt/module/hadoop-3.1.3
    [hadoop@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput/ wcoutput/
    
    • 1
    • 2

    5.2.3 查看结果

    [hadoop@hadoop102 hadoop-3.1.3]$ cd wcoutput/
    [hadoop@hadoop102 wcoutput]$ cat part-r-00000
    
    • 1
    • 2
    hadoop	2
    jbl	3
    mapreduce	1
    vimgo	1
    yarn	1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    六、分发压缩包到集群中其他机器

    6.1 分发压缩包

    [hadoop@hadoop102 module]$ cd /opt/software/
    [hadoop@hadoop102 software]$ mytools_rsync hadoop-3.1.3.tar.gz
    
    • 1
    • 2

    6.2 解压压缩包

    同第三步骤

    6.3 配置环境变量

    同第四步骤

    七、配置集群

    有两种类型的配置文件:*-default.xml 和 *-site.xml。 *-site.xml 中的配置项覆盖 *-default.xml的相同配置项。

    7.1 核心配置文件

    core-default.xml:默认的核心Hadoop属性配置文件。该配置文件位于下面的JAR文件中:hadoop-common-x.x.x.jar

    [hadoop@hadoop102 software]$ cd $HADOOP_HOME/etc/hadoop
    [hadoop@hadoop102 hadoop]$ vim core-site.xml
    
    • 1
    • 2

    新增内容:

    	
        <property>
            <name>fs.defaultFSname>
            <value>hdfs://hadoop102:9820value>
        property>
        
        <property>
            <name>hadoop.tmp.dirname>
            <value>/opt/module/hadoop-3.1.3/datavalue>
        property>
    
        
        <property>
            <name>hadoop.http.staticuser.username>
            <value>hadoopvalue>
        property>
    
        
        <property>
            <name>hadoop.proxyuser.hadoop.hostsname>
            <value>*value>
        property>
        
        <property>
            <name>hadoop.proxyuser.hadoop.groupsname>
            <value>*value>
        property>
        
        <property>
            <name>hadoop.proxyuser.hadoop.usersname>
            <value>*value>
        property>
    
    • 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

    说明:

    fs.defaultFS:文件系统地址。可以是HDFS,也可以是ViewFS等其他文件系统。
    hadoop.tmp.dir:默认值为/tmp/hadoop-${user.name}。比如跑MR时生成的临时路径本质上其实就是生成在它的下面,当然如果你不想也可以去更改 mapred-site.xml 文件。再比如,如果你不配置namenode和datanode的数据存储路径,那么默认情况下,存储路径会放在hadoop.tmp.dir所指路径下的dfs路径中。
    hadoop.http.staticuser.user:默认值是dr.who。需要调整为启动HDFS的用户(普通用户/root),才能访问(增删文件/文件夹)WEB HDFS。
    代理配置:hadoop.proxyuser.hadoop.hosts必须配,hadoop.proxyuser.hadoop.groups和hadoop.proxyuser.hadoop.users至少配置一个。如果不配置代理会有什么问题?????
    hadoop.proxyuser.hadoop.hosts和hadoop.proxyuser.hadoop.users:本案例配置表示允许用户hadoop,在任意主机节点,代理任意用户。

    7.2 HDFS配置文件

    hdfs-default.xml:默认的HDFS属性配置文件。该配置文件位于下面的JAR文件中:hadoop-hdfs-x.x.x.jar

    [hadoop@hadoop102 hadoop]$ vim hdfs-site.xml
    
    • 1

    新增内容:

    	
    	<property>
            <name>dfs.namenode.http-addressname>
            <value>hadoop102:9870value>
        property>
    	
        <property>
            <name>dfs.namenode.secondary.http-addressname>
            <value>hadoop104:9868value>
        property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    7.3 YARN配置文件

    yarn-default.xml:默认的YARN属性配置文件。该配置文件位于下面的JAR文件中:hadoop-yarn-common-x.x.x.jar

    [hadoop@hadoop102 hadoop]$ vim yarn-site.xml
    
    • 1

    新增内容:

    	
        <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>falsevalue>
        property>
        <property>
            <name>yarn.nodemanager.vmem-check-enabledname>
            <value>falsevalue>
        property>
    
    • 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

    说明:

    yarn.nodemanager.env-whitelist:默认JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ
    yarn.scheduler.minimum-allocation-mb:单位为MB

    7.4 MapReduce配置文件

    mapred-default.xml:默认的MapReduce属性配置文件。该配置文件位于下面的JAR文件中:hadoop-mapreduce-client-core-x.x.x.jar

    [hadoop@hadoop102 hadoop]$ vim mapred-site.xml
    
    • 1

    新增内容:

    	
        <property>
            <name>mapreduce.framework.namename>
            <value>yarnvalue>
        property>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    说明:

    mapreduce.framework.name 默认值为 local,设置为 yarn,让 MapReduce 程序运行 在 YARN 框架上。

    7.5 分发配置文件

    [hadoop@hadoop102 hadoop]$ mytools_rsync /opt/module/hadoop-3.1.3/etc/hadoop/
    
    • 1

    八、启动集群

    8.1 编辑workers文件确定数据节点

    注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

    [hadoop@hadoop102 hadoop]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
    
    • 1

    内容:

    hadoop102
    hadoop103
    hadoop104
    
    • 1
    • 2
    • 3

    同步到所有节点:

    [hadoop@hadoop102 hadoop]$ mytools_rsync /opt/module/hadoop-3.1.3/etc/
    
    • 1

    8.2 启动集群

    步骤1: 格式化NameNode(首次启动集群时)

    注意:在NameNode所在节点(core-site.xml中配置的)执行命令

    原因:先前在care_site.xml中配置了文件系统为HDFS,HDFS类似一块磁盘,初次使用硬盘需要格式化,让存储空间明白该按什么方式组织存储数据。

    [hadoop@hadoop102 hadoop-3.1.3]$ hdfs namenode -format
    
    • 1

    看到下图样例代表格式化成功
    在这里插入图片描述
    在这里插入图片描述

    步骤2:启动HDFS

    注意:在NameNode所在节点执行命令

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

    步骤3:启动YARN

    注意:在ResourceManager所在节点(yarn-site.xml中配置的)执行命令

    [hadoop@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh
    
    • 1

    步骤4:测试WEB访问

    (1)配置阿里云安全组

    查看本机ip:百度搜索ip
    配置阿里云安全组放开ip + 端口
    配置本机hosts文件:用swichhosts配置

    (2)浏览器访问

    Web端查看HDFS的NameNode:http://hadoop102:9870
    Web端查看YARN的ResourceManager:http://hadoop103:8088

    九、测试集群

    9.1 上传文件

    上传小文件:

    [hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -put /opt/module/hadoop-3.1.3/wcinput/word.txt /input
    
    • 1

    上传大文件:

    [hadoop@hadoop102 hadoop-3.1.3]$ hadoop fs -put /opt/software/jdk-8u291-linux-x64.tar.gz /
    
    • 1

    9.2 查看文件

    [hadoop@hadoop102 subdir0]$ cat /opt/module/hadoop-3.1.3/data/dfs/data/current/BP-343847855-172.28.76.203-1700227787497/current/finalized/subdir0/subdir0/blk_1073741825
    
    • 1

    9.3 下载文件

    [hadoop@hadoop102 software]$ cd /opt/software/test_tmp
    [hadoop@hadoop102 test_tmp]$ hadoop fs -get /input ./
    
    • 1
    • 2

    9.4 执行程序

    [hadoop@hadoop102 software]$ cd /opt/module/hadoop-3.1.3/
    [hadoop@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output
    
    • 1
    • 2

    查看执行结果(通过WEB页面下载执行结果文件):

    配置安全组:放开9864端口
    访问HDFS WEB下载文件

    查看执行结果(在服务器上直接查看文件):

    cat /opt/module/hadoop-3.1.3/data/xxx

    十、配置历史服务器

    10.1 修改配置文件

    10.2 分发配置文件

    10.3 启动历史服务器

    10.4 访问WEB

    十一、配置日志的聚集

    注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer。

    11.1 修改配置文件

    11.2 分发配置文件

    11.3 重启NM、RM、HistoryServer

    11.4 测试

    (1)删除HDFS已经存在的输出文件

    (2)执行WordCount程序

    (3)查看日志

  • 相关阅读:
    【iMessage苹果相册推送苹果相册推】ProtocolBuffer拥有多项比XML更高档的序列化结构数据的特性
    前端实现大屏缩放自适应屏幕
    并查集总结
    JavaScript用浏览器书签制作插件(爬虫)
    基于Matlab计算经典CFAR阈值
    R-Car H3系列SOC芯片与R-Car M3 R8A77961JBP0BA区别
    WPF控件模板
    你要的AI Agent工具都在这里
    代理模式——设计模式
    沃尔玛Walmart EDI 850订单详解
  • 原文地址:https://blog.csdn.net/m0_46218511/article/details/134455695