自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只IT小小鸟

还有很多未完成的梦,怎能停下脚步,加油!

  • 博客(93)
  • 资源 (17)
  • 收藏
  • 关注

原创 Kafka -- 环境搭建Linux(单机模式) 及 常用命令

依赖JDK8 Zookeeper 自行安装JDK,不再赘述,Kafka安装包自带ZookeeperKafka下载wgetwget http://archive.apache.org/dist/kafka/10.2.1/kafka_2.11-0.10.2.1.tgztar -zxvf kafka_2.11-0.10.2.1.tgz 2. windows下载rz上...

2019-12-19 21:05:06 569

原创 MySQL -- 事务锁 Lock wait timeout exceeded

问题现象测试ddos持续攻击,防护程序频繁读写数据库,mysql处理报错。同时进行接口调用,接口响应时间较长,耗时几十秒才返回错误提示,两者错误日志均为Error 1205: Lock wait timeout exceeded; try restarting transaction问题原因查询官方手册:官方错误文档地址中文错误文档地址Error number: ...

2019-11-08 10:23:00 1212

原创 Redis-配置及性能查看

背景在未全面的了解redis配置之前,单纯的使用redis就可以达到我的代码实现目的,但是不能很全面的去掌握它。为了更深入的理解并使用redis, 学习redis配置必不可少。redis.conf 位置使用 whereis 命令,查找 redis.conf位置使用 find 命令 ,查找 redis.conf位置使用 ps 命令查看 pid ,ls 命令查看位置...

2019-10-28 11:49:33 1640

原创 Redis 开启多个实例

背景多个项目应用部署在通一台服务器上,同时使用一台redis,且项目中redis数据不共享。一般来说不同的项目用不同的redis实例会比较好,以免有的操作影响到其它的项目。方法复制多一份redis.conf,修改默认端口为63xx, 存储文件dbfilename 为dump63xx.rdb,在liunx中还有修改指定的pid文件(以守护进程启动时,pid写入的路径),修改日志logfi...

2019-08-26 21:47:08 1197

原创 并发编程--多进程编程

概述在现代操作系统当中,我们可以很方便的编写出多进程程序。在多进程程序中,如果多个进程之间需要协作完成任务,那么进程间通信的方式就是需要重点考虑的事项之一。这种通信通常被叫做IPC(Inter-Process Communication),不同版本的Unix及其衍生操作系统所支持的IPC方法都不尽相同,下面讨论的IPC时只针对Linux系统。Linux操作系统可以使用的IPC方法有多种,从...

2019-08-19 00:10:39 318

原创 并发编程--综述

概述并发编程:是一种现代计算机编程技术。可以是多进程编程、多线程编程、还可以是编写分布式程序。主要思想并发这个概念由来已久,其主要思想是:使多个任务可以在同一时间段内执行,以便能够更快地得到结果。并发编程的思想来源于多任务操作系统,它允许同时运行多个程序。在早期的单用户操作系统中,任务是一个接一个运行的,完全串行。而多任务操作系统则允许终端用户同时运行多个程序,当一个程序不需要使用...

2019-08-18 19:06:21 170

原创 SSH连接VitualBox虚拟机Ubuntu16.04

windows10使用VitualBox安装Ubuntu16.04虚拟机,在win10上通过ssh连接虚拟机。1. 虚拟机网络设置为桥接模式2. 开启SSH服务sudo ps -e | grep ssh如果没有上图的sshd,则安装ssh服务, 并启动:sudo apt-get install openssh-serversudo /etc/init....

2019-08-14 22:15:27 259

原创 VirtualBox:unable to access “VBox_GAS_6.8.XXX

win10 安装 vitualbox虚拟机ubuntu16.04,出现下列问题:使用VirtualBox安装完ubuntu-16.04-desktop并启动,然后点击“安装增强功能”,安装完毕后,会发现mount了一个VBox_GAS_6.8.XXX文件夹,但打开时会报如下错误:unable to access “VBox_GAS_6.0.0 iso9660”解决方式为重新安装lin...

2019-08-12 22:15:17 5922 1

原创 MySQL--数据导出与导入

MySQL--数据导出与导入当我们需要将数据库数据导出存储到文本文档,或则从文本文档导入数据时,用下面语句比较方便:select into outfileload data infileSELECT INTO OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA INFILE语句恢复数据。但是这种方法只能导出或导入数据的内容,不包括表的结构,如果表的结构文件损...

2019-03-26 17:03:00 491

原创 Apache Beam -- 编程指南

