大数据学习之路

大数据简介

一、基本定义

一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征

二、基本特征

容量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息;
种类(Variety):数据类型的多样性;
速度(Velocity):指获得数据的速度;
可变性(Variability):妨碍了处理和有效地管理数据的过程。
真实性(Veracity):数据的质量。
复杂性(Complexity):数据量巨大,来源多渠道。
价值(value):合理运用大数据,以低成本创造高价值。

三、基础业务

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

四、应用场景

物流仓储:大数据分析系统助力商家精细化运营、提升销量、节约成本。
零售:分析用户的消费习惯,为用户购买商品提供方便,从而提升商品销量。
旅游: 深度结合大数据能力与旅游行业需求,共建旅游产业智慧管理、智慧服务和智慧营销的未来。
商品广告推荐:给用户推荐可能喜欢的商品。
保险: 海量数据挖掘及风险预测,助力保险行业精准营销,提升精细化定价能力。
金融:多维度提现用户特征,帮助金融机构推荐优质客户,防范欺诈风险。
房产:大数据全面助力房地产行业,打造精准投资与营销,选出更合适的地,建造更合适的楼,卖给更合适的人。
人工智能:无人驾驶汽车,机器人,无飞机等

五、发展前景

党的十八大提出 "实施国家大数据战略" 国务院印发《促进大数据发展行动纲要》
党的十九大提出 "推动互联网、大数据、人工智能和实体经济融合"。

第一章 Hadoop

一、Hadoop简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
主要解决,海量数据的存储和海量数据的分析计算问题。
广义上来说,Hadoop通常是指一个更广泛的概念,Hadoop生态圈。

二、Hadoop发展历史

创始人:DougCutting Hadoop起源于Google在大数据方面的三篇论文
GFS--> HDFS
Map-Reduce --> MR
BigTable --> HBase
2003-2004年,Google公开了部分GFS和MapReduce思想细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。
2005年Hadoop 作为Lucene的子项目Nutch的一部分正式引入Apache基金会。

三、Hadoop三大发行版本

1、Apache

是最原始(最基础)的版本,对于入门学习是非常不错的。

2、Cloudera

在大型互联网企业运用是最多的

3、Hortonworks

文档是比较完善的

四、Hadoop的优势

1、高可靠性

Hadoop 底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据丢失。

2、高扩展性

在集群间分配任务数据,可方便的扩展数千计的节点

3、高效性

在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度

4、高容错性

能够自动将失败的任务重新分配。

五、版本区别

1、Hadoop1.x组成

1、 MapRedouce(计算+资源调度)
2、HDFS(数据存储)
3、Common(辅助工具)

2、Hadoop2.x组成

1、 MapReduce(计算)
2、 Yarm (资源调度)
3、HDFS (数据存储)
4、Common (辅助工具)

六、HDFS架构

1、NameNode:

