- 博客(207)
- 收藏
- 关注
原创 mysql死锁
https://www.cnblogs.com/tartis/p/9366574.html线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题...
2019-10-16 18:01:35
213
原创 MySQL 中的共享锁、排他锁与意向锁
共享锁(Share Lock)共享锁又称读锁,简称 S 锁:一个事务获取了一个数据行的共享锁,其他事务能获得该行对应的共享锁,但不能获得排他锁,即一个事务在读取一个数据行的时候,其他事务可以并发读取数据,但不能对该数据行进行增删改,直到已释放所有共享锁如果事务 T 对数据 A 加上共享锁后,则其他事务只能对 A 再加共享锁,不能加排他锁。获取共享锁的事务只能读数据,不能修改数据在查询语...
2019-10-16 16:43:49
432
原创 ReentrantLock实现原理
ReentrantLock主要利用CAS+CLH队列来实现。它支持公平锁和非公平锁,两者的实现类似。ReentrantLock的基本实现可以概括为:先通过CAS尝试获取锁。如果此时已经有线程占据了锁,那就加入CLH队列并且被挂起。当锁被释放之后,排在CLH队列队首的线程会被唤醒,然后CAS再次尝试获取锁。在这个时候,如果:非公平锁:如果同时还有另一个线程进来尝试获取,那么有可能会让这...
2019-10-14 10:34:18
276
原创 docker发布微服务
======================服务发布步骤=============================================以发布ms_center服务为例子1. 准备jar包2. 创建文件夹mkdir /opt/dockerfile/center3. cd到刚创建的目录cd /opt/dockerfile/center3. 复制jar包cp /opt/sc...
2019-09-12 10:53:47
142
转载 如何避免Docker容器启动脚本运行后自动退出
近期想做一个cron定时任务的docker,在Dockerfile中做如下定义FROM library/alpine:latestRUN apk --update add rsync openssh bashVOLUME ["/data"]ADD start.sh /CMD ["/bin/bash","/start.sh"]在start.sh中用crontab 加载定时任务run....
2019-09-12 09:19:33
1967
转载 mysql b树
首先,正确的创建合适的索引,是提升数据库查询性能的基础。索引是什么?索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。索引的工作机制是怎样的?如上图中,如果现在有一条sql语句 select * from teacher where id = 101,如果没有索引的条件下,我们要找到这条记录,我们就需要就行全表扫描,匹配id = 101的数据。如果有了索引,我们就可...
2019-06-08 15:28:26
281
转载 https 公钥 私钥 证书 签名
转载我看到的内容,然后加上自己的想法:先粗略解释一下:一、公钥加密假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的...
2019-05-23 10:38:28
756
转载 即时通信RabbitMQ二-性能测试
性能测试<p>测试环境:<br />单机部署RabbitMQ<br />CentOS6.4操作系统,4核CPU,8G内存<br />测试中,Exchange、channel均声明为持久化。<br />测试脚本已上传github:https://github.com/MrKiven/rabbitmq-performance-te...
2019-05-22 14:09:52
373
转载 第二篇:数据仓库与数据集市建模
阅读目录前言 维度建模的基本概念 维度建模的三种模式 实例:零售公司销售主题的维度建模 更多可能的事实属性 经典星座模型 缓慢变化维度问题 数据仓库建模体系之规范化数据仓库 数据仓库建模体系之维度建模数据仓库 数据仓库建模体系之独立数据集市 三种数据仓库建模体系对比 小结回到顶部前言 数据仓库建模包含了几种数据建模技术,除了之前在数据库系列中介绍过...
2019-01-06 21:37:29
386
3
转载 一套海量在线用户的移动端IM架构设计实践分享(含详细图文)
摘要: https://mp.weixin.qq.com/s?__biz=MzI1ODY0NjAwMA==&mid=2247483756&idx=1&sn=a8e3303bc573b1acaf9ef3862ef89bdd&chksm=ea044bf3dd73c2e5dcf2c10202c66d6143ec866205e9230f974fbc0b0be58792669...
2018-12-02 22:14:43
732
转载 Netty(三) 什么是 TCP 拆、粘包?如何解决?
2018.08.09 22:55 160浏览image前言记得前段时间我们生产上的一个网关出现了故障。这个网关逻辑非常简单,就是接收客户端的请求然后解析报文最后发送短信。但这个请求并不是常见的 HTTP ,而是利用 Netty 自定义的协议。有个前提是:网关是需要读取一段完整的报文才能进行后面的逻辑。问题是有天突然发现网关解析报文出错,查看了客户端的发送日...
2018-11-24 21:47:40
147
转载 Linux下安装xrdp windows远程linux桌面
Linux下安装xrdpubuntu打开终端,依次输入如下命令:sudo apt-get install xrdpsudo apt-get install vnc4server tightvncservercd /home/youruser #youruser 是每个人自己的用户名echo "gnome-session --session=ubuntu-2d" > ....
2018-07-24 14:38:07
977
转载 通过dockerfile 创建镜像以及更新镜像
制作Docker镜像1 安装 DockerDocker 要求CentOS 系统的内核版本高于 3.10 。#查看当前系统的版本uname -r #安装 Docker 软件包和依赖包yum -y install docker 安装完成 #从远程仓库拉取 centos:7 镜像docker pull centos:7 #查看本地镜像docker images docker: Docker...
2018-06-26 17:21:01
1555
转载 Xml命名空间浅析
XML实例在介绍xml命名空间之前,我们先来看段xml代码:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x...
2018-06-19 16:54:06
721
1
转载 springboot + profile(不同环境读取不同配置)
具体做法:不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中;prod环境下的配置配置在application-prod.properties中。在application.properties中指定使用哪一个文件1、application-dev.properties(dev环境下的配置)[plain] view plain cop...
2018-06-08 16:13:08
487
转载 KETTLE集群搭建
说明:本文档基于kettle5.4 一、集群的原理与优缺点1.1集群的原理 Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-slave结构,不同的是’master’处理具体任务,只负责任务的分发和收集运行结果。Master carte结点收到请求后,把任务分成多个部分交给slave carte执行,slave执行完毕后把结果交给mat...
2018-04-25 11:07:00
501
原创 flume源码分析3--组件的启动
接上面,当获取到最新的配置文件后,触发监听方法重启组件:@Subscribepublic synchronized void handleConfigurationEvent(MaterializedConfiguration conf) { stopAllComponents(); startAllComponents(conf);}下面看startAllComponents方法:p...
2018-04-10 11:23:22
223
原创 flume源码分析2--配置文件的加载
上面提到Application启动的时候,PollingPropertiesFileConfigurationProvider作为唯一的LifecycleAware类型的组件被交给监护者LifecycleSupervisor去监护,在监护方法里面,会启动一个定时调度线程去维护PollingPropertiesFileConfigurationProvider的状态,比如PollingPropert...
2018-04-09 10:59:02
650
原创 flume源码分析1--启动
Flume的程序入口是org.apache.flume.node.Application#main进入后会先进行命令行参数的解析及核对,使用的组件是org.apache.commons.cli。还是很好用的。会从参数中获取isZkConfigured及reload两个参数,isZkConfigured是指是否使用zookeeper来存储flume任务的配置,reload是指当flume作业的配置改...
2018-04-04 14:57:46
402
转载 机器学习笔记1—泰勒展开式和牛顿法
写在前面:自学机器学习的菜鸟一枚,希望通过记录博客的形式来记录自己一点点的进步~ 下面都是学习过程中自己的一些思考和学习,希望大神们批评指正。1.1 泰勒展开式1.1.1泰勒展开式入门首先,百度了一波,搜到了一个泰勒展开式入门的短短6分钟的视频,好像突然感受到了一点点数学的美。还有发现其实真的没有必要死记公式啊。泰勒展开式的入门浓浓的台湾腔调啊。泰勒公式的表达式:就是下面这个看起来很复杂的公式。 ...
2018-03-29 16:59:55
6012
转载 框架开发之Java注解的妙用
注解的好处:1.能够读懂别人写的代码,特别是框架相关的代码。2.本来可能需要很多配置文件,需要很多逻辑才能实现的内容,就可以使用一个或者多个注解来替代,这样就使得编程更加简洁,代码更加清晰。3.(重点)刮目相看。(但是怎么样才能让别人刮目相看呢?会用注解不是目的,最重要的是要使用自定义注解来解决问题。)举个栗子:如果面试的时候,你跟老板说你会使用注解,老板觉得你这个人还行;但是如果老板发现你会自定...
2018-03-16 09:47:28
155
转载 五分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。那么属性/方法...
2018-03-15 13:25:06
136
转载 ansible 基本概念,ad-hoc操作
概述本文描述自动化运维工具 Ansible 的安装及基础使用方法,包含:Centos 下的安装主机配置Ad-Hoc command(命令行执行)Playbook (任务剧本)Ansible 和 Saltstack 是目前主流的两个自动化运维工具,都可以用于同时对大量主机进行系统配置,应用部署等工作,利用这种集成化的自动运维工具最大的优势在于运维体系结构的持续可维护性。本文先着眼于 Ansible ...
2018-03-07 11:00:02
372
转载 How-to: Quickly Configure Kerberos for Your Apache Hadoop Cluster
Use the scripts and screenshots below to configure a Kerberized cluster in minutes.Kerberos is the foundation of securing your Apache Hadoop cluster. With Kerberos enabled, user authentication is requ...
2018-03-06 14:50:18
603
转载 kerberos
http://www.aboutyun.com/forum.php?mod=viewthread&tid=22835https://note.louyj.com/blog/post/louyj/Kerberos%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE
2018-03-01 15:34:26
218
转载 HBase 性能优化和最住实践
HBase 性能优化和最住实践ColumnFamily 的优化策略列族的名称必须是可打印字符;列族的名称和列的描述命名尽量简短,因为 HFile 中的每一行都会包含这些信息,过长的命名会浪费存储空间;不经常使用的数据分开设计和使用不同列族存储设置时分开设计;每张表不超过三个列族;列族允许数据分离,设计列族时,确保同时访问的数据尽量存储在同一个列族中,常用的信息放在同一个列族中;刷新 (Flush)...
2018-02-26 17:59:46
474
转载 工作流调研 oozie vs azkaban
clark010 关注2016.03.19 08:58* 字数 1826 阅读 6662评论 1喜欢 11公司内现在已经有团队在使用Airflow,运维UI界面以及对开发的友好性上貌似都要好于Oozie,本文只针对14年的调研对比结果,有空会对比一下两个系统流程Java主流程代码,Shell/Python代码对主流程调用,完成控制逻辑QA需要分别针对Java主流程代码测试,并添加Python代码...
2018-02-26 10:04:17
724
转载 elasticsearch映射
前面讲到,无论是关系型数据库还是非关系型数据库,乃至elasticsearch这种事实上承担着一定储存作用的搜索引擎,数据类型都是非常重要而基础的概念。但elasticsearch与其它承担着数据存储的技术有着比较大的区别之一就是映射,和倒排索引。映射是定义如何存储和编制文档及其包含的字段的过程。例如,使用映射来定义:哪些字符串字段应被视为全文字段。哪些字段包含数字,日期或地理位置。文档中所有字段...
2018-02-12 15:37:23
205
转载 elasticsearch searchAPI 之 search template 查询模板
最近在公司又用到了elasticsearch,也用到了查询模板,顺便写篇文章记录一下查询模板的使用。以1个需求为例讲解es模板的使用:页面上某个按钮在一段时间内的点击次数统计,并且可以以小时,天,月为单位进行汇总,并且需要去重。创建索引,只定义3个字段,user_id, user_name和create_time:-POST /$ES/event_index{ "mappings": {...
2018-02-12 10:32:04
1726
转载 查询时权重提升
编辑在 语句优先级(Prioritizing Clauses) 中,我们解释过如何在搜索时使用 boost 参数让一个查询语句比其他语句更重要。 例如:GET /_search{ "query": { "bool": { "should": [ { "match": { "title": { ...
2018-02-12 10:18:45
467
转载 ElasticSearch复合数据类型——数组,对象和嵌套
在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是:数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类型;...
2018-02-08 17:12:14
1694
转载 Elasticsearch使用rescore重打分机制
1、match和match_phrase(proximity match)的区别match --》只要简单的匹配到了一个term,就可以理解将term对应的doc作为结果返回,扫描倒排索引,扫描到了就OK。match_phrase --》首先扫描到所有term的doc list;找到包含所有term的doc list;然后对每个doc都计算每个term的position,是否符合指定的范围;slo...
2018-02-08 16:26:16
5408
转载 Elasticsearch - 短语匹配(match_phrase)以及slop参数
短语匹配(Phrase Matching)就像用于全文搜索的的match查询一样,当你希望寻找邻近的单词时,match_phrase查询可以帮你达到目的。GET /my_index/my_type/_search{ "query": { "match_phrase": { "title": "quick brown fox" } ...
2018-02-08 16:03:01
929
转载 elasticsearch 过滤器
本章翻译自Elasticsearch官方指南的Filtering Queries and Aggregations一章。过滤查询以及聚合A natural extension to aggregation scoping is filtering. Because the aggregation operates in the context of the query scope, any fil...
2018-02-08 14:24:25
356
转载 ES doc_values介绍——本质是field value的列存储,做聚合分析用,ES默认开启,会占用存储空间(列存储压缩技巧,除公共除数或者同时减去最小数,字符串压缩的话,直接去重后用数字ID压
大家知道,搜索引擎的基本数据结构是反向索引,也就是为每个关键词建立了到文档的映射,然后所有的关键词是一个有序列表。搜索的时候,只要先从有序列表中匹配到关键词,就能搜索到包含该关键词的所有文档,反向索引的数据结构对于关键词搜索的场景是非常高效的。但聚合分析和搜索有很大的不同。典型的场景,比如计算某个文档中每个关键词的出现次数,反向索引就无能为力了,需要先扫描整个关键词映射表,才能找到该文档包含的所有...
2018-02-08 11:13:18
882
原创 spark中直接使用es的client
因为jar冲突,es client使用的httpjar被忽略,所以导致报错,所以使用以下命令确保用户的jar被优先加载。spark-submit --class SparkTest --master yarn --deploy-mode client \--driver-cores 1 \--driver-memory 1G \--num-executors 1 \--exe
2018-02-06 15:16:54
834
原创 cdh博客系列
博客1:http://mp.weixin.qq.com/s?__biz=MzI4OTY3MTUyNg==&mid=2247487429&idx=1&sn=b29e28937ef2cbbd3360f1ef4183a1be&chksm=ec2adfccdb5d56dafd3a3671aa5a7436ac2642b351ee7470d8a33235e2c04e14397bd8c7206b&mpsha
2018-02-05 10:43:27
192
转载 如何在CDH中启用Spark Thrift
1.文档编写目的CDH 自带的Spark 不支持Spark Thrift,因为spark-assembly jar中缺少Hive thrift相关的依赖包,导致CDH用户没法使用JDBC的方式连接Spark并使用Spark SQL。Apache Spark 1.6之后spark-assembly jar 中包含了 Hive 相关的依赖包了,而恰好 CDH5.13 的
2018-02-05 09:59:09
1628
转载 Elasticsearch嵌套式对象Nested分析
原文请参考: https://www.felayman.com/articles/2017/11/10/1510292946325.htmlnested结构是Elasticsearch提供关系存储的一种特殊的结构,是NOSQL的一种高级特性,在传统的关系型sql中,很难做到一行记录中存储某个实体以及附属的内容,比如某个用户下评论数据,或某个订单下的所有商品等这种关系比较强的内容。当然传统s
2018-02-02 11:23:33
794
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人