ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

大数据学习笔记

2021-04-24 21:01:05  阅读:169  来源: 互联网

标签:opt ljj Hadoop 笔记 hadoop 学习 192.168 3.1 数据


大数据技术之大数据概论

1 章 大数据概念

大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产

按顺序给出数据存储单位:bit、Byte、KB、MB、GB、**TB、PB、EB、**ZB、YB、BB、NB、DB。


1Byte = 8bit 

1K = 1024Byte 

1MB = 1024K 

1G = 1024M 

1T = 1024G 

1P = 1024T

第 2 章 大数据特点(4V)

  • Volume (大量)

人类生产的所有印刷材料的数据量是200PB,而历史上全人类总共说过的话的数据量大约是5EB。当前,典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。

  • Velocity**(高速)**

天猫双十一:2017年3分01秒,天猫交易额超过100亿

2020年96秒,天猫交易额超过100亿

  • Variety**(多样)**

这种类型的多样性也让数据被分为结构化数据和非结构化数据。相对于以往便于存储的

以数据库/文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图

片、地理位置信息。

  • Value**(低价值密度)**

价值密度的高低与数据总量的大小成反比。我们只想提取在大量数据中的有价值的信息。(”提纯“

第三章 大数据的应用场景

  1. 抖音推荐你喜欢的视频
  2. 电商站内广告推荐:给用户推荐可能喜欢的商品
  3. 零售:分析用户消费习惯,为用户购买商品提供方便,从而提升商品销量。经典案例,纸尿布+啤酒。
  4. 物流仓储:京东物流,通过大数据分析各地该存储啥物品。
  5. 保险,金融,房产等
  6. 人工智能 + 5G + 物联网 + 虚拟与现实

第四章大数据发展前景

  1. 国家支持
  2. 下一个风口
  3. 人才缺,需求大,工资高

第五章 大数据部门间业务流程分析

第 6 章 大数据部门内组织结构

大数据技术之 Hadoop(入门)

学习路线图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tZal6Y4X-1619268270493)(大数据学习笔记.assets/image-20210422190025961.png)]

一、概念

1.1、Hadoop是什么

  • Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

  • 主要解决,海量数据的存储和海量数据的分析计算问题。

  • 广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

1.2、Hadoop的发展历史

  • Hadoop创始人Doug Cutting
  • 名字来源于Doug Cutting儿子的玩具大象

1.3、Hadoop的三大发行版本**(了解)**

Hadoop 三大发行版本:Apache、Cloudera、Hortonworks。

Apache 版本最原始(最基础)的版本,对于入门学习最好。2006

Cloudera 内部集成了很多大数据框架,对应产品 CDH。2008

Hortonworks 文档较好,对应产品 HDP。2011

Hortonworks 现在已经被 Cloudera 公司收购,推出新的品牌 CDP。

1.4、Hadoop 优势(4高)

  • 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
  • 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
  • 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
  • 高容错性:能够自动将失败的任务重新分配

1.5 Hadoop*组成(面试重点)

1.5.1 HDFS 架构概述
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。
1.5.2 YARN架构概述
Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bDjHBsQ9-1619268270494)(大数据学习笔记.assets/image-20210423095140236.png)]

1.5.3 MapReduce 架构概述

MapReduce 将计算过程分为两个阶段:Map 和 Reduce

  • Map 阶段并行处理输入数据

  • Reduce 阶段对 Map 结果进行汇总

1.5.4 HDFS、YARN、MapReduce 三者关系

1.6 大数据技术生态体系

图中涉及的技术名词解释如下:

1)Sqoop:Sqoop 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL)

间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进

到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。

2)Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,

Flume 支持在日志系统中定制各类数据发送方,用于收集数据;

3)Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统;

4)Spark:Spark 是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数

据进行计算。

5)Flink:Flink 是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。

6)Oozie:Oozie 是一个管理 Hadoop 作业(job)的工作流程调度管理系统。

7)Hbase:HBase 是一个分布式的、面向列的开源数据库。HBase 不同于一般的关系数据库,

它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张

数据库表,并提供简单的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运

行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开

发专门的 MapReduce 应用,十分适合数据仓库的统计分析。

9)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、

名字服务、分布式同步、组服务等。

1.7 推荐系统框架图

二、环境准备

用户信息:

账号:lijunjie 密码123456,登录使用

1.模拟虚拟机准备

