Hadoop入门 分布式计算

本文详细介绍了Hadoop大数据环境的搭建过程,包括HDFS和YARN架构,MapReduce工作原理,以及Hadoop的三种运行模式:本地模式、伪分布式模式和完全分布式模式。在完全分布式模式中,强调了集群配置、SSH无密登录和时间同步的重要性。此外,还提到了Hadoop源码编译可能出现的错误及其解决方案。
摘要由CSDN通过智能技术生成

大数据概论

1.x和2.x区别
在这里插入图片描述

HDFS架构概述

  1. NameNode(nn):相当于数据data目录
  2. DataNode(dn):具体的数据
  3. Secondary NameNode(2nn):次要的数据data目录,辅助nn

YARN架构

在这里插入图片描述

MapReduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce,如图2-25所示
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
在这里插入图片描述

大数据技术生态体系

在这里插入图片描述

推荐系统项目框架

在这里插入图片描述

Hadoop运行环境搭建(开发重点)

虚拟机环境准备

  1. 克隆虚拟机
  2. 修改克隆虚拟机的静态IP
  3. 修改主机名
  4. 关闭防火墙
  5. 创建atguigu用户
  6. 配置atguigu用户具有root权限(详见《尚硅谷大数据技术之Linux》)
    7.在/opt目录下创建文件夹
    (1)在/opt目录下创建module、software文件夹
    (2)修改module、software文件夹的所有者cd

安装JDK

安装Hadoop

Hadoop目录结构

[atguigu@hadoop101 hadoop-2.7.2]$ ll
总用量 52
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 bin
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 etc
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 include
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 lib
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 libexec
-rw-r--r--. 1 atguigu atguigu 15429 5月  22 2017 LICENSE.txt
-rw-r--r--. 1 atguigu atguigu   101 5月  22 2017 NOTICE.txt
-rw-r--r--. 1 atguigu atguigu  1366 5月  22 2017 README.txt
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 sbin
drwxr-xr-x. 4 atguigu atguigu  4096 5月  22 2017 share
重要目录

(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例

Hadoop运行模式

Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式
Hadoop官方网站:http://hadoop.apache.org/

本地运行模式

官方Grep案例
执行share目录下的MapReduce程序

[atguigu@hadoop101 hadoop-2.7.2]$ bin/hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'

官方WordCount案例

[atguigu@hadoop101 hadoop-2.7.2]$ hadoop jar
 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

伪分布式运行模式

启动HDFS并运行MapReduce程序

流程步骤:,

查看产生的Log日志
说明:在企业中遇到Bug时,经常根据日志提示信息去分析问题、解决Bug。当前目录:/opt/module/hadoop-2.7.2/logs

[atguigu@hadoop101 logs]$ ls
hadoop-atguigu-datanode-hadoop.atguigu.com.log
hadoop-atguigu-datanode-hadoop.atguigu.com.out
hadoop-atguigu-namenode-hadoop.atguigu.com.log
hadoop-atguigu-namenode-hadoop.atguigu.com.out
SecurityAuth-root.audit
[atguigu@hadoop101 logs]# cat hadoop-atguigu-datanode-hadoop101.log

(d)思考:为什么不能一直格式化

[atguigu@hadoop101 hadoop-2.7.2]$ cd data/tmp/dfs/name/current/
[atguigu@hadoop101 current]$ cat VERSION
clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

[atguigu@hadoop101 hadoop-2.7.2]$ cd data/tmp/dfs/data/current/
clusterID=CID-f0330a58-36fa-4a2a-a65f-2688269b5837

NameNode,格式化NameNode,要注意什么?
注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode

启动YARN并运行MapReduce程序

配置集群在YARN上运行MR

配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

  1. 配置mapred-site.xml

配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。

配置文件说明

默认配置文件
自定义配置文件
只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。

完全分布式运行模式(开发重点)

分析:
1)准备3台客户机(关闭防火墙、静态ip、主机名称)
2)安装JDK
3)配置环境变量
4)安装Hadoop
5)配置环境变量
6)配置集群
7)单点启动
8)配置ssh
9)群起并测试集群

虚拟机准备

编写集群分发脚本xsync

  1. scp(secure copy)安全拷贝
    scp定义:
    scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
    基本语法
    scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
    命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称

注意:拷贝过来的/opt/module目录,别忘了在hadoop102、hadoop103、hadoop104上修改所有文件的,所有者和所有者组。sudo chown atguigu:atguigu -R /opt/module

  1. rsync 远程同步工具
    rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
    rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
    基本语法
    rsync -rvl $pdir/$fname $user@hadoop$host:$pdir/$fname
    命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
  2. xsync集群分发脚本
    (1)需求:循环复制文件到所有节点的相同目录下
    (2)需求分析:
    (a)rsync命令原始拷贝:
    rsync -rvl /opt/module root@hadoop103:/opt/
    (b)期望脚本:
    xsync要同步的文件名称
    (c)说明:在/home/atguigu/bin这个目录下存放的脚本,atguigu用户可以在系统任何地方直接执行。

注意:如果将xsync放到/home/atguigu/bin目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin目录下。

集群配置

集群单点启动

SSH无密登录配置

在这里插入图片描述

群起集群

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

注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。

集群启动/停止方式总结

集群时间同步

Hadoop编译源码(面试重点)

常见错误及解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值