自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 pi价值分析

该文章解释关于Pi币的一系列问题一、什么是Pi?Pi是一种新的加密货币,为普通人所开发,你可以通过手机“挖掘”(或赚取加密货币是一种新形式的数字货币,由一个社区团体来维护和保护,而不是由政府或银行。今天,您可以通过帮助保护货币和增加Pi的可信网络来挖掘(或赚取)Pi。虽然大多数加密货币(比如比特币)对于大众来说非常难以使用和获取,但是Pi将加密货币的力量放如您的掌中。二、这是真的吗?P...

2019-10-18 17:32:29 748

原创 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 49

原创 MySQL 中的共享锁、排他锁与意向锁

共享锁(Share Lock)共享锁又称读锁,简称 S 锁:一个事务获取了一个数据行的共享锁,其他事务能获得该行对应的共享锁,但不能获得排他锁,即一个事务在读取一个数据行的时候,其他事务可以并发读取数据,但不能对该数据行进行增删改,直到已释放所有共享锁如果事务 T 对数据 A 加上共享锁后,则其他事务只能对 A 再加共享锁,不能加排他锁。获取共享锁的事务只能读数据,不能修改数据在查询语...

2019-10-16 16:43:49 81

原创 ReentrantLock实现原理

ReentrantLock主要利用CAS+CLH队列来实现。它支持公平锁和非公平锁,两者的实现类似。ReentrantLock的基本实现可以概括为:先通过CAS尝试获取锁。如果此时已经有线程占据了锁,那就加入CLH队列并且被挂起。当锁被释放之后,排在CLH队列队首的线程会被唤醒,然后CAS再次尝试获取锁。在这个时候,如果:非公平锁:如果同时还有另一个线程进来尝试获取,那么有可能会让这...

2019-10-14 10:34:18 34

原创 mybatiss原理

https://blog.csdn.net/lchpersonal521/article/details/84451357

2019-09-20 10:15:45 39

原创 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 30

转载 如何避免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 263

转载 mysql b树

首先,正确的创建合适的索引,是提升数据库查询性能的基础。索引是什么?索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。索引的工作机制是怎样的?如上图中,如果现在有一条sql语句 select * from teacher where id = 101,如果没有索引的条件下,我们要找到这条记录,我们就需要就行全表扫描,匹配id = 101的数据。如果有了索引,我们就可...

2019-06-08 15:28:26 155

转载 https 公钥 私钥 证书 签名

转载我看到的内容,然后加上自己的想法:先粗略解释一下:一、公钥加密假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的...

2019-05-23 10:38:28 116

转载 即时通信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 81

转载 第二篇:数据仓库与数据集市建模

阅读目录前言 维度建模的基本概念 维度建模的三种模式 实例:零售公司销售主题的维度建模 更多可能的事实属性 经典星座模型 缓慢变化维度问题 数据仓库建模体系之规范化数据仓库 数据仓库建模体系之维度建模数据仓库 数据仓库建模体系之独立数据集市 三种数据仓库建模体系对比 小结回到顶部前言        数据仓库建模包含了几种数据建模技术,除了之前在数据库系列中介绍过...

2019-01-06 21:37:29 105

转载 一套海量在线用户的移动端IM架构设计实践分享(含详细图文)

摘要: https://mp.weixin.qq.com/s?__biz=MzI1ODY0NjAwMA==&mid=2247483756&idx=1&sn=a8e3303bc573b1acaf9ef3862ef89bdd&chksm=ea044bf3dd73c2e5dcf2c10202c66d6143ec866205e9230f974fbc0b0be58792669...

2018-12-02 22:14:43 274

转载 Netty(三) 什么是 TCP 拆、粘包?如何解决?

 2018.08.09 22:55 160浏览image前言记得前段时间我们生产上的一个网关出现了故障。这个网关逻辑非常简单,就是接收客户端的请求然后解析报文最后发送短信。但这个请求并不是常见的 HTTP ,而是利用 Netty 自定义的协议。有个前提是:网关是需要读取一段完整的报文才能进行后面的逻辑。问题是有天突然发现网关解析报文出错,查看了客户端的发送日...

2018-11-24 21:47:40 69

转载 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 681

转载 通过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 640

转载 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 569

转载 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 381

转载 KETTLE集群搭建

 说明:本文档基于kettle5.4 一、集群的原理与优缺点1.1集群的原理         Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-slave结构,不同的是’master’处理具体任务,只负责任务的分发和收集运行结果。Master carte结点收到请求后,把任务分成多个部分交给slave carte执行,slave执行完毕后把结果交给mat...

2018-04-25 11:07:00 370

原创 flume源码分析3--组件的启动

接上面,当获取到最新的配置文件后,触发监听方法重启组件:@Subscribepublic synchronized void handleConfigurationEvent(MaterializedConfiguration conf) { stopAllComponents(); startAllComponents(conf);}下面看startAllComponents方法:p...

2018-04-10 11:23:22 94

原创 flume源码分析2--配置文件的加载

上面提到Application启动的时候,PollingPropertiesFileConfigurationProvider作为唯一的LifecycleAware类型的组件被交给监护者LifecycleSupervisor去监护,在监护方法里面,会启动一个定时调度线程去维护PollingPropertiesFileConfigurationProvider的状态,比如PollingPropert...

2018-04-09 10:59:02 288

原创 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 94

转载 机器学习笔记1—泰勒展开式和牛顿法

写在前面:自学机器学习的菜鸟一枚,希望通过记录博客的形式来记录自己一点点的进步~ 下面都是学习过程中自己的一些思考和学习,希望大神们批评指正。1.1 泰勒展开式1.1.1泰勒展开式入门首先,百度了一波,搜到了一个泰勒展开式入门的短短6分钟的视频,好像突然感受到了一点点数学的美。还有发现其实真的没有必要死记公式啊。泰勒展开式的入门浓浓的台湾腔调啊。泰勒公式的表达式:就是下面这个看起来很复杂的公式。 ...

2018-03-29 16:59:55 4453

转载 框架开发之Java注解的妙用

注解的好处:1.能够读懂别人写的代码,特别是框架相关的代码。2.本来可能需要很多配置文件,需要很多逻辑才能实现的内容,就可以使用一个或者多个注解来替代,这样就使得编程更加简洁,代码更加清晰。3.(重点)刮目相看。(但是怎么样才能让别人刮目相看呢?会用注解不是目的,最重要的是要使用自定义注解来解决问题。)举个栗子:如果面试的时候,你跟老板说你会使用注解,老板觉得你这个人还行;但是如果老板发现你会自定...

2018-03-16 09:47:28 107

转载 五分钟读懂UML类图

平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。那么属性/方法...

2018-03-15 13:25:06 80

转载 ansible 基本概念,ad-hoc操作

概述本文描述自动化运维工具 Ansible 的安装及基础使用方法,包含:Centos 下的安装主机配置Ad-Hoc command(命令行执行)Playbook (任务剧本)Ansible 和 Saltstack 是目前主流的两个自动化运维工具,都可以用于同时对大量主机进行系统配置,应用部署等工作,利用这种集成化的自动运维工具最大的优势在于运维体系结构的持续可维护性。本文先着眼于 Ansible ...

2018-03-07 11:00:02 212

转载 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 214

转载 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 133

转载 HBase 性能优化和最住实践

HBase 性能优化和最住实践ColumnFamily 的优化策略列族的名称必须是可打印字符;列族的名称和列的描述命名尽量简短,因为 HFile 中的每一行都会包含这些信息,过长的命名会浪费存储空间;不经常使用的数据分开设计和使用不同列族存储设置时分开设计;每张表不超过三个列族;列族允许数据分离,设计列族时,确保同时访问的数据尽量存储在同一个列族中,常用的信息放在同一个列族中;刷新 (Flush)...

2018-02-26 17:59:46 250

转载 工作流调研 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 520

转载 elasticsearch映射

前面讲到,无论是关系型数据库还是非关系型数据库,乃至elasticsearch这种事实上承担着一定储存作用的搜索引擎,数据类型都是非常重要而基础的概念。但elasticsearch与其它承担着数据存储的技术有着比较大的区别之一就是映射,和倒排索引。映射是定义如何存储和编制文档及其包含的字段的过程。例如,使用映射来定义:哪些字符串字段应被视为全文字段。哪些字段包含数字,日期或地理位置。文档中所有字段...

2018-02-12 15:37:23 113

转载 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 1403

转载 查询时权重提升

编辑在 语句优先级(Prioritizing Clauses) 中,我们解释过如何在搜索时使用 boost 参数让一个查询语句比其他语句更重要。 例如:GET /_search{ "query": { "bool": { "should": [ { "match": { "title": { ...

2018-02-12 10:18:45 212

转载 ElasticSearch复合数据类型——数组,对象和嵌套

在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是:数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类型;...

2018-02-08 17:12:14 875

转载 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 2001

转载 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 551

转载 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 172

转载 ES doc_values介绍——本质是field value的列存储,做聚合分析用,ES默认开启,会占用存储空间(列存储压缩技巧,除公共除数或者同时减去最小数,字符串压缩的话,直接去重后用数字ID压

大家知道,搜索引擎的基本数据结构是反向索引,也就是为每个关键词建立了到文档的映射,然后所有的关键词是一个有序列表。搜索的时候,只要先从有序列表中匹配到关键词,就能搜索到包含该关键词的所有文档,反向索引的数据结构对于关键词搜索的场景是非常高效的。但聚合分析和搜索有很大的不同。典型的场景,比如计算某个文档中每个关键词的出现次数,反向索引就无能为力了,需要先扫描整个关键词映射表,才能找到该文档包含的所有...

2018-02-08 11:13:18 426

原创 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 550

原创 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 107

转载 如何在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 1132

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