- 博客(55)
- 资源 (8)
- 收藏
- 关注
原创 Kafka常用命令速查
创建主题(4个分区,2个副本)bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 4 --topic test查询集群描述bin/kafka-topics.sh --describe --zookeeper生产者bin/kafka-console-...
2019-07-18 15:10:50
348
原创 Flink之Connector连接器
Streaming Connectors预定义的Source和Sink基于文件的Source readTextFile(path) readFile(fileInputFormat,path) 基于文件的Sink writeAsText writeAsCsv 基于Socket socketTextStream 基于Socket的Sink writeToSo...
2019-07-07 19:28:14
7899
1
原创 Flink之运行时环境
Flink 运行时环境由两种类型进程组成,JobManager和TaskManagerJobManager,也称为 master,用于协调分布式执行。负责调度任务,检查点,失败恢复等。 TaskManager,也称为 worker,用于执行数据流图的任务(更准确地说,是计算子任务),并对数据流进行缓冲、交换。Flink 运行环境中至少包含一个任务管理器。Flink作业流程Flink...
2019-06-28 20:23:07
1261
原创 Flink之状态管理与容错机制
1 状态管理的基本概念1.1 什么是状态1.1.1 无状态的例子:消费延迟计算消息队列:一个生产者持续写入,多个消费组分别读取,如何实时统计每个消费者落后多少条数据?//输入{ "timestamp": 1555516800, "offset": { "producer": 16, "consumer0": 10, "consumer1": 7, "c...
2019-06-28 20:20:23
906
原创 Spark母公司Databricks数砖将Delta Lake开源了
2019年的Spark Summit大会上,大红大紫的开源项目Spark背后的独角兽公司DataBricks宣布开源了他们的Delta Lake。Delta Lake诞生背景很多公司内部数据架构中都有数据湖,数据湖即一种大型数据存储和处理引擎,能够存储大量各种类型的数据,拥有强大的信息处理能力和处理几乎无限的兵法任务和工作的能力。然而,自建的数据湖一般面临很多问题,比如:数据湖的读...
2019-05-27 21:35:21
2470
原创 Flink之数据流编程模型(上)
DataSteam编程模型Statefule Stream Processing: 是最低级别(底层)的抽象,只提供有状态的流。它通过ProcessFunction嵌入到DataStream API之中。它使得用户可以自由处理来源于一个或者多个流的事件。DataStream/DataSet API: 在我们的实际工作中,大多数的应用程序是不需要上文所描述的低级别(底层)抽象,而是相对于诸如D...
2019-05-07 08:19:40
310
原创 Flink之大数据计算框架的特性分析
Apache FlinkFlink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。Flink框架的主要特征包括:高吞吐&低延时(真·流处理)高可靠性(状态存储)支持流处理、批处理,还提供CEP(复合事件处理)、ML(机器学习)、SQL的API(All in One)Flink组件栈API支持对Streaming数据类应用,提...
2019-05-05 21:46:52
694
原创 nginx基本配置
#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid
2017-05-15 18:51:40
480
转载 Nginx反向代理实现会话(session)保持的两种方式
Nginx反向代理实现会话(session)保持的两种方式2013年11月27日 ⁄ Web技术 ⁄ 共 714字 ⁄ 暂无评论 ⁄ 被围观 17,172 views+一、ip_hash:ip_hash使用源地址哈希算法,将同一客户端的请求总是发往同一个后端服务器,除非该服务器不可用。ip_hash语法:upstream backend
2017-05-15 14:26:41
1840
原创 Python数据分析包:pandas 基础
pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二维的表结构。pandas 约定俗成的导入方法如下:lang:pythonfrom pandas import Ser
2017-02-19 15:30:57
1308
转载 MongoDB之Sharded cluster架构原理
为什么需要Sharded cluster?MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sharded cluster存储容量需求超出单机磁盘容量活跃的数据集超出单机内存容量,
2016-10-19 22:15:18
758
原创 Git基础_取得项目的Git仓库
取得项目的 Git 仓库有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。在工作目录中初始化新仓库要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:$ git init初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据...
2016-09-25 15:40:47
531
原创 Linux_软链接与硬链接
对于一个文件来说,有唯一的索引接点(inode)与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 ...都可以看着文件来处理的啊。 连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows 下的
2016-09-25 15:29:02
374
原创 Linux之sar命令
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。本文主要以CentOS 6.3 x64系统为例,介绍sar命令。sar命令常用格式sar [options] [
2016-09-15 15:10:43
365
原创 Tomcat体系架构
总结Tomcat的体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等。Tomcat和JVM:一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用。Tomcat通过调用配置的JDK或JRE来启动JVM。
2016-08-21 17:55:53
4029
2
原创 Linux Shell脚本条件判断
Shell条件判断 if list then do something here elif list then do another thing here else do something else here fi EX1:#!/bin
2016-08-21 09:38:12
2243
原创 Failed to start LSB: Bring up/down networking
1、执行 service network restart 出现以下错误Restarting network (via systemctl): Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for details.2、根据上面的提示,执行“sys
2016-08-20 21:40:00
1373
原创 MySQL读写分离介绍
MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。MySQL读写分离能提高系统性能的原因在于:物理服务器增加,机器处理能力提升。拿硬件换性能。主从只负责各自的读和写,极大程度缓解X锁和S锁争用。slave可以配置myiasm引擎,提升查询性能以及节约系统开销。
2016-07-28 00:27:28
1372
1
原创 mysql-行锁的实现
一、背景知识事务(Transaction)及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改
2016-07-27 23:06:07
42611
11
原创 MySql:利用keepalived构建高可用MySQL-HA
关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享存
2016-07-17 23:23:44
4203
1
原创 MYSQL索引:对聚簇索引和非聚簇索引的认识
聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引。在《数据库原理》一书中是这么解释聚簇索引和非聚簇索引的区别的:聚簇索引的叶子节点就是数据节点,而非聚簇索引的叶子节点仍然是索引节点,只不过有指向对应数据块的指针。因此,MYSQL中不同的数据存储引擎对聚
2016-07-17 22:03:41
50485
5
原创 docker常用管理命令
本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。根据自己的理解,总的来说分为以下几种:容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]容器操作运维 — docker [ps|inspect|top|attach|events|
2016-07-14 22:04:13
8800
原创 MySql-半同步复制
文章目录一,为什么要使用半同步复制?二,半同步复制原理二,半同步复制的实现一,为什么要使用半同步复制?MySQL复制默认是异步复制,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master Sever就自动返回数据给客户端,但并不知道Slave是否或何时已经接收且已处理,因此存在一定的概率备库与主库的数据是不对
2016-07-10 17:52:26
2850
转载 MySql-Undo及Redo详解
00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity)事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发生了错误,要回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过。
2016-07-10 17:45:47
11760
2
转载 MySql-straight_join优化列
STRAIGHT_JOIN 与 INNER JOIN 的功能完全一致 使用 INNER JOIN 时,mysql会根据优化规则自动判断 应该先加载哪个表 但有时自动的操作未必最优,就需要手动操作,其语法如下:select ..from tab1 straiht_join tab2 where ...使用了 straight_join 后,tab1 会先于 tab2 载入。【现象】 生产环
2016-07-10 16:57:48
771
翻译 MySql之分页优化
原文:http://www.xarg.org/2011/10/optimized-pagination-using-mysql/很多应用往往只展示最新或最热门的几条记录,但为了旧记录仍然可访问,所以就需要个分页的导航栏。然而,如何通过MySQL更好的实现分页,始终是比较令人头疼的问题。虽然没有拿来就能用的解决办法,但了解数据库的底层或多或少有助于优化分页查询。我们先从一个常用但性能很差的查询来看一看
2016-07-05 22:34:02
2522
原创 MySQL-SQL插入性能优化
对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。1. 一条SQL语句插入多条数据。常用的插入语句如:1234I
2016-06-28 22:27:39
10327
4
原创 MySQL-物理备份-Percona XtraBackup 备份原理
MySQL · 物理备份 · Percona XtraBackup 备份原理前言Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。我们 RDS MySQL 的物理备份就是基于这个工具
2016-06-27 21:47:21
7746
1
原创 LINUX-AWK简明教程
AWK是贝尔实验室1977年搞出来的文本出现神器,今年是蛇年,是AWK的本命年,而且年纪和我相仿,所以非常有必要为他写篇文章起步上台 我从netstat命令中提取了如下信息作为用例:$ cat netstat.txtProto Recv-Q Send-Q Local-Address Foreign-Address Statetcp 0
2016-06-26 20:29:25
2301
1
原创 MySql-性能压力测试-概论篇
性能测试前先要清楚目的是什么?测试数据库新版本的性能 测试新机型的性能 验证某些DB/OS层面的参数 压测存储的性能压测某些场景 确定目标之后我们要选择何种压测场景进行压测,只读,只写,读写混合? 观察压测过程中的性能曲线是否满足我们的期望,并且真对性能出现可重复性抖动的问题进行分析原因并改进。影响性能的因素 大致分为:DB 层面、OS 层面 、存储层面。DB层面 对于M
2016-06-20 00:12:26
4888
原创 MySql-日志详解
错误日志 MySQL的错误信息是在data目录下的 错误日志本身所定义的内容本身是可以定义的 编辑配置文件,定义错误日志:log-error=/path/to/xx.err #定义是否启动错误日志的功能log-warnings={1|0} #定义是否将警告信息也记录在错误日志中默认情况下错误日志也记录以下几个方面的消息: 1、服务器启动和关闭过程中的信息 未
2016-06-13 19:25:37
9975
原创 MySql-索引优化
索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法。mysql默认的是二叉树算法 BTREE。Explain优化查询检测EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表。使用方法:在select语句前加上Explain,Explain select * from blog where myname=
2016-06-09 20:12:31
5099
1
原创 MySql-主从复制
一、概述 1、原理 复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程。 主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,
2016-06-07 00:00:57
5752
原创 MySql-InnoDB-缓存管理
MySql内存结构 InnoDB主索引是聚簇索引,索引与数据共用表空间,对于InnoDB而言,数据就是索引,索引就是数据。InnoDB缓存机制和MyISAM缓存机制的最大区别就是在于,InnoDB不仅仅是缓存索引,还会缓存数据。InnoDB缓存池 InnoDB缓存池(InnoDB buffer pool)是InnoDB性能提升的核心,它既可以缓存数据还可以缓存索引,甚至其他管理数据(例如元数据
2016-06-05 16:41:37
9647
原创 Linux-netstat命令详解
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address F
2016-06-04 00:10:12
1247
原创 MySql-权限管理
在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有:user表db表host表table_priv表columns_priv表proc_priv表MySQL存取控制包含2个阶段: 阶段1:服务器检查你是否允许连接。 阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库中一个表精选(se
2016-05-29 23:46:23
3846
1
原创 MySql在Linux的启动方式
在Linux系统下,MySQL服务器通常有四种启动方式:mysqld守护进程启动,mysqld_safe启动,mysql.server启动,mysqld_multi多实例启动。1、mysqld守护进程启动一般的,我们通过这种方式手动的调用mysqld,如果不是出去调试的目的,我们一般都不这样做。这种方式如果启动失败的话,错误信息只会从终端输出,而不是记录在错误日志文件中,这样,如果mysql崩溃的话
2016-05-25 15:16:10
19591
1
转载 MySql-体系结构以及各种文件类型
MySql体系结构由数据库和数据库实例组成,是单进场多线程架构。数据库:物理操作系统文件或者其它文件的集合,数据库文件可以是frm、myd、myi、ibd等结尾的文件。当使用ndb存储引擎时候,不是os文件,是存放于内存中的文件。 数据库实例:由数据库后台进程/线程以及一个共享内存区组成,共享内存可以被运行的后台进程/线程所共享。MySql文件类型 Mysql主要文件类型有如下几种: 参数文件
2016-05-25 10:15:25
12574
3
原创 Linux-Shell脚本的运行方式
假设shell脚本文件为hello.sh放在/root目录下。 下面介绍几种在终端执行shell脚本的方法:[root@localhost home]# cd /root/[root@localhost ~]#vim hello.sh#! /bin/bashcd /tmpecho "hello guys!"echo "welcome to my blog"1.切换到shell脚本所在的
2016-05-23 16:55:21
836
原创 Linux-用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。 每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主
2016-05-22 18:39:40
6259
MySQL性能调优与架构设计
2016-06-07
MySQL技术内幕InnoDB存储引擎
2016-05-19
MySQL技术内幕(第4版).pdf
2016-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人