指南Beam Programming Guide适用于希望使用Beam SDK创建数据处理流水线的Beam用户。 它为使用Beam SDK类构建和测试管道提供了指导。 它不是一个详尽的参考,而是作为一种语言无关的高级指南,以编程方式构建您的Beam管道。概述要使用Beam,您需要首先使用其中一个Beam SDK中的类创建驱动程序。 您的驱动程序定义了您的管道,包括所有输入,转换和输出;...

2019-02-19 20:47:12 1638

原创 Apache Beam -- 简介

概述在大数据的浪潮之下,技术的更新迭代十分频繁。受技术开源的影响,大数据开发者提供了十分丰富的工具。但也因为如此,增加了开发者选择合适工具的难度。在大数据处理一些问题的时候,往往使用的技术是多样化的。这完全取决于业务需求,比如进行批处理的MapReduce,实时流处理的Flink,以及SQL交互的Spark SQL等等。而把这些开源框架,工具,类库,平台整合到一起,所需要的工作量以及复杂度,可...

2019-02-14 19:56:12 25051 2

原创 Go语言--空结构体struct{}解析

简介有c/c++学习经历的会发现go的struct语法和c/c++很类型,但是golang的struct{}很有意思。做控制而非数据信息:chan struct{} 实现set: map[string]struct{}解析结构体是没有位段的结构体,以下是空结构体的一些例子:type Qstruct{} varqstruct{}但是如果一个就结构体没有位段,不包含任何...

2019-02-13 18:36:25 14199 4

原创 Linux--Shell脚本逐行读文本处理并curl发送post请求json格式等问题

问题:Shell脚本逐行读取文本,字符串分割,Curl发送Post请求Json格式等相关问题在linux中使用curl发送一个post请求时,带有json的数据,在发送时发现json中的变量没有解析出来:curl -d '{"Pin": "${line}"}' -H"tp-app-id:publicclouds" -H"tp-sig:e26fe2c1924d9b4d86d19145434...

2018-11-08 21:05:22 10803 3

原创 MySQL数据库--数据库复制

1.为了方便快速复制一个数据库,可以用以下命令:注意:区分以下sql语句与shell命令将tp数据库的数据以及表结构复制到w_tp数据库。创建新的数据库:mysql> create database w_tp;复制数据库,使用mysqldump及mysql的命令组合,一次性完成复制:➜ ~ mysqldump tp -uroot -padmin --add-d...

2018-11-08 20:28:45 2316

原创 Linux--Shell脚本编程详解

Shell简介什么是Shell,Shell命令的两种执行方式?Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令; 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。...

2018-11-08 16:09:17 674

原创 Go包管理--godep

关于Godepgolang设计者最初过于乐观的设计使得今天大 家不得不各自想办法解决这个问题。godep就是综合了多年第三方包依赖问题的解决方案后的一个趋向统一的方案,至少是在go get的设计没有进化前的一个比较不错的方案。发现好多golang项目都使用到godep作为包管理的工具,像比较大型的项目,比如kubernetes这种,都是使用的是godep来进行依赖管理操作的了,看了一下有点像m...

2018-11-06 16:40:40 2325

原创 ElasticSearch索引--查询使用指南

1. 我们通常用_cat api检测集群是否健康。 确保9200端口号可用: curl 'localhost:9200/_cat/health?v'绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用. 2. 通过如下语句,我们可以获取集群的节点列表:curl 'localhost:9200/_cat/nodes?v'...

2018-08-28 16:38:05 3116

原创 ElasticSearch入门--索引

ElasticSearch介绍ElasticSearch是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量,配置刷新频率,分配分析器等,存储在索引中的海量文档分布式存储在ElasticSearch集群中。ElasticSearch是基于Lucene框架的全文搜索引擎,...

2018-08-27 21:14:26 3003

原创 ELK原理与介绍

为什么用到ELK:ELK官网:https://www.elastic.co/ ELK官网文档:https://www.elastic.co/guide/index.html ELK中文手册:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html一般我们需要进行日志分析场景:直接在日志文件中 grep、awk...

2018-08-27 14:46:37 350

原创 ETL详解

ETL介绍ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析...

2018-08-23 20:38:02 5844 1

原创 DDoS攻击--CC攻击防护详解(HTTP)

前言HTTP 中文名称为超文本传输协议,常被用于 Web 服务请求和响应数据的传输。常见的 HTTP 请求有 GET 请求和 POST 请求两种。通常,GET 请求用于从 Web 服务器获取数据和资源,例如请求页面、获取图片和文档等;POST 请求用于向 Web 服务器提交数据和资源,例如发送用户名/密码、上传文件等。在处理这些 HTTP 请求的过程中,Web 服务器通常需要解析请求、处理...

