Zlatan Eevee
Jack of all trades and master of none.
-
Fullnat系列(三):为什么经过fullnat了以后,select查询变慢了呢?
问题1:为什么会有超过1500的大包? 问题2:为什么超过mtu的报文,LVS返回了ICMP差错报文? 问题3:为什么我们实验室的环境并没有出现这个问题? 问题现象是这样的:我们在客户的环境上,通过LVS设备访问ADS的时候,发现在对一个宽表select * from查询时,响应的时间很规律的发生的倍增: 1 row in set (0.22 sec) 1 row in set (0.42 sec) 1 row in set (0.83 sec) 1 row in set (1.6...
-
Fullnat系列(二):如何使用fullnat
内核打fullnat补丁 编译安装keepalived和ipvsadm 编译、安装keepalived(下面是从LVS官网抄的) 编译、安装ipvsadm(下面也是从LVS官网抄的) fullnat使用 添加Real Server 添加、查看Local Address 如果要让你的服务器支持fullnat,需要如下修改: 内核打阿里开源的fullnat补丁 使用ali开源的ke...
-
Fullnat系列(一):到底什么时候需要用fullnat呢?
来,我再写篇小水文。 服务器为了提高性能,通常会选择横向扩展,一般有2种做法: 前置DNS服务器,同一个域名(Virtual Service)对应不同的真实服务器(Real Server),解析域名的时候,DNS服务器会轮询返回不同的服务器,这样真正提供服务的,就是不同的机器,达到负载分担的目的。 前置负载分担(LB)设备。可以是专业的LB设备,也可以是linux服务器开启LVS(4层)或者Nginx(7层)。LVS的使用可以参考前面的一篇文章。 目前的发行版,内核默认会集成LVS ...
-
小玩意:如何让linux上挂死的进程重启?
1、安装keepalived 2、配置keepalived检测 3、配置检测脚本check_dtm.sh 4、采集进程的启动脚本。 需求是这样的:我们在linux服务器上有一个采集进程,担心该进程出现故障挂死或者被人误杀,这种情况下需要能自动重启。使用peacemaker这样的分布式管理工具可以做到进程的监控,但毕竟体量较大,部署也稍嫌麻烦。 其实,使用keepalived就可以满足这种需求,部署起来也很简单,做个记录供以后查阅。 1、安装keepalived 2、配置ke...
-
HBase系列之Quick Start(一)
NoSQL HBase 快速开始 最近由于工作关系,需要了解HBase,随手记录一些内容,以供查阅。 NoSQL 在刚接触Hadoop的时候,对Hive和HBase这两个组件总是不算特别清楚,都跟数据库有点关系,Hive又跟HBase有依赖,扯不太清楚。 如果要简单的说二者的区别,可以这样理解:可以把Hive理解为一个SQL Parser,其目的是为了方便那些会使用SQL编程的数据科学家们,但真正在跑的,是Hive翻译出来的Map Reduce程序。所以Hive的用处仍然是离线批量...
-
mysql:C源代码内嵌SQL语句的预编译工具
本文较水 哪篇不水 今天遇到一个比较好玩的东西,记下来跟大家分享。 我们知道操作数据库,在JAVA环境中一般会使用JDBC,不管是mysql、oracle还是别的什么数据库都可以比较好的支持;但在一些比较古老(或者说比较谨慎)的系统中,比如银行业,可能其应用使用的还是C语言写的,这种情况JDBC是没门了,只能调用对应数据库提供的C lib,例如mysql的C库提供了这些接口: MYSQL *mysql_init(MYSQL *mysql) MYSQL *mysql_real_connect(M...
-
使用lvs+keepalived为mysql提供高可靠的负载分担功能
需求 1 安装软件 2 组网 3 配置keepalived 4 配置RS 5 配置LVS 6 测试 7 待扩展 7.1 内核connection同步 7.2 iptables 7.3 ldirectord 需求 1 安装软件 基本所有的Linux版本内核都包含了LVS,不需要再安装。 安装ipvsadm,用来控制内核lvs表项; keepalived,用来控制虚IP迁移; ldirectord,现在还没...
-
百度PALO技术整理分析
以下内容基本源于百度PALO(OLAP分析引擎)对外的一个视频演讲,讲的比较形象,下面做了简单的摘抄。 总体架构图 PALO对外体现为一个mysql的服务器,所有mysql相关的工具:mysql client,JDBC,基于mysql的报表工具、R语言等,都可以直接对接PALO。 FE即Front End,PALO使用了RAFT协议来共享元数据,所有FE都可以接收用户请求。RAFT协议类似PAXOS(代表实现zookeeper),但要简化很多。master故障后,follower可以根据che...
-
使用nginx+keepalived实现RESTful API服务器的负载均衡和高可靠性
1、设置nginx.repo: 2、安装nginx、keepalived 3、修改keepalived的配置文件 4、使用脚本检测nginx服务 5、配置nginx 5.1 配置nginx 5.2 配置ssl需要的server.crt、server.key 5.3 坑 核心需求是我们有一个RESTful API的服务集群,需要能够保证不管是web服务故障还是服务器整体故障,外部访问不会间断,并且在整体运行正常的时候,...
-
Hibernate之Hello World
1、创建工程,导入Hibernate库。 2、建立包com.xxx.hibernatest 3、建立实体类的映射 4、对象类定义。 5、main入口 6、Hibernate主配置 Hibernate是一个优秀的持久化框架,其主要功能是将内存里的瞬时状态,通过JDBC持久化到硬盘数据库上。Hibernate以面向对象的思想来解决数据库的问题,可以简化数据库的访问。 这篇文章通过一个简单的示例,来建立Hibernate的初步认识,较水,记录用。 示例代码基本是从这篇文章里抄...