HDFS

大数据篇:数据仓库案例

杀马特。学长 韩版系。学妹 提交于 2020-08-04 17:37:08
离线数据仓库 数据仓库(Data WareHouse)是为企业所有决策制定过程,提供所有系统数据支持的战略集合 通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制、成本、提高产品质量等 数据仓库,并不是数据最终目的地,而是为数据最终的目的地做好准备:清洗、转义、分类、重组、合并、拆分、统计等等 1 项目简介 1.1 项目需求 用户行为数据采集平台搭建 业务数据采集平台搭建 数据仓库维度建模 分析:用户、流量、会员、商品、销售、地区、活动等主题 采用即席查询工具,随时进行指标分析 对集群性能进行监控,发生异常需要报警 元数据管理 质量监控 1.2 技术选型 数据采集功能如何技术选型 采集框架名称 主要功能 Sqoop 大数据平台和关系型数据库的导入导出 Datax 大数据平台和关系型数据库的导入导出 flume 擅长日志数据的采集和解析 logstash 擅长日志数据的采集和解析 maxwell 常用作实时解析mysql的binlog数据 canal 常用作实时解析mysql的binlog数据 waterDrop 数据导入导出工具 消息中间件的技术选型 开源MQ 概述 RabbitMQ LShift 用Erlang实现,支持多协议,broker架构,重量级 ZeroMQ AMQP最初设计者iMatix公司实现,轻量消息内核,无broker设计。C++实现 Kafka

updateStateByKey和mapWithState比较

牧云@^-^@ 提交于 2020-08-04 16:43:44
什么是状态管理函数   Spark Streaming中状态管理函数包括updateStateByKey和mapWithState,都是用来统计全局key的状态的变化的。它们以DStream中的数据进行按key做reduce操作,然后对各个批次的数据进行累加,在有新的数据信息进入或更新时。能够让用户保持想要的不论什么状。 updateStateByKey   updateStateByKey会统计全局的key的状态,不管又没有数据输入,它会在每一个批次间隔返回之前的key的状态。updateStateByKey会对已存在的key进行state的状态更新,同时还会对每个新出现的key执行相同的更新函数操作。如果通过更新函数对state更新后返回来为none,此时刻key对应的state状态会被删除(state可以是任意类型的数据的结构)。 //[root@bda3 ~]# nc -lk 9999 object StatefulWordCountApp { def main(args: Array[String]) { StreamingExamples.setStreamingLogLevels() val sparkConf = new SparkConf() .setAppName("StatefulWordCountApp") .setMaster("local[2]")

深度剖析大数据平台的数据处理

独自空忆成欢 提交于 2020-08-04 12:19:55
无论是采集数据,还是存储数据,都不是大数据平台的最终目标。失去数据处理环节,即使珍贵如金矿一般的数据也不过是一堆废铁而已。数据处理是大数据产业的核心路径,然后再加上最后一公里的数据可视化,整个链条就算彻底走通了。 如下图所示,我们可以从业务、技术与编程模型三个不同的视角对数据处理进行归类: 业务角度的分类与具体的业务场景有关,但最终会制约技术的选型,尤其是数据存储的选型。例如,针对查询检索中的全文本搜索,ElasticSearch会是最佳的选择,而针对统计分析,则因为统计分析涉及到的运算,可能都是针对一列数据,例如针对销量进行求和运算,就是针对销量这一整列的数据,此时,选择列式存储结构可能更加适宜。 在技术角度的分类中,严格地讲,SQL方式并不能分为单独的一类,它其实可以看做是对API的封装,通过SQL这种DSL来包装具体的处理技术,从而降低数据处理脚本的迁移成本。毕竟,多数企业内部的数据处理系统,在进入大数据时代之前,大多以SQL形式来访问存储的数据。大体上,SQL是针对MapReduce的包装,例如Hive、Impala或者Spark SQL。 Streaming流处理可以实时地接收由上游源源不断传来的数据,然后以某个细小的时间窗口为单位对这个过程中的数据进行处理。消费的上游数据可以是通过网络传递过来的字节流、从HDFS读取的数据流,又或者是消息队列传来的消息流。通常

