大数据

大数据(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相关推荐

  1. 快来领60 本书!涵盖 Linux、Spring Boot、Python、MongoDB、Hadoop等!免费包邮!

    「清华大学出版社」联系了包括K8S中文社区在内的 6 家技术公众号,送出 60 本技术书.内容涉及 Linux .Spring Boot.大数据.Python.MongoDB.数据挖掘.Hadoop等 ...

  2. Ubuntu 12.10 安装JDK、Hadoop全过程

    目睹这头大象是怎么跳的舞.以下是我在Ubuntu 12.10下面安装JDK以及Hadoop的整个过程. 说明:在最开始时,我在网上各处搜比较妥当的安装hadoop的方法,过程比较纠结:后来才发现直接在 ...

  3. 学习笔记Hadoop(九)—— Hadoop基础操作(1)—— Hadoop安全模式、Hadoop集群基本信息

    一.Hadoop安全模式 在分布式文件HDFS系统启动的时候,会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束. 安全模式主要是为了系统启动 ...

  4. 学习笔记Hadoop(八)—— Hadoop集群的安装与部署(5)—— Hadoop配置参数介绍、Hadoop集群启动与监控

    五.Hadoop配置参数介绍 Hadoop集群配置文件主要有: 它们的默认参数配置可以看: core-default.xml :https://hadoop.apache.org/docs/stabl ...

  5. zookeeper、hadoop、hbase单机伪分布式环境搭建(虚拟机vmware)

    zookeeper单机多实例 其实就是跑多个zk服务,以zkServer1为例,配置如下:其中192.168.29.128为虚拟机ip 很重要 dataDir=/virgil/zooserver/se ...

  6. 数据分析师、大数据开发、Hadoop开发工程师、数据挖掘、算法工程师的工资薪水到底怎么样?

    据最新发布的<大数据人才报告>显示,目前全国的大数据人才仅46万,未来3-5年内大数据人才的缺口将高达150万. 领英报告表明,数据分析人才的供给指数最低,仅为0.05,属于高度稀缺.数据 ...

  7. 【Hadoop基础教程】7、Hadoop之一对一关联查询

    我们都知道一个产品唯一对应一个单价,本案例将通过两种类型输入文件:product类(产品)和price类(价格)进行一对一的关联查询,得到产品名(例如:手表)与产品价格(例如:$100)的关联信息. ...

  8. 02、Hadoop(入门)

    这里写目录标题 02.Hadoop(入门) 第一章 Hadoop概述 **1.1 Hadoop 是什么** **1.2 Hadoop 发展历史(了解)** **1.3 Hadoop 三大发行版本(了解 ...

  9. spark(kryo)、hadoop(writable)、jdk(serializable)-序列化

    一.SRC 一个类在jvm中是有结构的,但即使是在jvm中,也是一堆数据.网络只能传文本,所以需要序列化和反序列化. 通过几种方式的序列化后文本输出到本地文件,可以对比下大小. 二.jdk的序列化 将 ...

最新文章

  1. 【串讲总结】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM
  2. 快速排序实现以及时间复杂度分析
  3. Java虚拟机7:内存分配原则
  4. adapter pattern java_适配器模式(Adapter Pattern)
  5. qq安全保护进程更改计算机,分享win10电脑系统关闭qq安全防护进程的步骤
  6. java okhttp3 工具类,Retrofit+okhttp+Rxjava网络请求工具类
  7. hive的row_number()函数
  8. java四种内部类区别_浅谈Java中的四种内部类
  9. mysql 分区 mycat 分片_Mysql系列六:(Mycat分片路由原理、Mycat常用分片规则及对应源码介绍)...
  10. ANIMATION经典小车动画
  11. linux设置自动清除内存碎片
  12. 2023王道C语言训练营(线索二叉树)
  13. 数值分析实验四 最小二乘法曲线拟合
  14. 十行python代码定时给微信好友发送晚安,自动应答--python云舔狗
  15. 奥维互动地图自建服务器,免费开通奥维互动地图企业服务器
  16. 阿里云服务器怎么登陆
  17. vue 刷新、重新加载app
  18. java写接口给前端_看看人家那后端API接口写得,那叫一个优雅!
  19. 教程:从零开始 使用Python进行深度学习!
  20. 万事开头易的hello world!

热门文章

  1. 从聚美、蘑菇街、小红书看她经济的崛起、受挫、再爆发
  2. 对象序列化和反序列化
  3. 使用 Passenger +Apache扩展 Puppet,代替其Webrick的web框架
  4. 安全点 Safepoint
  5. 战舰v3|stm32f103 摄像头OV2640驱动程序
  6. SOHO外贸10种收款方式总结
  7. 20个热门少儿编程网站与应用【家长必读】
  8. 千兆光模块与交换机如何搭配使用?
  9. 云扩RPA助力中核财务数字化,迈入高质量发展新阶段
  10. Gradle for Android 系列:为什么 Gradle 这么火