2018-08-23 15:04:15 29502 4

原创 DDoS攻击--Udp/Dns_query Flood攻击防护详解(UDP)

UDP报文结构 UDP_Flood攻击原理UDP Flood是日渐猖厥的流量型DoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k pps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小...

2018-08-22 20:05:58 22644

原创 DDoS攻击--连接耗尽-慢连接-异常报文攻击防护详解(TCP)

连接耗尽攻击:这种攻击方式也许是TCP攻击中,消耗资源最严重的攻击方式。通常黑客发起连接耗尽型的攻击的代价也比前面文章讲的攻击要高的多。 那么让我们先来了解一下,一个TCP连接,将大致占用多少资源,通常服务器又能接受多少的连接的?下面以Linux系统为例,我们做一下简要的分析: 在三次握手完成之后,内核会为每个连接分配相应的结构,保存TCP连接相应的控制信息,接收缓冲和发送缓冲。默认情...

2018-08-22 18:13:24 7539

原创 DDoS攻击--Syn_Ack/Ack_Flood等攻击防护详解(TCP)

前言Syn_Ack/Ack_Flood攻击属于TCP攻击,在了解Syn_Ack/Ack_Flood攻击之前,可以先看看TCP攻击详解。Syn_Ack Flood 攻击:syn_ack报文出现在连接建立的第2个报文,用来确认第一次握手的syn包。当服务器收到syn_ack报文后会在系统里查询是否属于3次握手的范畴。如果属于则回复ack,并将连接设为连接状态。若没有查到相关信息,则回复...

2018-08-22 17:55:17 11176

原创 DDoS攻击--Syn_Flood攻击防护详解(TCP)

Syn_Flood概述Syn-Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。这种攻击早在1996年就被发现,但至今仍然显示出强大的生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,...

2018-08-22 17:25:19 51343 2

原创 DDoS攻击--TCP攻击概述

前言TCP协议,相信对于每一个开发工程师都不陌生。由于该协议是一个面向连接,可靠的特性,广泛应用于现在互联网的应用中。如常见的web,ssh,ftp等都是基于TCP协议。目前TCP协议占全网的流量达到80%,因此这也成为黑客主要攻击的类别。TCP报文结构一个TCP报头的标识(code bits)字段包含6个标志位:SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1...

2018-08-22 16:14:34 19484 7

原创 DDoS攻击--防护本质

什么是DDoS ?DDoS全称Distributed Denial of Service,中文意思为“分布式拒绝服务”,俗称洪水攻击,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务。服务:系统提供的,用户在对其使用中会受益的功能 拒绝服务:任何对服务的干涉如果使其可用性降低或者失去可用性均称为拒绝服务 拒绝服务攻击:是指攻击者通过某种手段,有意地造成计算...

2018-08-22 15:42:59 8750

原创 Go语言--函数作为值-类型-返回值、匿名函数、闭包

概要地球人都知道:函数只是一段可执行代码,编译后就“固化”了,每个函数在内存中只有一份实例,得到函数的入口点便可以执行函数了。go语言中函数可以作为另一个函数的参数或返回值,可以赋给一个变量。函数可以嵌套定义(使用匿名函数),即在一个函数内部可以定义另一个函数,有了嵌套函数这种结构,便会产生闭包问题。闭包是一个函数值,他来自函数体外部的变量引用。下面分别介绍:Go中的函数、函数作为值与类型...

2018-08-21 11:08:08 3449 1

原创 Go语言--Nohup后台启动

linux的nohup命令用法在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。nohup命令格式;nohup /root/start.sh &在shell中回车后提示:[~]$ appending output to nohup.out原程序的的标准输出被自动改向到当前目录下的nohup.o...

2018-08-20 17:03:59 10859

原创 SQL语言--语句优化总结

概要性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下: 不要有超过5个以上的表连接(JOIN)  考虑使用临时表或表变量存放中间结果。  少用子查询  视图嵌套不要过深,一般视图嵌套不要超过2个...

2018-08-20 14:24:22 11920 1

原创 STL源码学习系列十二: 容器配接器( Priority_queue)

容器配接器( Priority_queue)概述priority_queue是拥有优先级的queue,不过它容器内的元素并不是根据加入顺序排列,而是根据用户定义的优先级进行排列。priority_queue只能在队列尾部加入元素,在头部取出元素。不能遍历容器,因此不需要自己设置迭代器。在SGI STL的源码<stl_queue.h>的class priority_queue设计...

2018-08-12 22:50:19 306

原创 STL源码学习系列十一: 容器配接器( Queue)