image-20210423162023895

安装centos7.5镜像

配置Ip和主机名配置

1.配置VM的ip
image-20210423155947804
2.修改NAT设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h8Y8Yk6H-1619268270496)(大数据学习笔记.assets/image-20210423160058211.png)]

3.Windows的iP设置
image-20210423160316099
4.修改Hadoop的IP地址,主机名称
[root@Hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"                     //把ip地址改为静态ip地址,下次登录时ip不变
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="60915f68-5ac1-4e5c-bfaf-1ad91c02abcd"
DEVICE="ens33"
ONBOOT="yes"
//下面为新加内容
IPADDR=192.168.10.100               //设置ip地址
GATEWAY=192.168.10.2                //设置网关
DNS1=192.168.10.2                   //设置域名解析器

5.修改主机名称
[root@Hadoop100 ~]# vim /etc/hostname

6.主机名称映射
  • 将192.168.10.105的ip映射为为hadoop100,凡是出现192.168.10.105,。用hadoop100代替。
  • 当因升级改变ip时,可以不用大量修改。
image-20210423161428233
[root@Hadoop100 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.10.100 hadoop100         //一下都是添加的
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108


7.然后重启reboot
  1. 查看当前ip(ifconfig)
  2. 能否联通外网(ping www.baidu.com)
  3. 查看主机名称(hostname)

Xshell远程访问工具

image-20210423162113062
注意问题:
修改 windows 的主机映射文件(hosts 文件)
(1)如果操作系统是 window7,可以直接修改
(a)进入 C:\Windows\System32\drivers\etc 路径
(b)打开 hosts 文件并添加如下内容,然后保存
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
(2)如果操作系统是 window10,先拷贝出来,修改保存以后,再覆盖即可
(a)进入 C:\Windows\System32\drivers\etc 路径
(b)拷贝 hosts 文件到桌面
(c)打开桌面 hosts 文件并添加如下内容
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108
(d)将桌面 hosts 文件覆盖 C:\Windows\System32\drivers\etc 路径 hosts 文件

hadoop100 虚拟机配置要求如下

  1. 使用 yum 安装需要虚拟机可以正常上网
  2. 安装 epel-release
[root@hadoop100 ~]# yum install -y epel-release
  1. 关闭防火墙,关闭防火墙开机自启
[root@Hadoop100 ~]# systemctl stop firewalld
[root@Hadoop100 ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  1. 创建 ljj 用户,并修改 ljj用户的密码(123456)

  2. 配置 ljj 用户具有 root 权限,方便后期加 sudo 执行 root 权限的命令

    [root@hadoop100 ~]# vim /etc/sudoers
    修改/etc/sudoers 文件,在%wheel 这行下面添加一行,如下所示:
    ## Allow root to run any commands anywhere
    root ALL=(ALL) ALL
    ## Allows people in group wheel to run all commands
    %wheel ALL=(ALL) ALL 尚硅谷大数据技术之 Hadoop(入门) 
    ljj ALL=(ALL) NOPASSWD:ALL
    
  3. 在/opt 目录下创建文件夹,并修改所属主和所属组

    (1) 在/opt 目录下创建 module、software 文件夹
    [ljj@Hadoop100 opt]$ sudo mkdir module
    [ljj@Hadoop100 opt]$ sudo mkdir software
    (2)修改 module、software 文件夹的所有者和所属组均为 atguigu 用户
    [root@hadoop100 ~]# chown ljj:ljj /opt/module 
    [root@hadoop100 ~]# chown ljj:ljj /opt/software
    (3)
    (3)查看 module、software 文件夹的所有者和所属组
    [root@hadoop100 ~]# cd /opt/
    [root@hadoop100 opt]# ll
    总用量 12
    [root@Hadoop100 opt]# ll
    总用量 0
    drwxr-xr-x. 2 ljj ljj 6 4月  24 09:27 module
    drwxr-xr-x. 2 ljj ljj 6 4月  24 09:27 software
    
    
    
  4. 卸载虚拟机自带的 JDK

[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

[root@Hadoop100 opt]# rpm -qa | grep -i java          //查询已经安装的jdk
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
tzdata-java-2018c-1.el7.noarch
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64

  1. )重启虚拟机 reboot

2 . 克隆虚拟机

image-20210424181403249

1.利用模板机 hadoop100

克隆三台虚拟机:hadoop102 hadoop103 hadoop104

  • 注意:克隆时,要先关闭 hadoop100

2.修改克隆机 IP

以下以 hadoop102 举例说

1)修改克隆虚拟机的静态 IP
[root@hadoop100 ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
改成
DEVICE=ens33
TYPE=Ethernet 
ONBOOT=yes
BOOTPROTO=static
NAME="ens33"
IPADDR=192.168.10.102            //改下IP地址
PREFIX=24
GATEWAY=192.168.10.2
DNS1=192.168.10.2

3.修改克隆机主机名,

  1. 以下以 hadoop102 举例说明
(1)修改主机名称
[root@hadoop100 ~]# vim /etc/hostname
hadoop102 
(2)配置 Linux 克隆机主机名称映射 hosts 文件,打开/etc/hosts
[root@hadoop100 ~]# vim /etc/hosts

4.JDK的安装

  • 在Hadoop102上安装jdk,然后复制到其它虚拟机

  • 卸载现有 JDK

  • 用 XShell 传输工具将 JDK 导入到 opt 目录下面的 software 文件夹下面

出现问题:远程登录使用lijunjie用户传输显示失败。

解决方法:改为远程登录使用root,即可成功。

image-20210424183633760
  • 查看是否传输成功
  • 解压 JDK 到/opt/module 目录下
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
  • 配置 JDK 环境变量
1)新建/etc/profile.d/my_env.sh 文件
[atguigu@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
添加如下内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
(2)保存后退出
:wq
(3)source 一下/etc/profile 文件,让新的环境变量 PATH 生效
[atguigu@hadoop102 ~]$ source /etc/profile
  • )测试 JDK 是否安装成功
[ljj@Hadoop102 opt]$ java -version
java version "1.8.0_212"          //出现这个即为成功
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
[ljj@Hadoop102 opt]$ 

6.在 hadoop102 安装 Hadoop

  • 1)用 XShell 文件传输工具将 hadoop-3.1.3.tar.gz 导入到 opt 目录下面的 software 文件夹
  • 进入到 Hadoop 安装包路径下
 [ljj@hadoop102 software]$ cd /opt/software/
  • 解压安装文件到/opt/module 下面
 [ljj@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C  /opt/module/   (时间有点长)
  • 查看是否解压成功
查看是否解压成功
 [ljj@hadoop102 software]$ ls /opt/module/
 hadoop-3.1.3
  • 将 Hadoop 添加到环境变量
(1)获取 Hadoop 安装路径
[atguigu@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3
(2)打开/etc/profile.d/my_env.sh 文件
[atguigu@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh 

➢ 在 my_env.sh 文件末尾添加如下内容:(shift+g)
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
➢ 保存并退出: :wq
(3)让修改后的文件生效
[atguigu@hadoop102 hadoop-3.1.3]$ source /etc/profile
  • 测试是否安装成功
[ljj@Hadoop102 opt]$ hadoop version
Hadoop 3.1.3

  • 重启(如果 Hadoop 命令不能用再重启虚拟机)
[atguigu@hadoop102 hadoop-3.1.3]$ sudo reboot

7.Hadoop 目录结构

  • 查看 Hadoop 目录结构
[ljj@Hadoop102 module]$ cd hadoop-3.1.3/
[ljj@Hadoop102 hadoop-3.1.3]$ ll       
总用量 176       
drwxr-xr-x. 2 ljj ljj    183 9月  12 2019 bin
drwxr-xr-x. 3 ljj ljj     20 9月  12 2019 etc
drwxr-xr-x. 2 ljj ljj    106 9月  12 2019 include
drwxr-xr-x. 3 ljj ljj     20 9月  12 2019 lib
drwxr-xr-x. 4 ljj ljj    288 9月  12 2019 libexec
-rw-rw-r--. 1 ljj ljj 147145 9月   4 2019 LICENSE.txt
-rw-rw-r--. 1 ljj ljj  21867 9月   4 2019 NOTICE.txt
-rw-rw-r--. 1 ljj ljj   1366 9月   4 2019 README.txt
drwxr-xr-x. 3 ljj ljj   4096 9月  12 2019 sbin
drwxr-xr-x. 4 ljj ljj     31 9月  12 2019 share
[ljj@Hadoop102 hadoop-3.1.3]$ cd bin/

  • 重要目录
(1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
[ljj@Hadoop102 hadoop-3.1.3]$ cd bin/
[ljj@Hadoop102 bin]$ ll
-rwxr-xr-x. 1 ljj ljj 441936 9月  12 2019 container-executor
-rwxr-xr-x. 1 ljj ljj   8707 9月  12 2019 hadoop
-rwxr-xr-x. 1 ljj ljj  11265 9月  12 2019 hadoop.cmd
-rwxr-xr-x. 1 ljj ljj  11026 9月  12 2019 hdfs
-rwxr-xr-x. 1 ljj ljj   8081 9月  12 2019 hdfs.cmd
-rwxr-xr-x. 1 ljj ljj   6237 9月  12 2019 mapred
-rwxr-xr-x. 1 ljj ljj   6311 9月  12 2019 mapred.cmd
-rwxr-xr-x. 1 ljj ljj 483728 9月  12 2019 test-container-executor
-rwxr-xr-x. 1 ljj ljj  11888 9月  12 2019 yarn
-rwxr-xr-x. 1 ljj ljj  12840 9月  12 2019 yarn.cmd

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

三 、Hadoop 运行模式

3.1 三种运行模式基本介绍

  • Hadoop 官方网站:http://hadoop.apache.org/
  • Hadoop 运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 ➢ 本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。
  • 伪分布式模式:也是单机运行,但是具备 Hadoop 集群的所有功能,一台服务器模 拟一个分布式的环境。个别缺钱的公司用来测试,生产环境不用。
  • 完全分布式模式:多台服务器组成分布式环境。生产环境使用。
image-20210424202055906

3.2 本地运行模式(官方 WordCount案例)

  1. 创建在 hadoop-3.1.3 文件下面创建一个 wcinput 文件夹

    [ljj@Hadoop102 hadoop-3.1.3]$ mkdir wcinput
    
  2. 在 wcinput 文件下创建一个 word.txt 文件

 [ljj@hadoop102 hadoop-3.1.3]$ cd wcinput
  1. 编辑 word.txt 文件
[ljj@hadoop102 wcinput]$ vim word.txt ➢ 在文件中输入如下内容 
ss ss
cls cls
shaolin
shaomin
wudang
wudang
wudang

➢ 保存退出::wq
  1. 回到 Hadoop 目录/opt/module/hadoop-3.1.3
  2. 执行程序
 [ljj@hadoop102 hadoop-3.1.3]$ hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar  wordcount wcinput wcoutput
 出现一大长串字符
 //可以通过连续两次按tab获取 下一步路径的信息
 [ljj@Hadoop102 hadoop-3.1.3]$ hadoop jar share/
doc/    hadoop/ 

  1. 查看结果
[ljj@Hadoop102 hadoop-3.1.3]$ cd wcoutput/
[ljj@Hadoop102 wcoutput]$ ll
总用量 4
-rw-r--r--. 1 ljj ljj 44 4月  24 20:27 part-r-00000
-rw-r--r--. 1 ljj ljj  0 4月  24 20:27 _SUCCESS
[ljj@Hadoop102 wcoutput]$ cat part-r-00000 
`	1
cls	2
shaolin	1
shaomin	1
ss	2
wudang	3

在文件中输入如下内容
ss ss
cls cls
shaolin
shaomin
wudang
wudang
wudang

➢ 保存退出::wq


4. 回到 Hadoop 目录/opt/module/hadoop-3.1.3
5. 执行程序

[ljj@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput wcoutput
出现一大长串字符
//可以通过连续两次按tab获取 下一步路径的信息
[ljj@Hadoop102 hadoop-3.1.3]$ hadoop jar share/
doc/ hadoop/


6. 查看结果

[ljj@Hadoop102 hadoop-3.1.3]$ cd wcoutput/
[ljj@Hadoop102 wcoutput]$ ll
总用量 4
-rw-r–r--. 1 ljj ljj 44 4月 24 20:27 part-r-00000
-rw-r–r--. 1 ljj ljj 0 4月 24 20:27 _SUCCESS
[ljj@Hadoop102 wcoutput]$ cat part-r-00000
` 1
cls 2
shaolin 1
shaomin 1
ss 2
wudang 3


标签:opt,ljj,Hadoop,笔记,hadoop,学习,192.168,3.1,数据
来源: https://blog.csdn.net/qq_51285809/article/details/116104534

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有