自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(492)
  • 收藏
  • 关注

原创 条件变量pthread_cond_t

#include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;/*初始化互斥锁*/pthread_cond_t cond = PTHREAD_COND_INITIALIZER;/*初始化条件变量*/void *thread1(void *);void *thread2(void *);int

2017-04-04 13:46:30 573

转载 C++ : __attribute__

GCC使用__attribute__关键字来描述函数,变量和数据类型的属性,用于编译器对源代码的优化。描述函数属性的几个重要的关键字:void noreturnfun() __attribute__((noreturn));//函数不会返回。void centon() __attribute__((alias("__centon")));//设置函数别名,函数是__cenc

2017-04-04 10:27:08 1403

转载 Git使用详解

1. Git概念 1.1. Git库中由三部分组成        Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。.git目录位于工作目录内。 1) 工作目录:用户本地的目录; 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Gi

2017-04-02 13:24:24 592

原创 Linux poll

poll()函数:这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,下面是这个函数的声明:#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);参数说明:fds:是一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符;每当调用这个函数之

2017-03-19 21:42:24 459

转载 JAVA 对象拷贝

1.Java里的clone分为: A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。 Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点 1.在派生类中覆盖基类的clone()方法,并声明为public【Object类中的cl

2017-02-26 22:44:40 410

转载 MySQL Group Replication 介绍

2016-12-12,一个重要的日子,mysql5.7.17 GA版发布,正式推出Group Replication(组复制) 插件,通过这个插件增强了MySQL原有的高可用方案(原有的Replication方案),提供了重要的特性——多写,保证组内高可用,确保数据最终一致性。1. 背景在介绍组复制之前,我们先简单介绍传统的异步复制和半同步复制:1.1 传统复制传统

2017-02-02 10:31:14 847

原创 hbase1.1.3版本二级索引-split相关源码调整

1 hbase-server : SplitTransactionImpl 类添加 SplitInfo 内部类2 hbase-server : RegionCoprocessorHost 中添加 public SplitInfo preSplitBeforePONR(byte[] splitKey) 方法3 hbase-server : RegionObserver 接口中添加 Split

2016-11-15 09:54:11 620

转载 Linux内存管理之mmap详解

一. mmap系统调用1. mmap系统调用        mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.

2016-11-09 17:46:43 361

原创 Linux Maven 安装与配置

1、下载maven wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz2、解压至/usr/local目录 tar -zxvf apache-maven-3.2.5-bin.tar.gz3、配置国内的源在mirrors

2016-11-04 13:24:28 788

原创 CentOS: Device eth0 does not seem to be present

最近在搞自动化部署,包括hadoop、hbase、spark、kafka、zk、mysql、分布式数据库中间件、等等。为了方便的搞很多虚拟机,我用了vmware的克隆功能,发现克隆过来的虚拟机无法启动网卡,具体汇报下面的错误。service network restartShutting down loopback insterface:

2016-10-28 09:59:01 350

原创 启动hadoop时:Name or service not knownstname

今天在启动hadoop时遇到Name or service not knownstname这样的错误[root@poseidon01 hadoop]# start-dfs.sh16/10/26 19:02:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using

2016-10-26 19:50:59 3885 1

原创 hadoop格式化namenode时报异常: URI has an authority component

今天部署2.7.1时在格式化namenode时遇到下面的错误省略前面部分.......16/10/26 18:32:45 ERROR namenode.NameNode: Failed to start namenode.java.lang.IllegalArgumentException: URI has an authority component at java.io.File.(

2016-10-26 19:31:09 15230

原创 MySQL5.7新特性:Online ALTER TABLE

5.7之前是不支持对索引重命名的,这次添加了对所有的重命名语法,并且是in place方式。5.7 官方文档:ALTER TABLE now supports a RENAME INDEX clause that renames an index. The change is made in place without a table-copy operation. It work

2016-10-25 11:09:23 2377

原创 MySQL5.7新特性:SQL mode changes

sql_mode:这个系统变量在不同的mysql版本发生了下面的变化。Permitted Values (NO_ENGINE_SUBSTITUTIONPermitted Values (>= 5.7.5, ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ENGINE_SUBSTITUTIONPermitted Values (5.7.7) ONL

2016-10-25 10:48:12 1500

原创 shell shift

位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。#!/bin/shi=0;until [ $# -eq 0 ]dolet i=i+1;echo "第$i个参数为: $1 参数个数为: $#"shiftdone

2016-10-21 15:21:18 348

转载 GDB总结

GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例file 加载被调试的可执行程序文件。因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径。(gdb) f

2016-10-21 10:29:51 368

原创 无法连接MySQL数据库错误总结

1、可能密码不对[root@slave162 mysql3311]# mysql -uroot -P3311 -h192.168.60.162 -p123mysql: [Warning] Using a password on the command line interface can be insecure.ERROR 1045 (28000): Access denied for u

2016-10-20 11:29:43 18908

原创 主从复制错误处理总结

错误一ERROR] Slave I/O: error connecting to master 'replication@VMS00782:3306' - retry-time: 60 retries: 2, Error_code: 1045错误原因:从库用来连接主库的用户权限或者密码不对解决方法:首先在主库上检查用来主从复制的用户权限,如果没有问题在检查从库使用的密码是否正确。

2016-10-20 10:31:07 12970 1

原创 pt-online-schema-change遇到的错误

pt-online-schema-change工作机制1) 如果存在外键,根据alter-foreign-keys-method参数值,检测外键相关的表,针对相应的设置进行处理;2) 创建一个新的表,表结构修改后的数据表,用于从源数据表向新表中导入数据;3) 创建触发器,在复制数据开始之后,将对源数据表继续进行数据修改的操作记录下来,以便在数据复制结束后执行这些操作,保

