首页 > TAG信息列表 > spark2
【Linux】生产环境服务器变慢,诊断思路和性能评估谈谈
一、生产环境服务器变慢,诊断思路和性能评估 1、在Linxu准备数据 (1)在Linux创建一个java循环类(方便测试),代码如下: package com.study.gc; public class javaDemo02 { public static void main(String[] args) { while (true) { System.out.println(new java.util.Randowaterdrop使用cdh的spark2提交任务
有的公司使用的是cdh集群,用waterdrop同步数据的时候会遇到spark版本太低,需要切换到spark2去。 特此记录一下切换过程以及遇到的问题。 更改waterdrop的bin目录下的start-waterdrop.sh文件,更改spark-submit为spark2-submit 更改waterdrop的config目录下的waterdrop-env.sh文件基于spark2的dataFrame和dataSet
文章目录dataFrame基于dataSet的wordCountdataFrame wordCountdataFramepackage sql2 import org.apache.avro.generic.GenericData.StringType import org.apache.spark.sql.types.{LongType, StructField, StructType} import org.apache.spark.sql.{Row, SparkSession,Spark2.x SparkCore WordCount Demo
版本 scala : 2.11 spark : 2.20 1、pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x重新编译Spark2.4.0 Parcels包
1、下载修改的parcel包 2、使用压缩工具打开parcel、替换需要的jar包,改案例中替换和新增的jar如下: httpclient-4.5.6.jar parquet-format-2.5.0.jar 3、根据文件内容生成hash certutil -hashfile C:\Users\15755\Desktop\parquet\SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012重新编译Spark2.4.0 Parcels包
1、下载修改的parcel包 2、使用压缩工具打开parcel、替换需要的jar包,改案例中替换和新增的jar如下: httpclient-4.5.6.jar parquet-format-2.5.0.jar 3、根据文件内容生成hash certutil -hashfile C:\Users\15755\Desktop\parquet\SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.104101Spark2.x精通:CacheManager源码深度剖析
一、概述 CacheManager主要发生在利用RDD的数据执行算子的时候,之前我们讲过在ShufffleWriter进行数据写时,会调用RDD对应的Iterator()方法,获取RDD对应的数据,CacheManager主要干三件事: a. 管理Spark的缓存,可以基于内存,也可以基于磁盘; b.底层是通过BlockManager进行Spark2.x优化:高性能序列化库Kryo使用及性能测试
1.什么是序列化 我们知道内存中的数据对象只有转化成二级制的流才可以进行数据的持久化和网络传输,序列化是将数据对象转换为字节序列的过程,而反序列化是指把字节序列恢复为数据对象的过程。 序列化需要保留充分的信息以恢复数据对象,但是为了节约存储空间和网Spark2.x精通:Executor端BlockManager源码剖析
一、概述 BlockManager是分布式块存储管理。核心机制是每个节点存储自己的内存空间和磁盘空间。BlockManagerMaster负责与其他节点的BlockManager通信并负责块在节点间的复制。BlockInfoManager负责管理块的元数据并提供读写锁的功能。当从本地的BlockManager获取不到块时,从Spark2.x精通:Checkpoint源码深度剖析
1.checkpoint功能是什么呢? 对于一个复杂的应用程序,可能中间会涉及到多个RDD的转换操作,计算过程中可能由于某些原因,导致中间关键的计算数据丢失,如果出现上述情况,而集群没有容错机制的话,后面的操作恰恰需要前面的RDD数据时,就需要重新计算一次,这时候就可以启用checkpoint机制,来实Spark2.x精通:BlockManagerMaster源码剖析
1.BlockManagerMaster创建 BlockManagerMaster要负责整个应用程序在运行期间block元数据的管理和维护,以及向从节点发送指令执行命令,它是在构造SparkEnv的时候创建的,Driver端是创建SparkContext的时候创建SparkEnv,SparkEnv中对应的初始化代码如下: val blockManagSpark2.x精通:BlockManager原理剖析
一、概述 之前的文章已经把Spark2.x的Mater启动、Worker启动注册、Driver启动、Executor启动、Task运行以及最重要的Shuffle原理部分都做了详细的剖析,整个流程中Task读写、Shuffle读写阶段都会涉及到BlockManager,那它是干啥的呢?其实BlockManager是Spark底层负责数据的读写和Spark2.x精通:ShuffleReader过程源码深度剖析
一、概述 之前我们写了几篇文章详细讲解了Spark Shuffle的Writer原理、技术演进历程及Spark2.x中三种Writer机制的具体实现,这里我们对Shuffler Read的源码进行深度剖析。 对于每个stage来说,它的上边界,要么从外部存储读取数据,要么读取parent stage的输出。而下边界要Spark2.x精通:源码剖析SortShuffleWriter具体实现
一、概述 接之前两篇ShuffleWrite文章,这里讲解Spark Shuffle Write的第三种实现SortShuffleWriter,在ShuffleWrite阶段,如果不满足UnsafeShuffleWriter、BypassMergeSortShuffleWriter两种条件,最后代码执行SortShuffleWriter,这里来看看他的具体实现:二、具体实现 这里Spark2.x精通:源码剖析UnsafeShuffleWriter具体实现
一、概述 接上篇文章:Spark2.x精通:源码剖析BypassMergeSortShuffleWriter具体实现,这里将Spark Shuffle的第二种实现UnsafeShuffleWriter,这里回顾下触发条件: 1).shuffle依赖不带有聚合(aggregation)操作 2).支持序列化值的重新定位,即使用KryoSerializer或者SpaSpark2.x精通:源码剖析BypassMergeSortShuffleWriter具体实现
一、概述 上篇文章:Spark2.x精通:三种ShuffleWriter触发条件,我们讲了ShuffleHandle如何选择不同的ShuffleWrite策略,这里我们从源码角度剖析BypassMergeSortShuffleWriter实现策略的原理和具体的实现细节。 BypassMergeSortShuffleWriter具体的实现都在对应类的write()Spark2.x精通:Shuffle演进历程及Shuffle两阶段划分
一、概述 上篇文章:Spark2.x精通:Shuffle原理及对应的Consolidation优化机制,讲解了Spark早期版本的Shuffle原理及其优化,文章结尾也已经提及Spark2.x中已经将Hash Shuffle废弃,我自己也去看了Spark2.2.0的源码,在Spark-env初始化中只保留了两种Shuffle:Sort、Tungsten-Sort,下面是Spark2.x精通:三种ShuffleWriter触发条件
一、概述 上篇文章:Spark2.x精通:Shuffle演进历程及Shuffle两阶段划分;我们在了解了Spark Shuffle的技术演进历程,Spark2.x已经彻底废弃了Hash机制的Shuffle, 只剩下基于Sort的Shuffle机制。我们可以在配置文件指定spark.shuffle.manager,如果没有指定默认就是sort,但是tungst【大数据】Linux 环境下创建 Hadoop 集群并完成设置
条件 采用64位Oracle Linux 6.4, JDK:1.8.0_131 64位, Hadoop:2.7.3。 Spark集群实验环境共包含3台服务器,每台机器的主要参数如 表所示: 服务器 HOSTNAME IP 功能 spark1 spark1 92.16.17.1 NN/DN/RM Master/Worker spark2 spark2 92.16.17.2 DN/NM/Worker spark3 sCDH5.13.3部署并升级Spark2.x
前言:网上也有很多关于CDH部署的相关文档,但由于基础环境的差异和软件安装方式的不同,其部署方式也大同小异,每篇文章都值得借鉴,但都不能完全照搬,只有自己亲自做了才知道所以然。建议在部署的时候遇到问题第一时间不是搜索而是先去看日志,提高自己解决问题的能力。 唯有实践才能spark2 sql原理分析--逻辑计划转换成物理计划的实现分析(SparkPlanner)
概述 本文介绍介绍SparkPlanner的实现原理。 SparkPlanner将优化后的逻辑执行计划转换为物理执行计划的计划器(Planner)。 SparkPlanner是一个具体的Catalyst Query Planner,它使用执行计划策略( execution planning strategies)将逻辑计划转换为一个或多个物理计划,并支持额Ambari HDP 下 SPARK2 与 Phoenix 整合
1、环境说明 操作系统 CentOS Linux release 7.4.1708 (Core) Ambari 2.6.x HDP 2.6.3.0 Spark 2.x Phoenix 4.10.0-HBase-1.2 2、条件 HBase 安装完成 Phoenix 已经启用,Ambari界面如下所示: Spark 2安装完成 3、Spark2 与 Phoenix整合 Phoenix 官网整合Ambari HDP 下 SPARK2 与 Phoenix 整合
1、环境说明 操作系统 CentOS Linux release 7.4.1708 (Core) Ambari 2.6.x HDP 2.6.3.0 Spark 2.x Phoenix 4.10.0-HBase-1.2 2、条件 HBase 安装完成 Phoenix 已经启用,Ambari界面如下所示: Spark 2安装完成 3、Spark2 与 Phoenix整合 Phoenix 官网整合教程: htspark2
分布式数据集 编辑 Spark围绕的核心概念,是弹性分布式数据集(RDD),一个有容错机制,可以被并行操作的集合。目前有两种类型的RDD: 并行集合(Parrallelized Collections),接收一个已经存在的Scala集合,在它上面运行各种并发计算; Hadoop数据集(Hadoop DataSets),在一个文件的每条记录上,ranger-hdfs 插件组权限测试
当hdfs文件对外是公开的则该其他用户就算没有配置相关的权限一样可以进行相关的操作。当hdfs文件对外权限是没有开放的,其他用户若需要进行相关操作则需要通过Ranger进行相关权限的配置。 首先 /input赋权 775 权限 下递归赋权750权限 让权限管理交给ranger 测试1 建hive1