BG03、HADOOP
大数据
大数据(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
Boss直聘网站上的部分大数据工程师薪水如下
Hadoop
1、什么是Hadoop
- 是apache的一套开源软件平台
- 利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
- 核心组件
- HDFS分布式文件系统
- yarn运算资源调度系统
- MapReduce分布式运算编程框架
- 通常指一个更广泛的概念—hadoop生态圈
2、企业级应用
- 存储层(HDFS,Hbase)
- 数据处理层(Hive MapReduce)
- 实时访问层(Spark)
3、Hadoop版本区别
4、HDFS架构
分布式存储系统,分布式的架构上存在主/从的架构关系,在HDFS文件系统上存在主节点以及从节点
主节点:namenode
存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、
文件权限),以及每个文件的块列表和块所在的DataNode等。
从节点:datanode
- 存储真正的数据
Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份
在HDFS中数据的存储是以块的方式进行存储的,block 默认块的大小为128M
5、yarn架构
Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器
分布式的架构,分为主从架构
- 主节点:resourceManager负责管理集群中的所有资源(cpu、内存,网络、IO)
- 从节点:nodeManager负责管理集群中每一台服务器的资源
- ApplicationMaster(AM):单个任务运行的老大
- Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
说明1:客户端可以有多个
说明2:集群上可以运行多个ApplicationMaster
说明3:每个NodeManager上可以有多个Container
6、MapReduce架构
核心思想:分而治之
- map端和reduce进行数据分析
- 数据在map阶段进行分开处理,处理完成之后交给reduce进行统计,在map和reduce中间的阶段通过shuffle来进行连接
7、HDFS**、YARN、**MapReduce 三者关系
8、大数据技术生态体系
图中涉及的技术名词解释如下:
- Sqoop: 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL)
间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进
到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。 - Flume: 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,
Flume 支持在日志系统中定制各类数据发送方,用于收集数据; - Kafka: 是一种高吞吐量的分布式发布订阅消息系统;
- Spark: 是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数 据进行计算。
- Flink: 是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。
- Oozi: 是一个管理 Hadoop 作业(job)的工作流程调度管理系统。
- Hbase: 是一个分布式的、面向列的开源数据库。HBase 不同于一般的关系数据库, 它是一个适合于非结构化数据存储的数据库。
- Hive: 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张 数据库表,并提供简单的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运 行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开 发专门的 MapReduce 应用,十分适合数据仓库的统计分析。
- ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、 名字服务、分布式同步、组服务等。
推荐系统架构图
9、搭建hadoop
搭建模板虚拟机,方便搭建集群时克隆
IP 地址 192.168.83.100、主机名称 hadoop100、内存 4G、硬盘 20G
克隆一台centos,关闭防火墙,关闭防火墙开机自启
systemctl stop firewalld
systemctl disable firewalld.service
注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙
在/opt目录下创建module、software文件夹
- soft用于存放jar包
- module存放解压后的jar包
修改主机名
vi /etc/hostname
#清空里面数据,添加
hadoop101
重启reboot,生效
克隆虚拟机
利用模板虚拟机,克隆三台虚拟机:hadoop101 hadoop102 hadoop103(克隆时,要先关闭 hadoop100)
虚拟机 | IP |
---|---|
hadoop100 | 192.168.83.100 |
hadoop101 | 192.168.83.101 |
hadoop102 | 192.168.83.102 |
hadoop103 | 192.168.83.103 |
克隆时,网络选择nat模式,内存4g,硬盘20G
修改克隆机 IP,以下以 hadoop101 举例说明
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #!!!!!
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=61bdc78c-b456-411d-810a-3d40d6b09dfd
DEVICE=ens33
ONBOOT=yes #!!!!!
IPADDR=192.168.83.101 #!!!!!
GATEWAY=192.168.83.2 #!!!!!
DNS1=192.168.83.2 #!!!!!
重启网络
service network restart
在修改hadoop102,相互ping同即可
修改其他机器
使用finalshell连接各虚拟机
修改主机映射
目的:以后我可以不输入ip地址,而输入主机名即可(例如ping)
以hadoop101为例
vi /etc/hosts
192.168.83.100 hadoop100
192.168.83.101 hadoop101
192.168.83.102 hadoop102
192.168.83.103 hadoop103
reboot
测试 ping hadoop103
ps:也可以修改本机映射,这样以后本机浏览器在访问虚拟机时,不用输入IP地址,直接输入名称即可
#mac电脑
vi /etc/hosts
windows
修改 windows 的主机映射文件(hosts 文件)
(1)如果操作系统是 window7,可以直接修改 (a)进入 C:\Windows\System32\drivers\etc 路径 (b)打开 hosts 文件并添加如下内容,然后保存
192.168.83.100 hadoop100
192.168.83.101 hadoop101
192.168.83.102 hadoop102
192.168.83.103 hadoop103
(2)如果操作系统是 window10,先拷贝出来,修改保存以后,再覆盖即可(a)进入 C:\Windows\System32\drivers\etc 路径(b)拷贝 hosts 文件到桌面(c)打开桌面 hosts 文件并添加如下内容
192.168.83.100 hadoop100
192.168.83.101 hadoop101
192.168.83.102 hadoop102
192.168.83.103 hadoop103(d)将桌面 hosts 文件覆盖 C:\Windows\System32\drivers\etc 路径 hosts 文件
在hadoop101上安装JDK
上传安装文件到software
解压文件到**/opt/module** 下面
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
配置环境变量:
vi /etc/profile
export JAVA_HOME=/opt/module/jdk1.8.0_144 export PATH=$PATH:$JAVA_HOME/bin
使配置生效
source /etc/profile
- 测试java -version
在hadoop101上安装Hadoop
Hadoop 下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
解压hadoop
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
配置环境变量
vi /etc/profile
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
- source /etc/profile
- 测试
#输入命令
hadoop version
hadoop目录结构
重要目录
(1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
(2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
(3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
(4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
(5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例
BG03、HADOOP相关推荐
- 快来领60 本书!涵盖 Linux、Spring Boot、Python、MongoDB、Hadoop等!免费包邮!
「清华大学出版社」联系了包括K8S中文社区在内的 6 家技术公众号,送出 60 本技术书.内容涉及 Linux .Spring Boot.大数据.Python.MongoDB.数据挖掘.Hadoop等 ...
- Ubuntu 12.10 安装JDK、Hadoop全过程
目睹这头大象是怎么跳的舞.以下是我在Ubuntu 12.10下面安装JDK以及Hadoop的整个过程. 说明:在最开始时,我在网上各处搜比较妥当的安装hadoop的方法,过程比较纠结:后来才发现直接在 ...
- 学习笔记Hadoop(九)—— Hadoop基础操作(1)—— Hadoop安全模式、Hadoop集群基本信息
一.Hadoop安全模式 在分布式文件HDFS系统启动的时候,会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束. 安全模式主要是为了系统启动 ...
- 学习笔记Hadoop(八)—— Hadoop集群的安装与部署(5)—— Hadoop配置参数介绍、Hadoop集群启动与监控
五.Hadoop配置参数介绍 Hadoop集群配置文件主要有: 它们的默认参数配置可以看: core-default.xml :https://hadoop.apache.org/docs/stabl ...
- zookeeper、hadoop、hbase单机伪分布式环境搭建(虚拟机vmware)
zookeeper单机多实例 其实就是跑多个zk服务,以zkServer1为例,配置如下:其中192.168.29.128为虚拟机ip 很重要 dataDir=/virgil/zooserver/se ...
- 数据分析师、大数据开发、Hadoop开发工程师、数据挖掘、算法工程师的工资薪水到底怎么样?
据最新发布的<大数据人才报告>显示,目前全国的大数据人才仅46万,未来3-5年内大数据人才的缺口将高达150万. 领英报告表明,数据分析人才的供给指数最低,仅为0.05,属于高度稀缺.数据 ...
- 【Hadoop基础教程】7、Hadoop之一对一关联查询
我们都知道一个产品唯一对应一个单价,本案例将通过两种类型输入文件:product类(产品)和price类(价格)进行一对一的关联查询,得到产品名(例如:手表)与产品价格(例如:$100)的关联信息. ...
- 02、Hadoop(入门)
这里写目录标题 02.Hadoop(入门) 第一章 Hadoop概述 **1.1 Hadoop 是什么** **1.2 Hadoop 发展历史(了解)** **1.3 Hadoop 三大发行版本(了解 ...
- spark(kryo)、hadoop(writable)、jdk(serializable)-序列化
一.SRC 一个类在jvm中是有结构的,但即使是在jvm中,也是一堆数据.网络只能传文本,所以需要序列化和反序列化. 通过几种方式的序列化后文本输出到本地文件,可以对比下大小. 二.jdk的序列化 将 ...
最新文章
- 【串讲总结】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM
- 快速排序实现以及时间复杂度分析
- Java虚拟机7:内存分配原则
- adapter pattern java_适配器模式(Adapter Pattern)
- qq安全保护进程更改计算机,分享win10电脑系统关闭qq安全防护进程的步骤
- java okhttp3 工具类,Retrofit+okhttp+Rxjava网络请求工具类
- hive的row_number()函数
- java四种内部类区别_浅谈Java中的四种内部类
- mysql 分区 mycat 分片_Mysql系列六:(Mycat分片路由原理、Mycat常用分片规则及对应源码介绍)...
- ANIMATION经典小车动画
- linux设置自动清除内存碎片
- 2023王道C语言训练营(线索二叉树)
- 数值分析实验四 最小二乘法曲线拟合
- 十行python代码定时给微信好友发送晚安,自动应答--python云舔狗
- 奥维互动地图自建服务器,免费开通奥维互动地图企业服务器
- 阿里云服务器怎么登陆
- vue 刷新、重新加载app
- java写接口给前端_看看人家那后端API接口写得,那叫一个优雅!
- 教程:从零开始 使用Python进行深度学习!
- 万事开头易的hello world!