CentoOS6下搭建hadoop高可用平台——含多种错误解决方法

天涯浪子 提交于 2020-07-29 07:43:15
@Hadoop高可用搭建 前期搭建可以通过以下链接学习: 一、如何安装虚拟机与通过克隆在虚拟机里安装四台Linux系统及配置安装 二、伪分布式安装 你好! 本篇文章主要对完全分布式Hadoop集群环境的安装与配置步骤进行介绍。 本文章的特点是,操作详细,在实践过程中出现的错误进行分析,对常见问题进行了解决,希望可以帮到大家。 下面是需要的一些安装文件,需要者自取 [ 提取码:657t ] jdk安装包、Hadoop、xshell、xftp hostname idadderess node01 NameNode、Jps、JournalNode、DFSZKFailoverController node02 NameNode、Jps、JournalNode、DFSZKFailoverController、DataNode、QuorumPeerMain、NodeManager node03 Jps、JournalNode、DataNode、QuorumPeerMain、NodeManager、ResourceManager node04 Jps、DataNode、QuorumPeerMain、NodeManager、ResourceManager 1、前期准备 我们首先需要下载虚拟机,同时在虚拟机里面安装四台Linux。方便起见,可以选择先添加一台Linux,配置完成后进行克隆

基于DolphinScheduler提交spark yarn-cluster与yarn-client模式的致命区别

我的梦境 提交于 2020-07-28 20:14:40
一、组件版本 二、提交方式 三、运行原理 四、分析过程 五、致命区别 六、总结 一、组件版本 调度系统:DolphinScheduler1.2.1 spark版本:2.3.2 二、提交方式 spark在submit脚本里提交job的时候,经常会有这样的警告 Warning: Master yarn-cluster is deprecated since 2.0. Please use master "yarn" with specified deploy mode instead. 这是因为你用了yarn-cluster的方式: spark-submit \ --master yarn-cluster \ --executor-cores 2 \ --num-executors 3 \ --executor-memory 4g \ --driver-memory 1g \ test_spark.py 其实yarn-cluster与yarn-client分为两部分,分别对应spark内部的参数 master-deployMode ,不论你指定yarn-cluster还是yarn-client,master的值在源码里面都强制置为了 YARN ,在 org.apache.spark.deploy.SparkSubmit 类中源代码如下: val clusterManager : Int

Ambari和ClouderaManager对比

无人久伴 提交于 2020-07-28 11:28:14
  Ambari和ClouderaManager对比,1 、什么是CDH,Ambari?   Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。   Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。Ambari能够安装安全的(基于Kerberos)Hadoop集群,以此实现了对Hadoop 安全的支持,提供了基于角色的用户认证、授权和审计功能,并为用户管理集成了LDAP和Active Directory。 CDH简介    • Cloudera's Distribution, including Apache Hadoop   • 是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建   • 提供了Hadoop的核心     – 可扩展存储     – 分布式计算   • 基于Web的用户界面 CDH的优点     • 版本划分清晰   • 版本更新速度快   •

入门大数据---Hive计算引擎Tez简介和使用

我的未来我决定 提交于 2020-07-28 08:26:43
一、前言 Hive默认计算引擎时MR,为了提高计算速度,我们可以改为Tez引擎。至于为什么提高了计算速度,可以参考下图: 用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。 Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。 二、安装包准备 1)下载tez的依赖包: http://tez.apache.org 2)拷贝apache-tez-0.9.1-bin.tar.gz到hadoop102的/opt/module目录 [root@hadoop102 module]$ ls apache-tez-0.9.1-bin.tar.gz 3)解压缩apache-tez-0.9.1-bin.tar.gz [root@hadoop102 module]$ tar -zxvf apache-tez-0.9.1-bin.tar.gz 4)修改名称 [root@hadoop102 module]$ mv apache-tez-0.9.1-bin/ tez-0.9.1 三、在Hive中配置Tez 1)进入到Hive的配置目录:/opt/module/hive/conf [root@hadoop102 conf]$ pwd /opt/module