2016-10-20 09:57:07 2253

原创 innodb_fast_shutdown

Innodb_fast_shutdown告诉innodb在它关闭的时候该做什么工作。有三个值可以选择: 1.  0表示在innodb关闭的时候,需要purge all, merge insert buffer,flush dirty pages。这是最慢的一种关闭方式,但是restart的时候也是最快的。后面将介绍purge all,merge insert buffer,flush dirt

2016-10-19 14:44:09 962

原创 InnoDB: which exceeds the log group capacity

有时你会遇到类似下面的错误:120414 2:20:34 InnoDB: ERROR: the age of the last checkpoint is 241588252,InnoDB: which exceeds the log group capacity 241588224.InnoDB: If you are using big BLOB or TEXT rows, you

2016-10-19 13:46:50 893

原创 innodb_online_alter_log_max_size导致的innodb添加字段时报错

innodb_online_alter_log_max_size这个参数是mysql 5.6.6引入的,因为在online ddl过程中需要保持delete、update、insert这些数据,所以需要一个日志去保持,这个参数就是限制这个日志的最大大小,当ddl过程中需要的这个日志的大小比这个限制还大的时候就会报错。具体的错误:ERROR 1799 (HY000) at line 1: C

2016-10-19 11:14:43 6721

转载 Linux NTP配置详解 (Network Time Protocol)

Network Time Protocol (NTP) 也是RHCE新增的考试要求. 学习的时候也顺便复习了一下如何设置Linux的时间,现在拿出来和大家分享设置NTP服务器不难但是NTP本身是一个很复杂的协议. 这里只是简要地介绍一下实践方法和上次一样,下面的实验都在RHEL5上运行 1. 时间和时区如果有人问你说现在几点? 你看了看表回答他说晚上8点了. 这

2016-10-17 14:57:03 525

原创 ntp错误:no server suitable for synchronization found

当用ntpdate -d 来查询时会发现导致 no server suitable for synchronization found 的错误的信息有以下2个:  错误1.Server dropped: Strata too high在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误。在

2016-10-17 14:56:10 1014 1

原创 5.7安装注意事项

安装完5.7后,会发现给你一个root密码,但是无法登陆数据库。5.7在安全性上做了很多改进,对用户方面去掉了无密码的用户。并且安装完了后,会给你一个root的密码,但是是过期的。你必须使用mysqladmin去修改密码。[root@NP-60-3 bin]# mysql -uroot -pEnter password: ERROR 1862 (HY000): Your pas

2016-10-10 18:29:54 577

原创 mydumper & myloader 使用

mydumper 特性(1)多线程备份(和mysqlpump的多线程不同,mysqlpump多线程备份的粒度是表,mydumper多线程备份的粒度是行,这对于备份大表特别有用)(2)因为是多线程逻辑备份,备份后会生成多个备份文件(3)备份时对 MyISAM 表施加 FTWRL (FLUSH TABLES WITH READ LOCK), 会阻塞 DML 语句(4)保证备份数据的一致

2016-10-08 18:06:42 1531

转载 /etc/ld.so.conf 动态库

Linux 系统上有两类根本不同的 Linux 可执行程序。第一类是静态链接的可执行程序。静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”。因为这一原因,静态可执行程序不依赖任何外部库就可以运行。  第二类是动态链接的可执行程序。  静态可执行程序与动态可执行程序比较  我们可以用 ldd 命令来确定某一特定可执行程序是否为静态链接的:  # l

2016-10-08 15:37:08 309

原创 mydumper原理

关于mysql的逻辑导出目前的工具有mysqldump、mysqlpump、mydumper 这三个工具。其中mysqldump是单线程的导出。mysqldump是mysql5.7新增加的一个工具,多线程的并行导出,但是其是表级别的并行(对于单个表还是不能并行)。mydumper是开源的一个多线程并行逻辑导出工具,且是行级别的并行导出。mydumper原理主线程负责建立数据一致性备

2016-10-08 14:49:38 1197

原创 MySQL一些监控项整理

