- 博客(197)
- 资源 (1)
- 收藏
- 关注
转载 Azkaban-2.5及Plugins的安装配置
Azkaban是由LinkedIn开发的调度工具,可以用于调度Hadoop中的相互依赖的Job。有时候,在Hadoop集群中运行的Job是相互依赖的,某些任务需要顺序的执行,这种场景下使用Azkaban能够很好的解决问题。 Azkaban有三个重要的组件构成:关系型数据库(MySQL)AzkabanWebServerAzkabanExecutorServer 这三个组件的关系如下: ...
2018-04-20 20:41:01
680
转载 HBase在滴滴出行的应用场景和最佳实践
引用作者简介:李扬,滴滴出行资深软件开发工程师。2015年加入滴滴出行基础平台部,主要负责HBase和Phoenix以及相关分布式存储技术。在滴滴之前,曾在新浪担任数据工程师,专注于分布式计算和存储。 责编:郭芮(guorui@youkuaiyun.com),关注大数据领域。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》背景 对接业务类型 HBase是建立在Hadoop生...
2018-04-12 20:18:40
545
转载 使用累加器配合广播变量做码表动态更新
广播变量简单介绍广播变量是允许程序员缓存一个只读的变量在每个节点上,而不是每个任务保存一份拷贝。例如,利用广播变量,我们能够将配置、较小数据量的码表分发到每个节点上,以减少通信的成本。 一个广播变量可以通过调用SparkContext.broadcast(v)方法从一个初始变量v中创建。广播变量是v的一个包装变量,它的值可以通过value方法访问,下面的代码说明了这个过程:scala> va...
2018-04-03 14:04:24
601
转载 sparkstreaming日志切分配置
在Spark Standalone模式下,spark默认使用org/apache/spark/log4j-defaults.properties配置,所有的日志都记录在stderr里面,由于Spark Streaming应用程序是一直运行的,时间长了以后stderr文件会非常大,占用空间的同时难以让我们调试和定位问题,所以我们需要切分日志,spark原生提供了对Executor日志的切分,Driv...
2018-04-02 15:38:03
1391
转载 基于zookeeper实现分布式锁
转自:http://blog.youkuaiyun.com/sunfeizhi/article/details/51926396一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、架构介绍 在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图 解释...
2018-03-18 14:54:14
255
转载 Hbase万亿级存储性能优化总结
背景hbase主集群在生产环境已稳定运行有1年半时间,最大的单表region数已达7200多个,每天新增入库量就有百亿条,对hbase的认识经历了懵懂到熟的过程。为了应对业务数据的压力,hbase入库也由最初的单机多线程升级为有容灾机制的分布式入库,为及早发现集群中的问题,还开发了一套对hbase集群服务和应用全面监控的报警系统。总结下hbase化(针对0.94版本)方面的一些经验也算对这两年hb...
2018-03-18 00:06:59
551
转载 Linux中VMware虚拟机增加磁盘空间的扩容操作
用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装。如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置。通过上网搜集的资料,结合自己的实践,总结了如下扩大硬盘空间的详细步骤,希望对大家有帮助。(1)打开VMware,选择Edit Virtual mache settings,Utilities下拉框中找到Expand如下...
2018-03-17 15:38:27
477
转载 Spark算子选择策略
摘要 1.使用reduceByKey/aggregateByKey替代groupByKey 2.使用mapPartitions替代普通map 3.使用foreachPartitions替代foreach 4.使用filter之后进行coalesce操作 5.使用repartitionAndSortWithinPartitions替代repartition与sort类操作 6.使用br...
2018-03-14 21:50:13
289
转载 Spark Shuffle原理、Shuffle操作问题解决和参数调优
摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuffleManager 2 Shuffle操作问题解决 2.1 数据倾斜原理 2.2 数据倾斜问题发现与解决 2.3 数据倾斜解决方案 3 sp...
2018-03-14 14:51:58
773
转载 离线安装Cloudera Manager 5和CDH5(最新版5.12.0) 完全教程
关于CDH和Cloudera ManagerCDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务
2018-03-13 21:16:30
458
转载 linux系统离线安装mysql
本文主要介绍linux使用官方编译好的二进制包安装mysql。首先下载:mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz网址:https://dev.mysql.com/downloads/mysql/注意选择:Linux - Generic 表示Linux通用版本的mysql解压安装文件:[java] view plain copytar -zxvf mys...
2018-03-13 15:53:37
394
转载 Linux下彻底卸载mysql详解
一、使用以下命令查看当前安装mysql情况,查找以前是否装有mysql?1rpm -qa|grep -i mysql可以看到如下图的所示:显示之前安装了: MySQL-client-5.5.25a-1.rhel5 MySQL-server-5.5.25a-1.rhel52、停止mysql服务、删除之前安装的mysql删除命令:rpm -e –nodeps 包名?12rpm -ev ...
2018-03-13 15:11:37
239
转载 HiveSQL解析原理:包括SQL转化为MapReduce过程及MapReduce如何实现基本SQL操作
问题导读:1.什么是Hive?2.MapReduce框架实现SQL基本操作的原理是什么?3.Hive怎样实现SQL的词法和语法解析?Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了...
2018-03-11 19:17:33
558
转载 技巧:ArrayList删除元素时, 从尾部开始遍历,可大大提升执行效率
一.描述: 1. 工作中,常常遇到这样的要求: 将列表里符合(或不符合)某条件的元素删除, 如: 有列表list = [ "a", "b", "c", "d" ], 删除其中的"a", "b", "c" 2. 关键在于遍历: 建议从尾部开始, 取代常规的从头部开始 3. 有人会说 使用 LinkedList 更合适 -- 此处只考虑 Ar
2018-03-11 16:27:05
1647
1
转载 Hbase 热点(数据倾斜)问题解决方案---rowkey散列和预分区设计
Hbase的表会被划分为1....n个Region,被托管在RegionServer中。Region二个重要的属性:Startkey与EndKey表示这个Region维护的rowkey的范围,当我们要读写数据时,如果rowkey落在某个start-end key范围内,那么就会定位到目标region并且读写到相关的数据。 默认情况下,当我们通过hbaseAdmin指定TableDescrip...
2018-03-10 21:35:19
455
转载 Spark性能优化:shuffle调优
shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占
2018-02-05 11:33:21
201
转载 Spark性能优化:数据倾斜调优
前言 继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此
2018-02-05 11:32:57
244
转载 Spark性能优化:资源调优篇
在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪...
2018-02-05 11:31:59
259
转载 Spark性能优化:开发调优篇
1、前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据
2018-02-05 11:30:56
245
转载 Spark面对OOM问题的解决方法及优化总结
转载请保持完整性并注明来源链接: http://blog.youkuaiyun.com/yhb315279058/article/details/51035631 Spark中的OOM问题不外乎以下两种情况map执行中内存溢出shuffle后内存溢出 map执行中内存溢出代表了所有map类型的操作,包括:flatMap,filter,mapPatitions等。shuffle后内存溢出的shuff
2018-01-19 17:42:42
776
1
转载 SparkStreaming的log4j日志记录
博客前言为什么我们要写日志 基本上每个程序都要有日志记录的功能,日志的记录最重要的用处就是监控程序的运行状态和错误查找。如果程序没有写日志,那程序就像瞎子一样,瞎跑,你都不知道为什么数据不对,为什么程序报错,程序运行成功还是失败。在流式计算Sparkstreaming中,日志的记录是非常重要的;因为流式计算是需要7*24小时一直运行的,你不记日志你根本不知道程序运行成功还是错误(当
2017-11-07 18:38:32
1707
转载 Kafka踩坑 - Couldn't find leaders for Set
报错信息如下:查看kafka相关的主题信息:[java] view plain copy[root@slave10 bin]# kafka-topics --describe --zookeeper 10.2.20.39:2181,10.2.20.40:2181,10.2.20.41:2181 --topic h5MarkData Topic:h5MarkData PartitionCou...
2017-11-07 09:43:07
1017
转载 spark streaming从指定offset处消费Kafka数据
原文地址:http://blog.youkuaiyun.com/high2011/article/details/53706446 首先很感谢原文作者,看到这篇文章我少走了很多弯路,转载此文章是为了保留一份供复习用,请大家支持原作者,移步到上面的连接去看,谢谢一、情景:当Spark streaming程序意外退出时,数据仍然再往Kafka中
2017-10-29 14:56:45
3742
1
转载 Spark Streaming 'numRecords must not be negative'问题解决
问题描述笔者使用spark streaming读取Kakfa中的数据,做进一步处理,用到了KafkaUtil的createDirectStream()方法;该方法不会自动保存topic partition的offset到zk,需要在代码中编写提交逻辑,此处介绍了保存offset的方法。 当删除已经使用过的kafka topic,然后新建同名topic,使用该方式时出现了"numReco
2017-10-20 18:14:57
703
转载 彻底删除kafka的topic方法
1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录2、Kafka 删除topic的命令是:kafka/bin/kafka-topics.sh --delete --zookeeper Zookeeper地址 --topic 主题名称如果kafaka启动时加载的配置文件中server.p
2017-10-20 17:53:48
1049
转载 apache kafka系列之在zookeeper中存储结构
目录(?)[-]1topic注册信息2partition状态信息Broker注册信息4 Controller epoch 5 Controller注册信息6 Consumer注册信息7 Consumer owner8 Consumer offset1.topic注册信息/brokers/topics/[topic] :存储某个topi
2017-10-20 16:40:52
299
转载 spark接收kafka的数据运行spark程序节点的task数据倾斜
这是因为你的spark的slave节点和kafka的broker节点重合时,kafka的topic分区不均衡,没有分布在不同节点上,spark拉取数据就近原则,在那里拉取就在该节点计算,你可以建立多个分区均衡在各个节点上。导致这个原因是你的createDirectStream方法导致的,因为这个方法会自己映射你的kafka分区对应spark的分区,如果分区过少就会不均衡。原文:http
2017-10-20 16:36:58
309
转载 Spark Shuffle原理、Shuffle操作问题解决和参数调优
摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuffleManager 2 Shuffle操作问题解决 2.1 数据倾斜原理 2.2 数据倾斜问题发现与解决
2017-10-19 13:44:00
455
转载 spark submit参数调优
在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪
2017-10-19 11:40:05
266
转载 Spark任务提交jar包依赖解决方案
通常我们将spark任务编写后打包成jar包,使用spark-submit进行提交,因为spark是分布式任务,如果运行机器上没有对应的依赖jar文件就会报ClassNotFound的错误。 下面有三个解决方法:方法一:spark-submit –jars根据spark官网,在提交任务的时候指定–jars,用逗号分开。这样做的缺点是每次都要指定jar包,如果jar包少的话可以这
2017-10-01 17:47:16
1672
1
转载 Spark 实现 朴素贝叶斯(naiveBayes)
介绍 Byesian算法是统计学的分类方法,它是一种利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯分类算法可以与决策树和神经网络分类算法想媲美,该算法能运用到大型数据库中,且方法简单,分类准确率高,速度快,这个算法是从贝叶斯定理的基础上发展而来的,贝叶斯定理假设不同属性值之间是不相关联的。但是现实说中的很多时候,这种假设是不成立的,从而导致该算法的准确性会有所下降。
2017-09-14 11:54:57
784
转载 线程池的原理及实现
1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。 一个线程
2017-09-05 11:47:50
259
转载 RDD基本操作(下)
上一篇里我提到可以把RDD当作一个数组,这样我们在学习spark的API时候很多问题就能很好理解了。上篇文章里的API也都是基于RDD是数组的数据模型而进行操作的。 Spark是一个计算框架,是对mapreduce计算框架的改进,mapreduce计算框架是基于键值对也就是map的形式,之所以使用键值对是人们发现世界上大部分计算都可以使用map这样的简单计算模型进行计算。但是Spark里
2017-09-04 22:50:05
422
转载 RDD基本操作(上)
本文主要是讲解spark里RDD的基础操作。RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当作一个数组,这样的理解对我们学习RDD的API是非常有帮助的。本文所有示例代码都是使用scala语言编写的。 Spark里的计算都是操作RDD进行,那么学习RDD的第一个问题就是如何构建RD
2017-09-04 22:49:28
1190
转载 Spark 机器学习-实例演示- K-Means《二》
1.K-Means简介K-Means 是聚类的一个算法,是一个无监督学习,目标是将一部分实体根据某种意义上的相似度 和另一部分实体聚在一起。聚类通常被用于探索性的分析。 K-Means将n个观察实例分类到k个聚类中,以使得每个观察实例 距离它所在的聚类的中心点比其他的聚类中心点的距离更近。所 以它是一种基于距离的迭代式算法。 算法:1
2017-09-04 12:14:26
901
转载 Spark 机器学习《一》
1.机器学习(1)介绍机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中 改善具体算法的性能。 机器学习是对能通过经验自动改进的计算机算法的研究。机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。A computer program is said to learn from experience E with respect to
2017-09-04 10:37:21
314
转载 Elasticsearch 5.x 安装 Search Guard 5 插件
一、Search Guard 简介 Search Guard 是 Elasticsearch 的安全插件。它为后端系统(如LDAP或Kerberos)提供身份验证和授权,并向Elasticsearch添加审核日志记录和文档/字段级安全性。 Search Guard 所有基本安全功能都是免费的,并且内置在Search Guard中。 Search Guard 支持Op
2017-08-11 16:09:58
5368
转载 基于Spark平台的电影推荐系统实现
博主一年前写过一个这样的文章,电影推荐也是博主一年前就学习过的,温故而知新,重新拿出来好好重新研究一番。这时以前的文章链接:如何使用Spark ALS实现协同过滤http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=13620(出处: about云开发),基于spark0.9官网当时给的例子,与本文有有所不同,本文最后也有经过修改的相
2017-08-09 22:15:17
9352
转载 基于Spark Mllib,SparkSQL的电影推荐系统
本文测试的Spark版本是1.3.1本文将在Spark集群上搭建一个简单的小型的电影推荐系统,以为之后的完整项目做铺垫和知识积累整个系统的工作流程描述如下: 1.某电影网站拥有可观的电影资源和用户数,通过各个用户对各个电影的评分,汇总得到了海量的用户-电影-评分数据 2.我在一个电影网站上看了几部电影,并都为其做了评分操作(0-5分) 3.该电影网站的推荐系统根据我对那
2017-08-09 18:02:33
805
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人