目录
一、大数据简介
1、什么是大数据?
大数据(big data),是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
2、大数据应用场景
例如:
1)精准营销。电销、客服。
2)智能推荐。淘宝推荐。
3)数据分析。淘宝今天热度最高的商品。
主要解决:
批量数据的收集,处理,展示。
- 海量数据的存储
- 海量数据的计算
3、大数据项目的基本架构
二、hadoop
1、hadoop简介
Apache™ Hadoop® 项目开发用于可靠、可扩展、分布式计算的开源软件。
Apache Hadoop 软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用层的故障,因此在计算机集群之上提供高可用性服务,每台计算机都可能容易出现故障。
分布式和集群的区别:
分布式指的是一个业务分拆多个子业务,部署在不同的服务器上。
集群指的是将几台服务器集中在一起,实现同一业务。
2、hadoop的主要模块
- hadoop1.x
HDFS 分布式文件系统,海量数据的存储。HDFS由一个NameNode和多个DateNode组成
Mapreduce 处理大数据集的框架,海量数据的处理(处理的是离线数据)。MapReduce由一个JobTracker和多个TaskTracker组成
- hadoop2.x
HDFS
YARN 资源调度框架。Mapreduce运行在yarn上面,yarn还可以处理其他的。
Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
3、hadoop的搭建
3.1 提前准备
VMware
linux centos7.x
linux系统的安装感兴趣的话可以查看博主的这篇文章:https://blog.csdn.net/qq_41699033/article/details/116985440
3.2 静态ip配置
参考此篇文章:https://blog.csdn.net/Ryxiong728/article/details/114882547
其中DNS的配置建议使用多DNS,配一个DNS2=223.5.5.5(此域名解析地址为阿里的)
为什么要配置静态ip:
使用静态ip就不用担心每次联网你自己局域网的ip发生改变,进而影响你搭建Hadoop集群。
3.2 配置jdk
参考博主的这篇文章:https://blog.csdn.net/qq_41699033/article/details/116985440
3.3 配置hadoop
- 上传压缩包
- 解压
- 配置环境变量
[root@qh001 hadoop-2.7.3]# vi /etc/profile
4.刷新环境变量
[root@qh001 hadoop-2.7.3]# source /etc/profile
4、hadoop单节点搭建
4.1 准备jdk hadoop环境
4.2 域名映射
这里做域名的映射的目的是为了之后的配置方便,并且修改ip后只用修改hosts文件即可。
[root@qh001 hadoop-2.7.3]# vi /etc/hosts
4.3 修改配置文件
配置文件的存放位置$HADOOP_HOME/etc/hadoop
- hadoop-env.sh
- core-site.xml
<configuration>
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://qh001:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/qh/hadoop/tmp</value>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- mapred-site.xml(需要改名字,原来是.template)
[root@qh001 hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@1h001 hadoop]# vi mapred-site.xml
<configuration>
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>qh001</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4.4 格式化namenode(第一次启动需要)
[root@qh001 hadoop]# hadoop namenode -format
4.5 启动
到hadoop的sbin目录下
- 启动hdfs
[root@qh001 sbin]# ./start-dfs.sh
- 启动yarn
[root@qh001 sbin]# ./start-yarn.sh
- 查看是否启动
[root@qh001 sbin]# jps
- 浏览器查看
http://192.168.2.3:50070 (HDFS管理界面)
http://192.168.2.3:8088 (YARN管理界面)