自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 SLF4J及MyBatis日志源码分析

slf4j与logbackslf4j是日志门面,通过它调用日志实现类logback为日志实现类通常用法Logger logger = LoggerFactory.getLogger(A.class);logger.info("msg");就从此为入口,进行源码分析// 根据名称从工厂获取日志实现类public static Logger getLogger(String name...

2019-09-25 23:22:05 537

原创 Leaf关键源码解析

表结构说明字段名称字段描述biz_tag业务标识max_id当前号段最大idstep当前号段步长description描述信息update_time号段更新时间缓存初始化logger.info("update cache from db");StopWatch sw = new Slf4JStopWatch();try { ...

2019-09-21 22:10:59 449

原创 otter数据同步

安装使用官网:https://github.com/alibaba/otter下载:https://github.com/alibaba/otter/releasesmanager安装:https://github.com/alibaba/otter/wiki/Manager_Quickstartnode安装:https://github.com/alibaba/otter/wiki/No...

2019-05-15 15:23:17 938

原创 MySQL循环删除历史数据

业务场景工作当中可能会遇到对实时采集的数据,进行每日统计,这些数据在统计完成之后,就不是很重要了。如果这些历史数据一直保存,将导致数据量剧增,影响统计效率,所以一般的做法是,周期性清除数据,只保留一段时间内的数据。解决方案基于MySQL分区表实现只保留近一周数据,循环删除一周前的数据,具体方案如下:1)表结构设计DROP TABLE IF EXISTS `test_region`;CR...

2019-03-02 13:50:17 3891

原创 类加载机制与探针技术

生命周期1)加载获取类的二进制字节流,并转换为方法区的运行时数据结构,内存中创建该类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。2)验证确保加载进来的字节流符合JVM规范,包括文件格式验证 、元数据验证、字节码验证、符号引用验证。3)准备为类变量在方法区分配内存,并设置初始值。public static int v = 8080; // 初始值为0,...

2019-03-01 23:28:38 249

原创 线程池原理

什么是线程池线程池是提前创建若干线程进行任务处理,线程处理完任务不会销毁,而是继续等待处理其他任务。使用场景针对处理数据巨大且执行时间短的任务,出于对性能的要求,如果频繁创建大量线程,将会导致以下问题:1)频繁创建、销毁线程,影响性能2)线程总数如果超过操作系统限制,将会导致死机或内存溢出异常因此针对这种场景,应该采用线程池,创建一定数量的线程,依次对任务进行处理。线程池种类1)固...

2019-02-27 21:51:34 75

原创 HashMap工作原理

简介HashMap是根据键的hashCode值来存储数据,HashMap允许key、value为NULL,非线程安全。数据结构HashMap是数组和链表的结合体,数组中每一个元素是Entry,Entry是包含键值对的链表,Entry源码如下:static class Entry<K,V> implements Map.Entry<K,V> { final K...

2019-02-26 21:28:32 77

原创 Java在线问题排除利器

BTraceBTrace在不影响目标程序运行的前提下,通过HotSpot虚拟机HotSwap技术动态插入调试代码,相关原理参考博文:https://victorzhzh.iteye.com/blog/965789官网:https://github.com/btraceio/btrace1)安装wget https://github.com/btraceio/btrace/releases/...

2019-02-24 16:35:34 151

原创 cron表达式

第一个字符是秒第二个字符是分第三个字符是小时第四个字符是天(月)(0~31,但是你需要考虑你月的天数)第五个字符是月第六个字符是天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)第七个字符是年(1970-2099)其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5...

2019-02-24 10:25:22 99

原创 MySQL日常操作

1)查看表死锁show processlist;select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx;找到死锁进程,KILL掉2)在线更新shcemasudo yum install http://www.percona.com/downloads...

2019-02-24 10:22:48 108

原创 mydumper导入导出

1、安装wget https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gzyum install -y gcc gcc-c++ glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel cmakecd mydumper-0.9.1cmake .make &am...

2019-02-24 10:10:40 362

原创 DataX数据同步

安装配置wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gztar -xvf datax.tar.gzvi ~/.bash_profileexport DATAX_HOME=/opt/app/dataxsource ~/.bash_profile同步脚本在$DATAX_HOME/job目录下,编...

2019-02-24 10:06:35 430

原创 GIT常用命令

Git 全局配置git config --global user.name 'xxx'git config --global user.email 'xxx'常用命令git clone http://github.com/***/*.git —— 克隆项目git add some-file —— 添加文件git commit -m 'Initial commit' ——...

2019-02-24 09:36:27 74

原创 Zookeeper安装配置

下载安装wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gztar -zxvf zookeeper-3.4.10.tar.gzmv zookeeper-3.4.10 /opt/app/zookeepermkdir -p /opt/data/zookeeper环境变量...

2019-02-24 09:29:29 55

原创 Redis安装配置

安装wget http://download.redis.io/releases/redis-4.0.10.tar.gztar xzf redis-4.0.10.tar.gzcd redis-4.0.10yum -y install gccmake MALLOC=libc && make install PREFIX=/opt/app/redismkdir -p /e...

2019-02-24 09:23:13 83

原创 Hadoop及Hbase安装介绍

Hadoop简介Hadoop是一个由Apache基金会所开发的分布式基础结构,主要包括HDFS和MapReduce两部分,HDFS是分布式文件系统,MapReduce是一个用于大数据计算的编程模型。从Hadoop 2.0开始,资源调度统一由Yarn进行管理,Yarn由ResourceManager和NodeManager两部分组成。Hadoop发行版本,主要有Apache发行版和第三方发行版本...

2019-02-23 19:59:44 1026

原创 Tomcat安装配置

JDK配置export JAVA_HOME=/opt/jdk8export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH生效配置:source /etc/profile验证是否安装成功:java –versoin修改$JAVA_HOME/jre/...

2019-02-23 18:30:04 82

原创 Kafka安装配置

Kafka安装使用Kafka简介下载安装启动服务消息主题Kafka集群Kafka读写外部数据Kafka简介Kafka消息由键、值、时间戳组成,同一类别的消息称为主题。主题会有多个订阅者,每个主题维护着一组分区日志,每个分区位于不同服务器上,每次只会向其中一个分区写入数据,并分配分区偏移量offset。Kafka消息会保存一段时间,不管是否被消费。消费者通过offset来读取对应的消息,每...

2019-02-23 18:21:31 93

原创 Flume安装配置

下载安装源码编译$ git clone https://git-wip-us.apache.org/repos/asf/flume.git flume$ cd flume$ git checkout trunkexport MAVEN_OPTS="-Xms512m -Xmx1024m-XX:PermSize=256m -XX:MaxPermSize=512m"mvn install...

2019-02-23 18:19:49 67

原创 基于Filebeat和kafka日志采集方案

整体方案日志文件以固定大小进行切割,使用filebeat监控日志目录,实时采集写入kafka中,并通过python kafka消费入库。 FilebeatFilebeat是本地文件的日志数据采集器,监听日志目录或特定文件,并将它们转发给ElastickSearch、Logstash、Kafka中。它由三个主要组件组成:Prospector负责检测指定日志目录或文件,并对检测到的每个日...

2019-02-23 17:30:47 1929

空空如也

空空如也

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

TA关注的人

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