自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(312)
  • 资源 (9)
  • 收藏
  • 关注

原创 log4j日志写入不同目录

包含所有日志 private static Logger logger = Logger.getLogger(xxx.class.getName());log4j.rootLogger=info,Alllog4j.appender.All=org.apache.log4j.ConsoleAppenderlog4j.appender.All.Target=System.outlog...

2018-12-13 09:58:01 827 1

原创 yarn 内存计算

Spark的Excutor的Container内存有两大部分组成: 堆外内存和Excutor内存  堆外内存(spark.yarn.executor.memoryOverhead)      主要用于JVM自身的开销。 默认: MAX(executorMemory * 0.10, 384m) Excutor内存(spark.executor.memory) Execution: ...

2018-08-09 15:41:34 1409

转载 Spark Shuffle 中 JVM 内存使用及配置内幕详情

引言Spark 从1.6.x 开始对 JVM 的内存使用作出了一种全新的改变,Spark 1.6.x 以前是基于静态固定的JVM内存使用架构和运行机制,如果你不知道 Spark 到底对 JVM 是怎么使用,你怎么可以很有信心地或者是完全确定地掌握和控制数据的缓存空间呢,所以掌握Spark对JVM的内存使用内幕是至关重要的。很多人对 Spark 的印象是:它是基于内存的,而且可以缓存一大堆数据,...

2018-08-09 14:41:29 451

转载 配置管理库typesafe.config

Typesafe的Config库,纯Java写成、零外部依赖、代码精简、功能灵活、API友好。支持Java properties、JSON、JSON超集格式HOCON以及环境变量。它也是Akka的配置管理库.纯java实现,无任何依赖 充分的测试 支持: Java properties, JSON, and a human-friendly JSON superset 可以合并各种格式的...

2018-07-31 16:52:56 751

转载 Spark Streaming优雅的关闭策略优化

我们可以有两种方式来更加优雅的停止流程序,分别是通过http暴露服务,和通过HDFS做消息中转来定时扫描mark文件是否存在来触发关闭服务。下面我们先来看下通过http暴露服务的核心代码:/**** * 负责启动守护的jetty服务 * @param port 对外暴露的端口号 * @param ssc Stream上下文 */ def daemonH...

2018-07-31 14:01:24 1099

转载 spark读kafka数据 hbase存储

 package spark88.utilsimport kafka.common.TopicAndPartitionimport kafka.message.MessageAndMetadataimport kafka.serializer.StringDecoderimport kafka.utils.ZkUtilsimport org.apache.hadoop.hbase...

2018-07-27 17:26:25 868

转载 spark 消费kafka 并发送 zookeeper存储

package kafka4.utilsimport kafka.common.TopicAndPartitionimport kafka.message.MessageAndMetadataimport kafka.serializer.StringDecoderimport org.apache.curator.framework.CuratorFrameworkFactoryi...

2018-07-27 16:57:11 875

转载 编解码器(自定义协议)

本blog主要介绍: 1. Codec 编解码器 2. Decoder 解码器 3. Encoder 编码器netty提供了强大的编解码器框架,使得我们编写自定义的编解码器很容易,也容易封装个重用。在网络应用中需要实现某种编解码器,将原始字节数据与自定义的消息对象进行互相转换。网络中都是以字节码的数据形式来传输数据的,服务器编码数据后发送到客户端,客户端需要对数据进行解码。编解码器由...

2018-07-26 16:05:18 1997

转载 NIO——(选择器)Selector

1. Selector简介选择器提供选择执行已经就绪的任务的能力.从底层来看,Selector提供了询问通道是否已经准备好执行每个I/O操作的能力。Selector 允许单线程处理多个Channel。仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道,这样会大量的减少线程之间上下文切换的开销。在开始之前,需要回顾一下Selec...

2018-07-26 11:47:04 1805

转载 NIO——(通道)Channel

Channel的分类广义上来说通道可以被分为两类:File I/O和Stream I/O,也就是文件通道和套接字通道。如果分的更细致一点则是:FileChannel 从文件读写数据 SocketChannel 通过TCP读写网络数据 ServerSocketChannel 可以监听新进来的TCP连接,并对每个链接创建对应的SocketChannel DatagramChannel 通...

2018-07-25 18:53:03 237

转载 NIO——缓冲区(Buffer)

