自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (1)
  • 收藏
  • 关注

原创 记一次Spark中 Container killed by YARN for exceeding memory limits的解决过程

一、问题现象:使用sparksql调用get_json_object函数后,报如下错误:yarn容器被kill,导致任务失败,查看日志:Container killed by YARN for exceeding memory limits使用spark命令:/opt/software/spark-2.2.0-bin-hadoop2.6/bin/spark-sql \--mas...

2019-09-16 10:57:24 22046 7

原创 spark-submit提交报错: java.sql.SQLException: No suitable driver解决方法

一、问题出现背景:spark-submit提交程序运行时报错User class threw exception: java.sql.SQLException: No suitable driver,写入oracle代码如下:/*写入Oracle,采用追加模式*/dataFrame.write().format("jdbc") .option("url", "jdb...

2019-08-21 16:23:08 3323 1

转载 数据库脏读、事务的四大特性、四大隔离级别、三大范式

一、数据概念1、脏数据所指的就是未提交的数据。也就是说,一个事务正在对一条记录做修改,在这个事务完成并提交之前,这条数据是处于待定状态的(可能提交也可能回滚),这时,第二个事务来读取这条没有提交的数据,并据此做进一步的处理,就会产生未提交的数据依赖关系。这种现象被称为脏读。2、不可重复读(Non-Repeatable Reads):一个事务先后读取同一条记录,而事务在两次读取之间该数据被其...

2019-07-30 14:17:28 617

原创 CDH中所有主机平均负载含义

一、CDH主机列表中的平均负载中的三个数字如下图,分别表示1分钟、5分钟、15分钟的负载情况二、系统平均负载-基本解释先大致给一下这3个数字的含义:分别表示系统在过去1分钟、5分钟、15分钟内运行进程队列中的平均进程数量。在Linux shell下,有很多命令可以看到Load Average,例如:[email protected]:~# uptime12:49:10 up ...

2019-07-11 17:47:26 1288

转载 CMS之promotion failed&concurrent mode failure

CMS并行GC收集器是大多数JAVA服务应用的最佳选择,然而, CMS并不是完美的,在使用CMS的过程中会产生2个最让人头痛的问题:promotion failed该问题是在进行Minor GC时,Survivor Space放不下,对象只能放入老年代,而此时老年代也放不下造成的。(promotion failed时老年代CMS还没有机会进行回收,又放不下转移到老年代的对象,因此会出现下一...

2019-06-19 15:31:05 479

原创 kafka broker Leader -1引起spark Streaming不能消费的故障解决方法

一、问题描述:Kafka生产集群中有一台机器cdh-003由于物理故障原因挂掉了,并且系统起不来了,使得线上的spark Streaming实时任务不能正常消费,重启实时任务都不行。查看kafka topic状态,发现broker Leader出现-1的情况,如下图二、问题分析Kafka Broker Leader 为-1,表示有partition在选举Leader的时候失败...

2019-05-22 14:13:27 2409 2

原创 ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM的一种解决方案

问题现象:spark应用能正常计算得到结果,但是查看executor有很多是dead,如下图查看executorstderr日志发现有错误日志:ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM除此之外没有其他任何错误信息问题原因:由于使能动态资源分配executors数(spark.dy...

2019-05-08 11:11:57 31529 2

原创 Spark SQL合并小文件的一种方法

小文件问题原因:spark.sql.shuffle.partitions=200 sparksql默认shuffle分区是200个,如果数据量比较小时,写hdfs时会产生200个小文件。可通过如下调整,使其自适应的合并小文件(本人测试环境从原来的200个小文件合并成一个文件)解决方法:spark-sql> set spark.sql.adaptive.enabled=t...

2019-05-07 17:20:19 12705 6

原创 Hive on Spark 调优

hive on spark 性能远比hive on mr 要好,而且提供了一样的功能。用户的sql无需修改就可以直接运行于hive on spark。 udf函数也是全部支持。个人觉得还不错的一篇Hive on Spark 调优,做个记录原文见:https://mp.weixin.qq.com/s/ITwwTDkWVwToshjHQEp5Dg...

2019-04-09 09:36:03 1316

原创 Hive修改列名

修改字段名方法:ALTER TABLE 表名 CHANGE 旧字段 新字段 类型;举例:hive> desc jsontest;OKid string jj string hive...

2019-04-08 17:11:45 36444 1

转载 HiveServer2(Spark ThriftServer)自定义权限认证

Hive除了为我们提供一个 CLI 方式来查询数据之外,还给我们提供了基于 JDBC/ODBC 的方式来连接Hive,这就是HiveServer2(HiveServer)。但是默认情况下通过 JDBC 连接 HiveServer2 不需要任何的权限认证(hive.server2.authentication = NONE);这意味着任何知道 ThriftServer 地址的人都可以连接我们的...

2019-04-03 10:32:27 5645

原创 hue解决下载10万行的限制

一、问题描述:通过HUE impala/hive查询后,导出查询结果集最多只有10万行 二、问题原因:Hue默认配置原因,默认现在行数为10万行,列数为100列注意:应该以hue管理员账户登录,否则看不到配置 三、解决方案:修改hue所在机器的默认配置后,重启hue即可[root@cdh-001 ~]# find / -name beeswax     查找配置文件所在...

2019-01-07 11:17:35 5775 4

转载 某大型跨境电商JVM调优总结

转自:https://scholers.iteye.com/blog/2411414前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的运行情况,特别是jvm内存的情况,一直没有一个统一的标准来给到各个应用服务的owner。经过618大促之后,和运维的同学讨论了下,希望将线上服务器的jvm参数标准化,可以以一个统一的方式给到各个应用,提升线上服务器的稳定性,同时减少大...

2018-12-14 11:06:19 566 1

原创 记一个Spark Excutor Dead问题解决过程(memory.TaskMemoryManager: Failed to allocate a page)

一、问题现象通过Spark UI查看Excutors,发现存在Excutor Dead的情况  进一步查看dead Excutor stderr日志,发现如下报错信息WARN memory.TaskMemoryManager: Failed to allocate a page (67108864 bytes), try again 二、解决过程打开GC日志...

2018-12-10 17:43:01 10274

转载 GC调优三:GC调优工具

在进行JVM GC性能调优之前,需要使用某些工具获取到当前应用的状态信息。  可以利用JVM运行时的一些原始数据来观察当时的GC性能。并且基于这些原始数据也衍生出一些经过分析统计后得到的指标。在原始数据中包含以下内容:当前内存池的使用情况 当前内存池的容量 每次GC暂停的耗时 GC暂停的各阶段的耗时   基于这些内容分析统计得到的一些指标包括应用内存分配率,提升率等等。本章中...

2018-12-10 11:24:46 1956

转载 GC调优二:GC调优基本概念

一、核心概念  首先,我们来观察一条工厂的生产线,该生产线主要用于将自行车各个组件拼装成一辆完整的自行车。通过观察我们发现一辆自行车从车架上生产线开始装配,直到拼装成完整自行车后下线的整个耗时为4小时,如下图所示。            并且,我们还观察到这条生产线上每分钟就会有一辆组装好的自行车下线,该生产线每天24小时不间断运行。如果忽略掉例如生产线维护等时间成本,可以算出,该生产...

2018-12-10 11:20:43 717 1

转载 GC调优一:GC算法实现

转自:https://blog.csdn.net/dabokele/article/details/60601818 在了解了上一章中GC算法的基本概念之后,本章将深入到各GC算法的具体实现中。对大多数JVM来说,一般需要选择两种GC算法,一种用于回收新生代内存区,另一种用于回收老年代内存区域。  新生代和老年代GC算法的可能组合如下表所示,如果不指定的话,将会在新生代和老年代中选择默认的...

2018-12-10 11:15:29 1620

转载 Zookeeper命令介绍

ZooKeeper3.4.6支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 其中stat、srvr、cons三个命令比较类似:"stat"提供服务器统计和客户端连接的一般信息;"srvr"只有服务的统计信息,"cons"提供客户端连接的更加详细的...

2018-11-06 17:48:04 327

转载 Kafka参数unclean.leader.election.enable详解

如何提高Kafka可靠性是一个可以长篇大论的主题。很多初学者会简单的认为将客户端参数acks设置为-1即可保证Kafka的可靠性,显然这是很片面的观点。就可靠性本身而言,它并不是一个可以用“是”或者“否”来衡量的一个指标,而一般是用几个9来衡量。就参数方面而言,与Kafka可靠性相关的参数不止acks这一个,比如retries、replication.factor、min.insync.repli...

2018-11-05 16:19:41 1680

原创 记一次Kafka不能消费故障

背景:kafka集群机器升级,使得部分spark Streaming不能消费读取数据问题原因:kafka会自动创建一个默认的topic __consumer_offsets,用于保存offset到Kafka系统由于我们集群kafka节点有7个,当逐渐的下架上架机器后,使得__consumer_offsets  Partition 出现Leader为-1Kafka将直连Kaf...

2018-10-30 11:17:20 9613 1

原创 kafka-preferred-replica-election命令详解

一、kafka-preferred-replica-election使用背景在创建一个topic时,kafka尽量将partition均分在所有的brokers上,并且将replicas也均分在不同的broker上。每个partitiion的所有replicas叫做"assigned replicas","assigned replicas"中的第一个replicas叫"preferred...

2018-10-25 10:11:15 6977

原创 HBase滴滴最佳实践

详见原文:https://blog.csdn.net/imgxr/article/details/80130075

2018-10-24 09:09:31 278

原创 Kafka topic增加partitions

把topic分区数从1增加到3。 执行增加命令:kafka-topics --alter --topic zhuzh009 --zookeeper cdh-002/kafka --partitions 3注意该命令分区数partitions只能增加,不能减少 通过kafka-topics --describe --zookeeper cdh-002/kafka查看可知,新增...

2018-10-23 17:07:45 6802

原创 Kafka 数据迁移(增加节点和减少节点均适用)

当Kafka 减少Broker节点后,需要把数据分区迁移到其他节点上,以下将介绍我的一次迁移验证过程。前3步为环境准备,实际数据操作看第4步即可增加Broker节点,也可以采用步骤4相同的方法进行重新分区方案思想:使用kafka-reassign-partitions命令,把partition重新分配到指定的Broker上1、创建测试topic,具有3个分区,2个副本k...

2018-10-23 16:49:50 8820

原创 记一次访问Web服务偶尔不通问题解决过程

现象:我们部署的一个WEB服务,公司用户在访问过程中,时不时的遇到访问超时,访问失败等问题定位:通过抓包工具分析,发现client在发送TCP SYN包后,Server没有回复SYN+ACK报文问题原因:公司用户通过无线网络或者有线网络,均是NAT网络。开启tcp_tw_recycle对于服务端,同一个src ip,可能会是NAT后很多机器,这些机器timestamp递增性无可保证,服务器...

2018-10-16 10:17:49 1281

转载 JVM内存结构详解

主要内容如下:JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一、JVM启动流程:JVM启动时,是由java命令/javaw命令来启动的。二、JVM基本结构:JVM基本结构图:《深入理解Java虚拟机(第二版)》中的描述是下面这个样子的: Java中的内存分配:Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,就...

2018-09-28 11:10:19 239

原创 JVM 参数使用详解

JVM命令行参数主要有3类:1、标准参数(eg:-client),可通过java --help查看所有标准参数2、X参数,非标准参数(eg:-Xmxsize),可通过java -X查看所有标准参数3、XX参数,非稳定参数(eg:-XX:+AggressiveOpts)。参数使用说明:-XX:+option 启用选项-XX:-option 不启用选项-XX:option=numbe...

2018-09-28 10:28:28 326

转载 JVM监控工具详解

企业级应用开发中经常会遇到以下问题,可以使用工具对JVM进行监管,以便及时查找问题所在。  内存不足OutOfMemory(大对象没有gc等),内存泄露;  线程死锁,线程数过多;  锁争用(Lock Contention),资源未及时释放(数据库);  Java进程CPU消耗过高.一、Java自带工具  Java安装目录的bin文件加下有一些工具可以用来监控JVM性能,如jcon...

2018-09-27 14:32:03 516

转载 解决Spark OOM

spark任务在调试过程中,OOM是非常讨厌的一种情况。本文针对Heap OOM的情况先做一定分析,告诉大家如何调参。1.Heap OOM的现象如果在Spark UI或者在spark.log中看到如下日志:java.lang.OutOfMemoryError: GC overhead limit exceededjava.lang.OutOfMemoryError: java he...

2018-09-26 10:33:11 4148

转载 HDFS文件目录结构详解

HDFS metadata以树状结构存储整个HDFS上的文件和目录,以及相应的权限、配额和副本因子(replication factor)等。本文基于Hadoop2.6版本介绍HDFS Namenode本地目录的存储结构和Datanode数据块存储目录结构,也就是hdfs-site.xml中配置的dfs.namenode.name.dir和dfs.datanode.data.dir。 一、...

2018-09-26 10:15:02 6845

转载 Spark 堆外内存

转自:https://blog.csdn.net/bitcarmanlee/article/details/787938231.堆外内存有哪些前面提到spark中的堆内存溢出,除了堆内存,还有堆外内存。该部分内存主要用于程序的共享库、Perm Space、 线程Stack和一些Memory mapping等, 或者类C方式allocate object.堆外内存在Spark中可以从逻辑...

2018-09-26 09:29:18 4476

转载 Spark SQL详解

转自:https://mp.weixin.qq.com/s/SGhYBxGd5qCVfeM70DRFTw发家史熟悉spark sql的都知道,spark sql是从shark发展而来。Shark为了实现Hive兼容,在HQL方面重用了Hive中HQL的解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业(辅以内存列式存储等各种和Hive关...

2018-09-26 09:06:17 3636

原创 Linux查询内存或CPU占用最多的几个进程

一、可以使用以下命令查使用内存最多的10个进程方法1:ps -aux | sort -k4nr | head -10如果是最高的三个,10改为3即可命令解释: 1. ps:参数a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分。ps -aux的输出格式如下:USER PID %CPU %MEM V...

2018-09-19 14:16:57 16649

原创 Log4j 配置详细介绍

 Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。 1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderName1 , ...

2018-09-18 10:34:06 291

转载 HBase最佳实践之Region数量&大小

Region数量通常较少的region数量可使群集运行的更加平稳,官方指出每个RegionServer大约100个regions的时候效果最好,理由如下: HBase的一个特性MSLAB,它有助于防止堆内存的碎片化,减轻垃圾回收Full GC的问题,默认是开启的。但是每个MemStore需要2MB(一个列簇对应一个写缓存memstore)。所以如果每个region有2个family列簇,...

2018-09-18 08:41:31 21964

转载 爱奇艺实时计算实战

转自:http://bigdata.it168.com/a2018/0911/5030/000005030447.shtml【IT168 专稿】本文根据胡嘉伟老师在2018年5月12日【第九届中国数据库技术大会】现场演讲内容整理而成。  讲师简介:  胡嘉伟,爱奇艺高级工程师。2016年毕业于上海交通大学并加入爱奇艺分布式实时计算团队, 工作期间,作为核心开发人员, 开发实现了Babe...

2018-09-17 11:36:49 1557

原创 Spark Locality Level

分布式计算系统的精粹在于移动计算而非移动数据,但是在实际的计算过程中,总存在着移动数据的情况。移动数据,将数据从一个节点移动到另一个节点进行计算,不但消耗了网络IO,也消耗了磁盘IO,降低了整个计算的效率。Spark UI可以查看取数据情况 下面是Spark webUI监控Stage的一个图: PROCESS_LOCAL是指读取缓存在本地节点的数据 NODE_LOCAL是指读...

2018-09-14 09:56:45 1452

转载 Elasticsearch 完整版教程目录

非常好的干货,收藏了! 版权声明:本文为博主原创文章,未经博主允许不得转载。转载请务必加上原作者:铭毅天下,原文地址:blog.csdn.net/laoyang360 https://blog.csdn.net/wojiushiwo987/article/details/79293493人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需。Elasti...

2018-09-11 14:10:05 422

转载 JVM堆内存(heap)详解

很好的一篇文章,转载了http://blog.51cto.com/lizhenliang/2164876?wx=JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老...

2018-09-10 11:10:11 47573 7

原创 Spark SQL/DataFrame/DataSet操作(四)-----Join

数据准备,先构建两个DataFramescala> val df1 = spark.createDataset(Seq(("a", 1,2), ("b",2,3) )).toDF("k1","k2","k3")df1: org.apache.spark.sql.DataFrame = [k1: string, k2: int ... 1 more field]scala&g

2018-09-06 18:04:28 2371

Python2.6安装程序

Python安装程序,安装后可用!希望对大家有帮助

2011-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除