存储文件的元数据,如文件名,文件目录结构,文件属性(成成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等

2、DataNode:

在本地文件系统存储文件块数据,以及快数据的校验

3、Secondary NameNode:

用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

七、YARN架构

1、ResourceManager

1、处理客户请求
2、监控NodeManager
3、启动或监控ApplicationMaster
4、资源的分配与调度

2、NodeManager

1、管理单元节点上的资源
2、处理来自ResourceManager的命令
3、处理来自ApplicationMaster的命令

3、ApplicationMaster

1、负责数据的切块
2、为应用程序申请资源并分配给内部的任务
3、任务的监控与容错

4、Container

Container是YARN中的资源抽象,它封装了某一个节点上的多维资源,如内存、cpu、磁盘、网络等。

5、整体架构图

大数据学习之路_第1张图片

八、MapReduce架构概述

MapReduce 将计算过程分为两个阶段:Map和Reduce
1、Map阶段并行处理输入数据进行拆分
2、Reduce阶段对Map结果进行汇总

整体架构图

大数据学习之路_第2张图片

九、大数据生态体系

1、第一层:数据来源层

数据库(结构化数据)
文件日志(半结构化数据)
视频、ppt等(非机构化数据)

2、第二层: 数据传输层

Sqoop数据传递
Flume日志收集
Kafka消息队列

3、第三层:数据存储层

HDFS文件存储
HBase非关系型数据库

4、第四层:数据管理层

YARN资源管理

5、第五层:数据计算层

MapReduce离线计算
--Hvie数据查询
--Mahout数据挖掘
Spark Core内存计算
--Mahout数据挖掘
--SparkMlib数据挖掘
--Spark R数据分析
--Spark Sql数据查询
--Spark Streaming实时计算
Storm实时计算

6、第六层:任务调度层

Oozie任务调度 比较复杂
Azkaban任务调度器 偏简单些
Zookeeper数据平台配置与调度

7、第七层:业务模型层

业务模型、数据可视化、业务应用

第2章节 Hadoop 环境搭建

一、虚拟机环境搭建

1、资料下载与电脑配置

1、VM虚拟机软件下载: https://www.vmware.com/cn/pro...
2、CentOS镜像文件下载: http://ftp.sjtu.edu.cn/centos...
大数据学习之路_第3张图片
3、检查BIOS是否开启虚拟化支持,由于电脑不同设置方式不一样,自行百度

2、镜像安装

1、打开虚拟机-->创建新虚拟机 如图所示:
大数据学习之路_第4张图片
2、选择自定义(高级)-->下一步 如图所示:
大数据学习之路_第5张图片
3、选择下一步即可 如图所示:
大数据学习之路_第6张图片
4、选择稍后安装操作系统--> 下一步 如图所示:
大数据学习之路_第7张图片
5、选择Linux--> 版本(CentOS 6 64位)--> 下一步 如图所示:
大数据学习之路_第8张图片
6、编写虚拟机名称-->选择存放位置-->下一步 如图所示:
大数据学习之路_第9张图片
7、配置处理器数量-->配置内核数量--> 下一步 如图所示:
大数据学习之路_第10张图片
8、配置内存大小 --> 下一步 如图所示:
大数据学习之路_第11张图片
9、网络配置 --> 下一步 如图所示:
大数据学习之路_第12张图片
10、选择控制器类型(默认即可)-->下一步 如图所示:
大数据学习之路_第13张图片
11、选择磁盘类型(默认即可)--> 下一步 如图所示:
大数据学习之路_第14张图片
12、选择磁盘(默认即可)--> 下一步 如图所示:
大数据学习之路_第15张图片
13、配置磁盘大小与分区--> 下一步 如图所示:
大数据学习之路_第16张图片
14、选择磁盘文件(默认即可) --> 下一步 如图所示:
大数据学习之路_第17张图片
15、点击完成即可 如图所示:
大数据学习之路_第18张图片
16、编辑虚拟机设置 如图所示:
大数据学习之路_第19张图片
17、配置安装镜像文件 如图所示:
大数据学习之路_第20张图片
18、开启虚拟机 如图所示:
大数据学习之路_第21张图片
19、选择安装 鼠标点击黑色区域,键盘上下键可以移动选项,再按回车键 ,释放鼠标: CTAL+ALT键 如图所示:
大数据学习之路_第22张图片
20、选择skip --回车键 如图所示
大数据学习之路_第23张图片>
21、直接选择下一步 如图所示:
大数据学习之路_第24张图片
22、选择语言--中文简体--下一步
大数据学习之路_第25张图片
23、选择键盘,默认英式键盘--下一步 如图所示:
大数据学习之路_第26张图片
24、选择默认基本存储设备--下一步 如图所示:
大数据学习之路_第27张图片
25、存储设备警告 ,选择是 忽略所有数据 如图所示:
大数据学习之路_第28张图片
26、编写主机名称,默认即可如图所示:
大数据学习之路_第29张图片
27、选择时区--亚洲/上海即可 --下一步 如图所示:
大数据学习之路_第30张图片
28、设置用户密码 输入6位长度密码
大数据学习之路_第31张图片
29、密码太简单提示,选择无论如何都使用即可
大数据学习之路_第32张图片
30、设置布局,选择创建自定义布局 --下一步
大数据学习之路_第33张图片
31、创建分区--/(根分区)
大数据学习之路_第34张图片
32、设置根分区大小
大数据学习之路_第35张图片
33、创建boot分区 步骤与上面一样
大数据学习之路_第36张图片
34、创建swap分区 步骤如上
大数据学习之路_第37张图片
35、配置完成 ,点击下一步
大数据学习之路_第38张图片
36、选择格式化
大数据学习之路_第39张图片
37、选择将修改写入磁盘
大数据学习之路_第40张图片
38、默认下一步即可
大数据学习之路_第41张图片
39、等待安装
大数据学习之路_第42张图片
40、安装完成,重启引导
大数据学习之路_第43张图片
41、登录,输入账号root 输入密码:直接输入不会显示 输入完按回车键
大数据学习之路_第44张图片

3、克隆镜像文件

1、选择虚拟机--右键--选择管理--选择克隆 如图所示:
大数据学习之路_第45张图片
2、选择下一步:
大数据学习之路_第46张图片
3、克隆来源 选择虚拟机中当前状态 --下一步
大数据学习之路_第47张图片
4、克隆类型 选择完整克隆 --下一步
大数据学习之路_第48张图片
5、编写虚拟机名称--虚拟机存储放位置--完成 --完成关闭即可
大数据学习之路_第49张图片

4、网络配置

1、查看本地网络 打开控制台(windows+R)--输入cmd--回车键--输入ipconfig 如图所示:
大数据学习之路_第50张图片
2、配置虚拟机网络 选择虚拟机--选择编辑--选择虚拟网络编辑
大数据学习之路_第51张图片
3、选择更改设置
大数据学习之路_第52张图片
4、配置VMnet8 选择VMnet8 比较子网IP是否与本地VMnet8 中的IPv4是否在同一个网段
大数据学习之路_第53张图片
5、配置DHCP设置 配置IP使用范围 修改起始IP
大数据学习之路_第54张图片
6、配置NAT设置(一般默认即可)
大数据学习之路_第55张图片
7、最后选择应用保存--确定即可
大数据学习之路_第56张图片
8、进入虚拟机,查看IP 命令如下
    ip addr
9、如图所示:IP未配置好
大数据学习之路_第57张图片
10、修改网络,修改文件如下
vi /etc/udev/rules.d/70-persistent.rules #vi 表示编辑文件
dd #表示删除一行 在未进入编辑状态 键盘输入dd 删除eth0 并把eth1 改为eth0
# 进入编辑模式 按键盘 i
大数据学习之路_第58张图片
11、记录ATTR值
大数据学习之路_第59张图片
12、保存修改 按esc 输入冒号 输入字母wq 如图所示:
大数据学习之路_第60张图片
13、配置IP地址 并保存
#修改网络配置文件
vi /ete/sysconfig/network-scripts/ifcfg-eth0
IPADDR 为静态IP
GATEWAY 为默认网关IP
大数据学习之路_第61张图片
14、修改本机名称 改为hadoop101 如图所示:
vi /etc/sysconfig/network
大数据学习之路_第62张图片
15、修改host 命令如下: 添加如下值
vi /etc/hosts
大数据学习之路_第63张图片
16、重启系统 命令:reboot
17、查看IP 命令:ip addr 配置成功
大数据学习之路_第64张图片
18、测试是否能ping通 cmd 打开控制台 输入 ping ip地址 如图表示配置成功
大数据学习之路_第65张图片
19、测试是否能连接外网 如图表示成功
大数据学习之路_第66张图片

5、Xshell使用

1、下载地址: http://www.hostbuf.com/
2、创建服务器连接 如图所示:
大数据学习之路_第67张图片
3、配置连接 如图所示:
大数据学习之路_第68张图片
4、正式连接服务器 双击地址-- 接受并保存
大数据学习之路_第69张图片
5、提示连接成功 如图所示
大数据学习之路_第70张图片

6、用户管理

1、添加新用户
useradd 用户名
2、将用户添加到用户组
useradd -g 组名 用户名
3、设置用户密码
passwd 用户名
4、切换用户
su 用户名
5、删除用户
userdel 用户名称 删除用户但保存用户主目录
userdel -r 用户名称 用户和用户主目录都删除
6、查看用户信息
whoami 显示自身用户名称
who am i 显示登录用户的用户名称
7、设置普通用户具有root权限
sudo #最高权限执行
修改地址:vi /etc/sudoers 如图所示:此处使用强制保存 wq!
大数据学习之路_第71张图片
8、查看用户组 id 用户名
大数据学习之路_第72张图片
9、设置用户组 usermod -g root ahui
大数据学习之路_第73张图片
10、新增用户组 groupadd 组名
11、删除用户组 groupdel 组名
12、修改用户组 groupmod -n 新组名 老组名
13、修改文件权限 chmod
14、修改所有文件权限 chown
15、改变所属组 chgrp

7、创建文件

1、在opt目录下创建两文件夹 module、software
cd /opt #进入opt目录
2、创建文件 mkdir module 错误提示如图:
大数据学习之路_第74张图片
3、使用 sudo mkdir module #sudo 表示以最高权限执行
大数据学习之路_第75张图片
4、修改文件所属权限
sudo chown ahui:ahui module/ software/
大数据学习之路_第76张图片

8、上传文件

1、jdk-8u231-linux-x64.tar.gz
2、 hadoop-2.7.2.tar.gz

9、解压文件

1、解压两个压缩包 命令:tar -zxvf 被解压的文件 -C 输入路径
tar -zxvf jdk-8u231-linux-x64.tar.gz -C /opt/module
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module

10、配置环境变量

1、JDK环境变量配置

1、编辑 /etc/profile
sudo vi /etc/profile
大数据学习之路_第77张图片
2、使环境变量生效 source
source /etc/profile
大数据学习之路_第78张图片

2、Hadoop环境变量配置

sudo vi /etc/profile
大数据学习之路_第79张图片
查看Hadoop版本 是否安装成功
大数据学习之路_第80张图片

案例1 统计dfs开头a-z出现的次数

1、在hadoop 的根目录创建一个文件夹
mkdir input
大数据学习之路_第81张图片
2、将etc/hadoop下的xml文件拷贝到上面创建的input文件中
cp etc/hadoop/*.xml input/
3、查看一下是否拷贝成功
大数据学习之路_第82张图片
4、执行计算
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input/ output 'dfs[a-z.]+'
5、查看结果
大数据学习之路_第83张图片
6、 注意事项 输出路径不能存在,否则出现IO异常

案例2 WordCount 统计个数

1、在Hadoop根目录创建一个文件夹 名字为 wcinput
mkdir wcinput
2、创建一个文件 名称随便定义
touch wc.input
3、编辑内容 ,随便编辑
vi wc.input
4、执行计算
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput/ wcoutput
5、查看结果
大数据学习之路_第84张图片

伪分布式运行模式

1、配置集群

1、配置core-site.xml


  fs.defaultFS
  hdfs://hadoop101:9000



    hadoop.tmp.dir
    /opt/module/hadoop-2.7.2/data/tmp
2、配置:hdfs-site.xml


    dfs.replication
    1

你可能感兴趣的:(数据挖掘,git,intellij-idea,windows,java)