缓冲区(Buffer)就是在内存中预留指定字节数的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区;在Java NIO中,缓冲区的作用也是用来临时存储数据,可以理解为是I/O操作中数据的中转站。缓冲区直接为通道(Channel)服务,写入数据到通道或从通道读取数据,这样的操利用缓冲区数据来传递就可以达到对数据高效处理的目的。在NIO中主要有八种缓冲区类(其中Ma...

2018-07-25 17:53:20 763

转载 Docker绑定固定IP/跨主机容器互访

 官网API:https://docs.docker-cn.com/reference/ 原文地址,转载请注明出处:http://blog.csdn.net/qq_34021712/article/details/75948566   ©王赛超前言之前使用pipework 分配静态ip是暂时的,重启之后就会失效,并且使用pipework绑定的ip 物理机,虚拟机,docker容器的...

2018-07-24 17:03:43 560 1

转载 Kafka生产者事务和幂等

1 生产者幂等性1.1 引入幂等性引入目的:生产者重复生产消息。生产者进行retry会产生重试时,会重复产生消息。有了幂等性之后,在进行retry重试时,只会生成一个消息。1.2 幂等性实现1.2.1 PID 和 Sequence Number为了实现Producer的幂等性,Kafka引入了Producer ID(即PID)和Sequence Number。PID。每个...

2018-07-24 10:45:46 24293

转载 记一次耗时毛刺排查

前段时间的某天,注意到一个服务的平均耗时出现了如下图的毛刺现象。 耗时毛刺 注意到毛刺出现极其规律,每30分钟出现一个毛刺。考虑到这种规律性,并结合服务的流量较小(20 QPS)推测,可能是某个定时请求的接口进行了耗时操作,由于流量较小放大了平均耗时,继而出现了毛刺。但排查主调调用的接口,并没有发现定时的调用,从而否定了这种可能性。排除服务外部的原因导致的毛刺,那么只剩下服务...

2018-07-23 17:00:23 3710 1

转载 jstack性能问题定位案例分析详解

在Java应用的性能测试中,很多性能问题可以通过观察线程堆栈来发现,Jstack是JVM自带dump线程堆栈的工具,很轻量易用,并且执行时不会对性能造成很大的影响。灵活的使用jstack可以发现很多隐秘的性能问题,是定位问题不可多得的好帮手。1什么是线程堆栈线程堆栈也称作线程调用堆栈。Java线程堆栈是虚拟机中线程(包括锁)状态的一个瞬间快照,即系统在某个时刻所有线程的运行状态,包括每...

2018-07-23 16:58:54 961

转载 Java8内存模型—永久代(PermGen)和元空间(Metaspace)

一、JVM 内存模型  根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。  1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛...

2018-07-20 16:45:26 189

转载 Eclipse MAT(Memory Analyzer Tool)使用

 MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象。JVM 能够记录下问题发生时系统的部分运行状态,并...

2018-07-19 15:41:30 179

转载 JVM参数设置、分析

 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不...

2018-07-19 15:34:37 137

转载 hive分区表增加字段新增字段值为空的bug

网上查了资料,提供了两种解决办法:1. 修改hive元数据SDS表的CD_ID字段,原因是修改表结构后,元数据库中的SDS中该表对应的CD_ID会改变,但是该表分区下面对应的CD_ID还是原来表的CD_ID2.删除当前分区重建这两个办法都不太适应,办法1修改元数据库风险大,办法2可能会导致数据丢失。老大给的任务是其他办法workaround。通过测试发现如下规律,先给出结论:...

2018-07-18 18:00:09 707

原创 oozie 在cdh下时区问题

修改oozie配置<property><name>oozie.processing.timezone</name><value>GMT+0800</value></property>hue 时间${coord:formatTime(coord:dateOffset(coord:nominalTi...

2018-07-18 17:48:44 410

原创 grpc 简单实例补充

消费mq配置  spring-rabbitmq-message.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins...

2018-07-18 17:27:31 510

原创 grpc 简单实例

pom文件 <properties> <java.version>1.8</java.version> <rabbitMQ.version>3.5.1</rabbitMQ.version> <spring.version>4.1.7.RELEASE</sprin...

2018-07-18 17:17:42 2612 1

转载 thrift 学习

mark

2018-04-02 22:53:57 115

转载 gradle 学习

makr

2018-04-02 22:51:28 117

转载 scala 控制台多行

:paste// Entering paste mode (ctrl-D to finish)if (true) print("that was true")else print("false")[Ctrl-D]

2018-03-27 18:52:53 2575

转载 Spirng中Mongodb中权限验证

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http:

2018-03-27 18:51:22 377

转载 jvm 类的加载

mark

2018-03-23 10:31:23 135

转载 docker 使用

安装  设置阿里源 :设备repos源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum makecacheyum list docker --showduplicates | sort -r安装yum install docker.x86_64启动serv...

2018-03-22 09:15:12 129

转载 spark 二次排序

方法1自定义keyclass SecordSortKey(val firstKey: Int, val secondKey: Int)extends Ordered[SecordSortKey] with Serializable{ override def compare(that: SecordSortKey):Int = { if(this.firstKey != tha...

2018-03-21 22:49:30 265

原创 Spirng中Mongodb中group实战

mongdb查询这个样子select uid1, deviceId, dateHour,avg from xxx where createTime >? group by uid1, deviceId, DateFormat("createTime","yyyy-MM-dd HH") as dateHour order by uid1, deviceId, dateHour limit ?...

2018-03-14 16:46:36 148 1

原创 Spirng中Mongodb中配置实战

pom.xml<java.version>1.8</java.version><rabbitMQ.version>3.5.1</rabbitMQ.version><spring.version>4.1.7.RELEASE</spring.version><mongodb.version>1.8.0.RELEA

2018-03-13 14:04:42 558

转载 Spirng中Mongodb中write-concern的解释

Spring在插入数据库时没有返回状态配置:write-concern获取异常<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mongo="http://www.springf...

2018-03-13 14:03:39 1458

转载 Java8之默认方法和静态接口方法

默认方法默认方法让我们能给我们的软件库的接口增加新的方法,并且能保证对使用这个接口的老版本代码的兼容性。下面通过一个简单的例子来深入理解下默认方法:1.一天,PM说我们的产品需要获取时间和日期。于是我们就写了一个设置和获取日期时间的接口类TimeClient。public interface TimeClient { void setTime(int hour, int minute, i...

2018-03-13 11:04:20 169

转载 Java8之方法引用

方法引用的形式方法引用的标准形式是:类名::方法名。(注意:只需要写方法名,不需要写括号)有以下四种形式的方法引用:类型 示例引用静态方法 ContainingClass::staticMethodName引用某个对象的实例方法containingObject::instanceMethodName引用某个类型的任意对象的实例方法ContainingType::methodName引用构造方法Cl...

2018-03-13 10:32:15 241

转载 kafka Replica Tool

Preferred Replica Leader Election Tool  有了Replication机制后,每个Partition可能有多个备份。某个Partition的Replica列表叫作AR(Assigned Replicas),AR中的第一个Replica即为“Preferred Replica”。创建一个新的Topic或者给已有Topic增加Partition时,Kafka保证Pr...

2018-03-03 23:37:35 334

转载 Curator之事件监听详解

监听方式一利用Watcher来对节点进行监听操作,但此监听操作只能监听一次,与原生API并无太大差异。如有典型业务场景需要使用可考虑,但一般情况不推荐使用。下面是具体的使用案例。package com.secbro.learn.curator;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.C...

2018-03-03 11:32:35 3253

转载 kafka读写API

Kafka Consumer API样例Properties props = new Properties();/* 定义kakfa 服务的地址,不需要将所有broker指定上 */props.put("bootstrap.servers", "localhost:9092");/* 制定consumer group */props.put("group.id", "test");/* ...

2018-03-02 22:20:49 1488

转载 Curator之Master/Leader选举

在实际生产中,特别是分布式系统中,我们经常遇到这样的场景:一个复杂的任务,近需要从分布式机器中选出一台机器来执行。诸如此类的问题,我们统称为“Master选举”。比如,在分布式系统中很常见的一个问题就是定时任务的执行。如果多台机器同时执行相同的定时任务,业务复杂则可能出现灾难性的后果。本篇博客就以定时任务为例来示例说明Curator的Master选举用法。原理利用zookeeper来实现Maste...

2018-02-28 22:18:29 253

转载 zk锁

一、分布式锁介绍        分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、架构介绍        在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图解释: 左边的整个区域表示一个Zookeeper集群,locker是Zookeeper的一个持久节点,node_1、node_2、node_3是locker这个持久节点...

2018-02-28 22:16:49 1338

转载 zk 实战

一,统一配置管理平台二,接口监控平台

2018-02-19 19:54:30 470

idea 使用快捷键.docx

idea 使用快捷键.docx

2016-01-22

CentOS_Ganglia安装.doc

亲测 安装成功 ,CentOS_Ganglia安装.doc,CentOS_Ganglia安装.doc

2016-01-22

matplotlib-1.4.0.win-amd64-py2.7.exe

matplotlib-1.4.0.win-amd64-py2.7.exe

2016-01-22

numpy-MKL-1.8.0.win-amd64-py2.7.exe

win7完美运行,win10出问题的话python path需要自己手配,而且要管理员权限运行

2016-01-22

KafkaOffsetMonitor-assembly-0.2.0

亲测可用哦 java -jar KafkaOffsetMonitor-assembly-0.2.0.jar \ com.quantifind.kafka.offsetapp.OffsetGetterWeb \ --zk xxx \ --port 8086 \ --refresh 10.seconds \ --retain 7.days &

2016-01-22

ext-2.2.zip

亲测可用 ext-2.2.zip,用于oozie安装的插件,

2016-01-22

storm实时代码

storm -kafka 存储到hbase中

2015-04-15

storm 代码

Storm Real-time Processing Cookbook

2014-08-09

空空如也

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

TA关注的人

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