海盗的小菜园

专注云计算、大数据运维领域

mysql8定位被锁语句

线上mysql版本为8.0.11,对于最近的几个版本越来越像Orale了,有了较为丰富的系统字典,也可以查看系统的等待事件,现在线上出现被锁语句的情况也可以通过数据字典直接查询出来了,在此记录下以供参考。 首先查看系统锁情况,下面这条语句可以看到持有锁的线程以及线程ID,这里需要注意下,sess...

2019-01-28 14:42:16

阅读数 262

评论数 0

JVM高CPU定位脚本

#!/bin/ksh typeset top=10 typeset pid=$1 typeset tmp_file=/tmp/java_${pid}_$$.trace $JAVA_HOME/bin/jstack $pid > $tmp_file ps H -eo user,pid,ppi...

2017-11-30 23:07:07

阅读数 131

评论数 0

spark shuffle过程分析

shuffle是作业执行过程中的一个重要阶段,对作业性能有很大影响,不管是对hadoop还是spark,shuffle都是一个核心环节,spark的shuffle和hadoop的shuffle的原理大致相同,shuffle发生在ShuffleMapTask中,在一个task处理partition数...

2015-11-19 15:21:22

阅读数 722

评论数 0

spark task启动

woker接受到LaunchTask消息后会启动task,以local模式为例,代码如下。task是由executor来启动的 override def receiveWithLogging = { case ReviveOffers => reviveOffers() ...

2015-11-19 14:39:31

阅读数 517

评论数 0

spark shuffle内存申请策略

在一个executor中可以并行执行多个task,这些task都可能发生shuffle,每个task看作一个线程,这些线程公用一个内存池,这时就涉及到内存的使用策略了,申请过多会导致其他task spill内存不足,过少又会影响自身效率,spark中对这块的内存管理位于ShuffleMemoryM...

2015-11-16 19:45:26

阅读数 961

评论数 0

Spark TaskSet提交及执行准备

一个stage是由一组相同运算的task组成,他们分别计算不同的partition,stage的提交实际是向调度器提交一组包含相同计算的task,这里调度器的名字是TaskScheduler,其调度单位是taskset,stage在提交是使用了递归算法,会先提交没有parent stage的sta...

2015-11-11 19:31:36

阅读数 1605

评论数 0

Spark stage切分和提交

      客户端构建好RDD的DAG以后,会提交至DAGScheduler来处理,这是一个Stage级别的调度器,他首先会把作业切分为一个个Stage,每个Stage由一组相同运算的tasks组成,然后会以taskset的形式提交给TaskScheduler。DS还会跟踪stage的输出与物化...

2015-11-10 19:15:21

阅读数 1506

评论数 0

Spark中RDD DAG图的建立

RDD是spark计算的核心,是分布式数据元素的集合,具有不可变、可分区、可被并行操作的特性,基础的RDD类包含了常用的操作,如果需要特殊操作可以继承RDD基类进行自己的扩展,基础预算包括map、filter、reduce等。   RDD包含5个主要特性:partition、针对split的算子、...

2015-11-05 17:48:58

阅读数 4230

评论数 0

隧道打通自动化脚本

平时我们可能有打通网络的需求,也就是建立隧道,比如两个建立两个只有内网IP机器的直连。openssh给我们提供了这个功能,但有时隧道可能不稳定,超时、网络波动等情况,这时就需要重新建立连接,而且每次要输入密码,比较麻烦,下面这个脚本可以让你高枕无忧了,把下面这个脚本丢入crontab中,每一个小时...

2015-03-30 14:53:23

阅读数 820

评论数 0

JStorm之Woker启动流程

我们知道,在Jstorm中具体任务执行是由Woker来完成的,Woker的启动是由Supervisor组件负责,下面就介绍一个Woker的启动流程。 Sueprvisor在启动后会启动一个检测任务分配的线程,该线程周期性的到Zookeeper中查询任务分配的情况,一旦有新的任务到来,就会把自己负...

2015-03-25 18:51:15

阅读数 3649

评论数 0

JStorm之Topology调度

topology在服务端提交过程中,会经过一系列的验证和初始化:TP结构校验、创建本地目录并拷贝序列化文件jar包、生成znode用于存放TP和task等信息,最后一步才进行任务分配,如下图: 提交主函数位于ServiceHandler.java中 private void makeAss...

2015-03-16 19:10:23

阅读数 1722

评论数 0

maven安装本地jar包

在日常开发中我们经常使用maven,但仓库中有时并未包含我们使用的jar文件,比如oracle的jdbc驱动,这时就需要我们手工安装才能正常进行开发,在此记录下这个简单过程: 1、首先要有一个oracle的jdbc驱动jar包 2、使用maven命令行安装该jar包,命令如下: 3、在pom文件中...

2015-03-12 22:15:52

阅读数 896

评论数 0

JStorm之Topology提交服务端

topology提交前会先判断集群中是否存在同名作业,如果存在在提交失败,如果没有则会增加集群提交次数SubmittedCount,每次提交成功,该变量都会加1,然后会为该作业分配一个id,生成规则如下: public static String TopologyNameToId(String t...

2015-01-16 19:25:43

阅读数 2113

评论数 0

JStorm之Topology提交客户端

一个topology包含一或多个spout bolt,spout负责在数据源获得数据并发送给bolt,每个bolt负责做完处理后发给下一个bolt。通常topology的创建是由TopologyBuilder来创建的,该组件会记录包含哪些spout bolt,并做相应验证:各组件是否有id冲突,校...

2015-01-16 15:30:03

阅读数 1364

评论数 0

JStorm之Supervisor启动流程

Supervisor中文翻译是监督者,意思简单明了,就是对资源进行监控,其实主要是woker资源。该组件所做的事情概括如下:     1、每隔一段时间发送心跳证明自己还活着     2、下载新的topology     3、释放无效的woker     4、分配新的任务   该组件主要包含:心跳线...

2015-01-14 16:18:13

阅读数 3486

评论数 0

JStorm之NimbusServer启动流程

NimbusServer相当于hadoop里的JobTracker或yarn里的ResourceManager,在集群中属于首脑地位,负责分发任务,监控集群状态,与supervisor的通信主要通过Zookeeper。nimbus在启动过程中会做以下工作,以保证集群稳定运行: 1、清理无效topo...

2015-01-13 15:26:57

阅读数 2207

评论数 0

Docker命令速记

1、启动容器并映射宿主机到容器端口 docker run -p 127.0.0.1:20001:22 -ti centos /bin/bash 2、daemon方式启动容器 docker run -d -p 127.0.0.1:5000:22 -ti centos /bin/bas...

2015-01-09 15:44:23

阅读数 1015

评论数 0

AUFS使用实例

AUFS使用实例   什么是AUFS,简单说就是一个文件系统,可以把不同的目录联合在一起。这种文件系统不用格式化,直接挂载即可。之所以有这篇博文,是因为Docker中要使用它。在Ubuntu 12.0.4下安装比较简单,其他系统需自己研究。直接apt-get install就可以了,安装后如下: ...

2014-12-19 17:43:04

阅读数 4784

评论数 0

Hadoop2.x Yarn作业提交(服务端)

RM接收到客户端作业提交请求时会通过RPC server做回应,其实客户端就是通过ApplicationClientProtocol的RPC客户端提交作业的,客户端的提交流程参见上篇文章,在提交阶段的代码中,首先会调用getNewApplication来获得一个GetNewApplicationR...

2014-03-27 14:41:23

阅读数 2587

评论数 0

Hadoop2.x Yarn作业提交(客户端)

YARN作业提交的客户端仍然使用RunJar类,和MR1一样,可参考  http://blog.csdn.net/lihm0_1/article/details/13629375 在1.x中是向JobTracker提交,而在2.x中换成了ResourceManager,客户端的代理对象也有所变动,...

2014-03-26 16:16:05

阅读数 5707

评论数 1

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