- 博客(33)
- 资源 (10)
- 收藏
- 关注
转载 MongoDB管理:慎用local、admin数据库
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。慎用local数据库local数据库,从名字可以看出,它只会在本地存储数据,即local数据库里的内容不会同步到副本集里其他节点上去;目前local数据库主要存储副本集的配置信息、oplog信息,这些信息是每个Mongod进
2016-03-31 15:21:38 6395 1
转载 关于MongDB数据迁移方案的研究
如果说mongodb在设计上有什么缺陷,那数据迁移应该算是不小的一个,在集群内部,不同分片之间的auto-balance问题频出,无法用于实际生产环境,而集群之间的数据迁移也没有给出一个可行的方案.对于集群内部的负载均衡,我们使用了pre-split,关闭了auto-balance,定期move chunk,并将move chunk分成了copy到目标分片,更新config路由与remov
2016-03-30 15:48:12 638
转载 MongoDB 性能瓶颈分析
一、前情简介 半个月前,公司的MongoDB压力由于用户量暴增导致压力急剧增加,读写能力下降。 因为对于Mongos 的集群分片机制的了解和测试还不是很充分,所以开始使用最简单的办法来解决:提高配置。 众所周知,MongoDB是出了名的吃内存。当时定义出来提高MongoDB的办法很简单,插内存。 但是由于机房问题,插内存需要拔电源,导致停止产品的服务,所以经过研究后。 用我
2016-03-30 15:42:12 8027 3
转载 TCP 的那些事儿
(上)TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些
2016-03-30 15:07:17 728
转载 MySQL数据库SYS CPU高的可能性分析
问题背景我们在管理繁忙的 MySQL 数据库时,可能都有碰到 SYS CPU 高的经历:系统突然 SYS CPU 高起来,甚至比 USER CPU 高很多,这时系统 QPS、TPS 急剧下降。SYS CPU高是什么造成的呢?主要有2种可能:1. context switch 不高,但在内核态 spin,导致 SYS CPU 高2. context switch 高,每秒超过 200
2016-03-30 15:04:35 3137
转载 MongoDB Driver:使用正确的姿势连接复制集
MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证服务的高可用。但需要注意的时,连接副本集的姿势如果不对,服务高可用将不复存在。使用复制集时你需要知道的MongoDB复制集里Primary节点是不固定的,当遇到复制集轮转升级、Primary宕机、网络分区等场景时,复制集可能会选举出一个新的Primary,而原来
2016-03-25 16:16:56 2726
原创 MySQL复制常用拓扑结构详解
复制的体系结构有以下一些基本原则:(1) 每个slave只能有一个master;(2) 每个slave只能有一个唯一的服务器ID;(3) 每个master可以有很多slave;(4) 如果你设置log_slave_updates,slave可以是其它slave的master,从而扩散master的更新。MySQL不支持多主服务器复制(Mult
2016-03-25 11:45:26 1883
转载 主从同步设置的重要参数log_slave_updates
说明:最近部署了mysql的集群环境,详细如下M01和M02为主主复制,M01和R01为主从复制;在测试的过程中发现了以下问题:1、M01和M02的主主复制是没有问题的(从M01写入数据能同步到M02,从M02写入数据能够同步到M01);2、主从同步的时候,当从M01写入的时候,数据可以写入到R01;3、当从M02写入的时候,数据就不能写入到R01; 问题的
2016-03-25 11:42:49 7785 1
转载 MySQL锁阻塞分析
日常维护中,经常会碰到线程被阻塞,导致数据库响应非常慢,下面就看看如何获取是哪个线程导致了阻塞的。blog地址:http://blog.csdn.net/hw_libo/article/details/390808091. 环境说明RHEL 6.4 x86_64 + MySQL 5.6.19事务隔离级别:RR2. 测试过程
2016-03-24 10:27:20 1040
转载 seconds_behind_master监控复制推延的不足及pt-heartbeat改进方法
seconds_behind_master监控复制延迟的不足及pt-heartbeat改进方法 seconds_behind_master含义及不足seconds_behind_master的值是通过将salve服务器当前的时间戳与二进制日志中的事件的时间戳相比得到的,所以只有执行事件时才会报告延迟。1.1 如果备库复制线程没有运行,就会报延迟为null。1.2 一
2016-03-24 10:24:24 523
转载 初识JNDI
初识JNDI JNDI是J2EE的核心技术之一,JNDI的功能简单说就是可以简单的方式去查找某种资源。比如在Tomcat中配置了一个JNDI数据源,那么在程序中之需要用Java标准的API就可以查找到这个数据源,以后数据源配置发生变化了,等等,程序都不需要改动,之需要改改JNDI的配置就行。增加了程序的灵活性,也给系统解耦了。 JNDI的非常重要,我们时不时都在用它
2016-03-23 11:23:46 555
转载 Linux Shell编程第四篇case语句
case语句适用于需要进行多重分支的应用情况。 case分支语句的格式如下: case 变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;
2016-03-23 10:06:32 558
转载 wireshark安装问题
[root@lc~]# tshark Running as user "root" and group "root". This could be dangerous.Capturing on eth0tshark: Unknown message from dumpcap, try to show it as a string: /usr/sbin/dumpcap: symbol
2016-03-22 15:49:30 2897
转载 大规模运行MongoDB应该知道的10件事
MongoDB的首席解决方案架构师Asya Kamsky 最近发表了一篇文章,概括了大规模运行MongoDB需要知道的10件事。MongoDB也需要DevOps。MongoDB是一个数据库。和任何其他的数据存储一样,它也需要容量计划、调整、监控和维护。不要因为它很容易安装、入门,同时与关系型数据库相比能够更加自然地满足开发人员的范例就认为MongoDB不需要适当的照顾和喂养。开发时它能
2016-03-22 14:07:22 3562
转载 【案例】RAID卡写策略改变引发的问题
一 现象描述 开发反馈某产品的agent 的进程hang在某些线程上,查看日志,agent master 累积很多未处理的消息队列。在17:00 – 21:00 之间,有一定程度的写入量低峰,猜测可能是写入数据库变慢了,不过从目前得到的信息来看无法完全确定。"pool-10-thread-12" prio=10 tid=0x000000005f36d000 nid=0x1d8
2016-03-17 15:30:25 1879 1
转载 Eclipse与MyEclipse的选择问题
很多Java的学习者会纠结一个问题, 是采用免费的Eclipse呢还是采用破解的MyEclipse. 在讨论这个问题之前,我们先来看看他们的区别把: Eclipse,跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Ecl
2016-03-17 11:14:46 42509 2
转载 如何使用Tmux提高终端环境下的效率
鼠标的发明是了不起的创新,它让电脑更加接近普通人。但从程序员和系统管理员的角度,使用电脑工作时,手一旦离开键盘,就会有些分心。作为一名系统管理员,我大量的工作都需要在终端环境下。打开很多标签,然后在多个终端之间切换窗口会让我慢下来。尤其是当我的服务器出问题的时候,我不能浪费任何时间!Tmux是我日常工作必要的工具之一。我可以借助Tmux构建出复杂的开发环境,同时还可以在一旁
2016-03-16 23:06:35 486
原创 innobackupex中--slave-info参数的含义和适用场景
我有个问题一直没弄明白,就是innobackupex里面的--slave-info这个参数,是干什么的呀。最终在命令帮助和我的实验,弄清楚了其中的含义。 下面就是一个我经常用来备份全库时的语句:innobackupex --defaults-file=/etc/my.cnf --user=root --password='123' --host=localhost --rsync
2016-03-16 23:03:38 4658
转载 ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
前言:朋友咨询我说执行简单的update语句失效,症状如下:mysql> update order_info set province_id=15 ,city_id= 1667 where order_from=10 and order_out_sn='1407261241xxxx';ERROR 1205 (HY000): Lock wait timeout exceeded; tr
2016-03-15 10:27:04 672
原创 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
对于大型网站如facebook,ebay等网站,如果没有Memcache做为中间缓存层,数据访问不可能吃得消,对于一般网站,只要具备独立的服务器,完全可以通过配置Memcache提高网站访问速度和减少数据库压力,这里主要讨论一下Memcache和MySQL数据库交互过程的流程关系,了解Memcache的中间缓存层作用,从而深入了解Memcache机制原理。Memcache和MySQL交互流
2016-03-15 09:40:24 10681 3
转载 美团在Redis上踩过的一些坑-5.redis cluster遇到的一些问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 由于演讲时间有限,有关Redis-Cluster,演讲者没做太多介绍,简单的介绍了一些Redis-Cluster概念作用和遇到的两个问题,我们在Redis-Cluster也有很多运维经验,将来的文章会介绍。 但是讲演者反复强调,不要听信网上对于Redis-Clu
2016-03-15 09:39:27 19266 2
转载 美团在Redis上踩过的一些坑-4.redis内存使用优化
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 一、背景: 选择合适的使用场景 很多时候Redis被误解并乱用了,造成的Redis印象:耗内存、价格成本很高: 1. 为了“赶时髦”或者对于Mysql的“误解”在一个并发量很低的系统使用Redis,将原来放在Mysql数据全部放在Redis中。 ---
2016-03-15 09:38:47 8164
转载 美团在Redis上踩过的一些坑-3.redis内存占用飙升
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 一、现象: redis-cluster某个分片内存飙升,明显比其他分片高很多,而且持续增长。并且主从的内存使用量并不一致。 二、分析可能原因: 1. redis-cluster的bug (这个应该不存在) 2. 客户端的hash(key)有
2016-03-15 09:37:57 38072 1
转载 美团在Redis上踩过的一些坑-2.bgrewriteaof问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 一、背景1. AOF: Redis的AOF机制有点类似于Mysql binlog,是Redis的提供的一种持久化方式(另一种是RDB),它会将所有的写命令按照一定频率(no, always, every seconds)写入到日志文件中,当Redis停机
2016-03-15 09:37:18 4752
转载 美团在Redis上踩过的一些坑-1.客户端周期性出现connect timeout
转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 1. 背景: 大部分互联网公司都会有Mysql或者Oracle的DBA,但是在Nosql方面一般不会设置专门的DBA。不过对于一些知名的互联网公司来说,Nosql的使用量是巨大的,所以通常让Mysql的DBA或者单独聘请工程师来维护一些Nosql数据库,比
2016-03-15 09:36:09 9338
转载 Mysql一些维护命令
----------------------------------------------------------------------------使用mysql客户端程序-----------------------------------------------------------------------------------------------建立MySQL
2016-03-14 15:24:20 1937
转载 linux tr命令详解
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串
2016-03-14 15:22:04 689
转载 用mysqlbinlog查看row格式的事件
MySQL 5.1开始,binlog支持row-based的格式,默认情况下只能看到一些经过base-64编码的信息,如DELIMITER /*!*/;# at 7493962#090827 5:25:03 server id 1 end_log_pos 0 Start: binlog v 4, server v 5.1.26-rc-community-log created 09
2016-03-11 18:19:09 3012 1
转载 rhel6系统中,mysql 5.6复制新特性下主从复制配置[基于GTID]
1.mysql5.6在复制方面的新特性:(1).支持多线程复制:事实上是针对每个database开启相应的独立线程,即每个库有一个单独的(sql thread).针对这样的改进,如果我们想实现多线程复制,无疑要对现存的数据库结构进行重新设计,分库分表.对于压力都集中在个别database的,多线程并发复制特性就没有意义.(2).支持启用GTID,在配置主从复制,传统的方式里,你需要
2016-03-10 16:38:13 540
转载 减少mysql主从数据同步延迟问题的详解
基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了。如果延迟比较大,就先确认以下几个因素: 1. 网络延迟2. master负载3. slave负载一般的做法是,使用多台slave来分摊读请求,再从这些slave中取一台专用的服务器,只作为备份用,不进行其他任何操作,就能相对最大限度地达到'实时'的要求了另外,再介绍2个可以减少延迟的参数
2016-03-08 17:29:03 587
原创 使用flush-logs命令重新生成MySQL的相关日志文件
上次没事把慢查询日志文件给删除了,以为会自己重新建个,结果这几天看,都没有~~~结果百度了下才知道,想要重新记录那些日志必须重启数据库或者执行flush-logs命令。。。具体步骤:/usr/local/mysql/bin/mysqladmin -uroot -p flush-logs上面的那个路径是你mysql的安装路径。执行上面的语句后会提示输入root的密码~~然后,就木
2016-03-08 09:21:37 7124 2
转载 如何快速截取某段时间内的日志
在排除故障时,需要分析发生故障的原因,避免再次出现同样的问题,需要对日志进行分析,截取故障前后时间段的日志。通常用正则表达式来获取某段时间的内的日志,比较繁琐。可以通过awk方便简捷的实现。我这里以截取nginx访问日志为例:查看21/Jul/2014:14:37:50到21/Jul/2014:14:38:00时间段内bbs.ttlsa.com的访问日志。
2016-03-07 18:05:46 4727
运维工程师必会的基本的linux命令
2011-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人