【HDFS篇14】HA高可用 --- Federation架构设

邮差的信 提交于 2020-07-28 06:34:23
心累的时候不妨停下来休息一下,好好收拾一下情绪在继续前进 Federation架构设计 1. NameNode架构的局限性 (1)Namespace(命名空间)的限制 ​ 由于NameNode在内存中存储所有的元数据(metadata),因此单个NameNode所能存储的对象(文件+块)数目受到NameNode所在 JVM的heap size的限制 。50G的heap能够存储20亿(200million)个对象,这20亿个对象支持4000个DataNode,12PB的存储(假设文件平均大小为40MB)。随着数据的飞速增长,存储的需求也随之增长。单个DataNode从4T增长到36T,集群的尺寸增长到8000个DataNode。存储的需求从12PB增长到大于100PB。 (2)隔离问题 由于HDFS仅有一个NameNode,无法隔离各个程序,因此HDFS上的一个实验程序就很有可能影响整个HDFS上运行的程序。 (3)性能的瓶颈 ​ 由于是单个NameNode的HDFS架构,因此整个HDFS文件系统的吞吐量受限于单个NameNode的吞吐量。 2.HDFS Federation架构设计 能不能有多个NameNode NameNode NameNode NameNode 元数据 元数据 元数据 Log machine 电商数据/话单数据 3.HDFS Federation应用思考

挨踢部落直播课堂第一期:起航2017——拥抱大数据

和自甴很熟 提交于 2020-07-28 06:22:44
1.大数据框架结构和全景概览; 2.企业大数据场景和不同数据源整合利用; 3.大数据学习与高薪求职; 一、大数据框架结构和全景概览 似乎一夜之间,大数据(Big Data)变成一个IT行业中最时髦的词汇。 大数据 首先,大数据并不是什么完完全全的新生事物,Google的搜索服务就是一个典型的大数据运用,根据每个用户的需求,Google实时从全球海量的数字资产(或数字垃圾)中快速找出最可能的答案,呈现给你,就是一个最典型的大数据服务。只不过过去这样规模的数据量处理和有商业价值的应用太少,在IT行业没有形成成型的概念。现在随着全球数字化、网络宽带化、互联网应用于各行各业,累积的数据量越来越大,越来越多企业、行业和国家发现,可以利用类似的技术更好地服务客户、发现新商业机会、扩大新市场以及提升效率,才逐步形成大数据这个概念。 理解大数据的两个例子: 1、 炒股。2011年好莱坞有部高智商电影《永无止境》,讲述一位落魄的作家库珀,服用了一种可以迅速提升智力的神奇蓝色药物,然后他将这种高智商用于炒股。那库珀是怎么炒股的呢?就是他能在短时间掌握无数公司资料和背景,也就是将世界上已经存在的海量数据(包括公司财报、电视新闻、近二三十年的报纸、互联网、小道消息等)挖掘出来,串联起来,甚至将Face Book、Twitter的海量社交数据挖掘出来,得到普通大众对某种股票的感情倾向,通过海量信息的挖掘

Kafka connector to hdfs: java.io.FileNotFoundException: File does not exist

爷,独闯天下 提交于 2020-07-28 04:57:45
问题 Everything was installed via ambari, HDP. I've ingested a sample file to kafka. The topic is testjson . Data ingested from csv file in filebeat. topics successfully ingested into kafka. /bin/kafka-topics.sh --list --zookeeper localhost:2181 result: test test060920 test1 test12 testjson From kafka i would like to ingest testjson to hdfs. quickstart-hdfs.properties name=hdfs-sink connector.class=io.confluent.connect.hdfs3.Hdfs3SinkConnector tasks.max=1 topics=testjson hdfs.url=hdfs://x.x.x.x