####### GET VARIABLESversion:数据库版本key_buffer_size:myisam的索引buffer大小sort_buffer_size:会话的排序空间(每个线程会申请一个)。join_buffer_size:这是为链接操作分配的最小缓存大小,这些连接使用普通索引扫描、范围扫描,或者连接不使用索引。max_connections:最大允许同时连

2016-09-29 10:40:41 6415

转载 计算 TPS,QPS

在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标。本文比较了网上的两种计算方式。先来了解一下相关概念。概念介绍:QPS:Queries Per Second         查询量/秒,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理查询量多少的衡量标准。TPS :  Transactions Per Second   是事务

2016-09-28 22:54:07 642

原创 Tokudb引擎安装为啥需要关闭Transparent HugePages

https://www.percona.com/blog/2014/07/23/why-tokudb-hates-transparent-hugepages/If you try to install the TokuDB storage engine on a modern Linux distribution it might fail with following err

2016-09-28 13:23:52 592

原创 mysql 批量更新

今天有同事说他有批量更新的需求,一次更新1000条左右数据,问我有没有好的办法。他自己先用了replace语句发现,需要更新的字段更新了,但是其他字段变成默认值了。先看看replace(同事自己用的这个想实现批量更新,发现有问题):mysql> mysql> create table t1(id int,name1 varchar(30) default 'name1',nam

2016-09-28 10:22:35 346

原创 MySQL5.7新特性:innodb-buffer-pool-size新特性

MySQL 5.7.5后Innodb_buffer_pool_size一方面可以动态分配。但另一方面也引入了一个新特性。 bp分配必须是innodb_buffer_pool_chunk_size的倍数。同时最好是:innodb_buffer_pool_chunk_size*innodb_buffer_pool_instances.innodb_buffer_pool_chunk_size默认是

2016-09-27 20:41:15 2699

原创 tokudb desc查询比acs查询慢问题定位

这个是在一年前做性能优化测试时发现的,当时测试的版本是mysql-5.5.30-tokudb-7.0.1、mysql-5.5.41-tokudb-7.5.5 、percona 5.6.24-72.2这三个版本。后来看到官方说是一个bug.具体的bug看https://github.com/mysql/mysql-server/commit/da1d92fd46071cd86de61058b

2016-09-27 17:38:17 1284

原创 mysql表数据大小查询

1、查询某个表数据和其索引的大小select DATA_LENGTH+INDEX_LENGTH from information_schema.tables where table_schema='数据库名' and TABLE_NAME='表名称';2、查看每个库中数据和索引占用大小select TABLE_SCHEMA,concat( round(DATA_LENGTH/102

2016-09-27 15:15:27 531

原创 ERROR 1813 (HY000): Tablespace '`panda`.`t1`' exists.

有时你创建表的时候会遇到下面的错误。ERROR 1813 (HY000): Tablespace '`panda`.`t1`' exists.出现这个错误的原因是上面的t1表对于的".ibd"没有删除。进入到数据目录下panda这个文件夹下删除这个表对应的“.ibd”文件就好了(这个最好是move到其他地方,做一个备份)。然后建立表就OK了。

2016-09-27 13:48:35 4298

转载 undo空间管理(可以收缩undo log回滚日志物理文件空间)

1. 背景InnoDB存储引擎中,undo在完成事务回滚和MVCC之后,就可以purge掉了,但undo在事务执行过程中,进行的空间分配如何回收,就变成了一个问题。 我们亲历用户的小实例,因为一个大事务,导致ibdata file到800G大小。我们先大致看下InnoDB的undo在不同的版本上的一些演进:MySQL 5.5的版本上 InnoDB undo是放在系统表空间即ibda

2016-09-27 10:02:22 4736

转载 MySQL5.6 Innodb独立的undo tablespace

在MySQL5.6中开始支持把undo log分离到独立的表空间,并放到单独的文件目录下;这给我们部署不同IO类型的文件位置带来便利,对于并发写入型负载,我们可以把undo文件部署到单独的高速存储设备上. .1.使用有几个参数来控制该行为.# innodb_undo_tablespaces用于设定创建的undo表空间的个数,在Install db时初

2016-09-26 17:11:10 2780 1

原创 MySql ibdata1文件太大如何缩小

MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空:truncate table xxx;然后optimize table xxx; 没有效果因为对共享表空间不起作用。mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。如果不把数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。对于某些应用

2016-09-26 15:03:50 3330

转载 如何避免ibdata1文件大小暴涨

0、导读遇到InnoDB的共享表空间文件ibdata1文件大小暴增时,应该如何处理?1、问题背景用MySQL/InnoDB的童鞋可能也会有过烦恼,不知道为什么原因,ibdata1文件莫名其妙的增大,不知道该如何让它缩回去,就跟30岁之后男人的肚腩一样,汗啊,可喜可贺的是我的肚腩还没长出来,hoho~正式开始之前,我们要先知道ibdata1文件是干什么用的。

2016-09-26 15:02:24 3763

空空如也

空空如也

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

TA关注的人

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