容器配接器( Queue)概述queue是一种“先进先出”的数据结构,可以对两端进行操作,但是只能在队列头部进行移除元素,只能在队列尾部新增元素,可以访问队列尾部和头部的元素,但是不能遍历容器,所以queue不需要设计自己的容器。在SGI STL的源码<stl_queue.h>的class queue设计中,它是基于某种容器作为底部结构的,默认容器是deque容器,用户也可以自...

2018-08-12 22:17:25 261

原创 STL源码学习系列十: 容器配接器( Stack)

容器配接器( Stack)概述stack是一种“先进后出”的数据结构,它只能在栈顶对数据进行操作,即只能在栈顶进行新增元素、移除元素、取得最顶端元素。不能进行遍历行为,所以不需要设计自己的迭代器。在SGI STL的源码<stl_stack.h>的设计中,它是基于某种容器作为底部结构的,默认容器是deque容器,用户也可以自己指定容器的类型,比如list或者vector。st...

2018-08-12 22:03:36 342

原创 Kafka--原理详解

kafka简介kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。为什么需要消息队列解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 冗余:消息队列把数据进行持久化直...

2018-08-08 23:04:14 333

原创 数据库--索引详解

索引概述数据库索引是用于提高数据库表的数据访问速度的。想要理解索引原理必须清楚一种数据结构「平衡树」(非二叉),也就是b tree或者 b+ tree,重要的事情说三遍:“平衡树,平衡树,平衡树”。当然, 有的数据库也使用哈希桶作用索引的数据结构 。然而,主流的RDBMS都是把平衡树当做数据表默认的索引数据结构的。索引特点 避免进行数据库全表的扫描,大多数情况,只需要扫描较少的索引页和...

2018-08-08 22:34:52 16269 1

原创 为什么使用 Redis ?

Redis特点 Redis是一个高性能(支持并发11万读8万写)的key-value存储系统。 支持丰富的存储value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。 Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。 虽然运行在内存,...

2018-08-08 11:55:08 6523

原创 数据库--五大约束

五大约束 主键约束(Primary  Key Constraint) 唯一性,非空性  唯一约束(Unique Constraint) 唯一性,可以空(但只能有一个)  检查约束(Check Constraint) 对该列数据的范围、格式的限制(如:年龄,性别等)  默认约束(Default Constraint)该列数据的默认值  外键约束(Foreign Key Constrain...

2018-08-07 22:44:40 516

原创 Go语言开发--select多路复用

golang 的 select 的功能与 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。示例:ch1 := make (chan int, 1)ch2 := make (chan int, 1)...select {case <-ch1: fmt.Println("ch1 pop one elem...

2018-07-31 21:12:21 1006

原创 Go语言开发--基本命令及使用

Go命令一般格式:go command [arg]其中,command是操作命令,arg是该命令的参数。常用命令Go的常用命令有:get、run、build、fmt、install、test等(1) go getgo get 命令主要是用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。这个命令在内部实际上分...

2018-07-31 20:55:20 447

原创 Go语言开发--Redis的使用

理论知识Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。Redis 优势性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 原子 – ...

2018-07-30 17:59:57 2177

大数据--大数据科学基础

大数据 大数据科学基础

2017-08-09

人工智能--循环神经网络

人工智能--循环神经网络详解

2017-08-09

人工智能--深度学习应用

人工智能--深度学习应用

2017-08-09

人工智能--卷积神经网络

人工智能--卷积神经网络详解

2017-08-09

人工智能--Pre-training and Generative Models

人工智能--Pre-training and Generative Models

2017-08-09

人工智能--Deep Neural Networks

人工智能--Deep Neural Networks详解

2017-08-09

人工智能--Deep Learning

人工智能 Deep Learning 详解

2017-08-09

大数据--SQL and pySpark

大数据--SQL and pySpark 对比分析

2017-08-09

大数据-- Apache Spark Semi-Structured data

大数据-- Apache Spark Semi-Structured data

2017-08-09

大数据--Apache Spark编程详解

大数据--Apache Spark编程详解

2017-08-09

大数据--Apache Spark实用详解

大数据--Apache Spark实用详解

2017-08-09

人工智能-- recommender systems

人工智能-- recommender systems详解

2017-08-09

人工智能--Machine learning

人工智能--Machine learning详解

2017-08-09

大数据--Hadoop MapReduce

大数据--Hadoop MapReduce详解

2017-08-09

大数据--Hadoop HDFS

大数据--Hadoop HDFS详解

2017-08-09

大数据--Apache Spark

大数据--Apache Spark

2017-08-09

大数据--基础数据科学详解

大数据--基础数据科学详解

2017-08-09

空空如也

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

TA关注的人

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