点滴积累,做好技术。
Index Extensions含义 MySQL5.6开始 InnoDB可以通过主键自动扩展二级索引的功能称为Index Extensions,即二级索引除了存储本列索引的key值外,还存储着主键列key值。
这个案例并不是我遇到的,但是我的工作生产环境中有使用到federated存储引擎,所以记录一下。 有一条SQL部分截取内容如下,执行约268秒才能出结果: 从这条SQL的执行计划中可以看出来mego.trade_order并没有出现在table列中,经查看,mego.trade_order是一个Federated存储引擎,类似Oracle的DBlink,在本地只是个链接的形式存在,实际数据文件并不存在。
之前一直对Truncate/Delete/Drop认识的不是很清晰,所以特意的翻了一下MySQL5.7 Reference Manual,准备系统的了解一下,这里是一些翻译,外加一点自己的认知。
昨天中秋节,本该是团圆的好日子,苦逼的运维我还要值班(哈哈,吐槽一下)本以为会没有啥事,谁知道比较重要的一台Oracle服务器突然报警,CPU 2个core都飙到100%,load average也比较高,如下图: AWS CloudWatch也可以看出来CPU长期使...
备注:来自知数堂老师的总结,这里搬到本博客主要是为了备忘。 一个无业务的大表,在系统不繁忙的情况下,如何尽可能的占用较少的磁盘IO,并快速的drop掉? 建议方案: 0. 一定要提前做好备份啊 1.
WingIDE是一款强大的Python集成开发工具,但是需要license,这里参考大牛的博客:http://lovesoo.org/wingide-zhu-ce-po-jie-fang-fa.html 使用Python文件生成key的方式激活WingIDE。
昨天开发找到我们DBA,要我们写一条Hive SQL。 需求: 有一个t表,主要有机场名称airport,机场的经纬度distance这两个列组成,想得到所有距离小于100的两个机场名。
安装pip [root@xxxxxx ~]# python get-pip.py Collecting pip Downloading https://files.pythonhosted.
Where和Having的异同 (1)where是查询返回结果之前进行过滤的 (2)having是查询返回结果之后,对结果进行过滤的 (3)在SQL中增加 HAVING 子句原因是,where关键字无法与聚合函数一起使用,having子句常跟group by一同使用,过滤分组...
发现问题 CDH-4.7.1 NameNode is down 启动NameNode报错如下,无法创建新的线程,可能是使用的线程数超过max user processes设定的阈值 2018-08-26 08:44:00,532 INFO org.
今天开发需要删除AWS Redshift的一个归档表,但是直接drop发生了如下报错,发现有其他对象依赖这个表,导致无法直接删除,但是报错没有直接显示是什么对象依赖它,可能是有视图,外键等约束 analyticsprod=# DROP TABLE IF EXISTS facts.
上一篇博客我们介绍了Redis Sentinel的安装配置,详情可参考链接:Redis Sentinel--安装配置,今天主要做几个简单的测试Case Redis Sentinel API ping 正常会返回pong sentinel masters 返回被监视的所有...
Redis Sentinel概述 我们知道Redis类似MySQL数据库自带主从复制结构,产品环境中,如果一旦master发生crash,我们希望slave可以立即自动提升为主,接替业务提供服务,如何实现这个功能呢?redis sentinel集群可以帮助我们实现这个功能; ...
上一篇博客我们讲了如何安装配置Redis Cluster,详情参考:Redis Cluster--安装配置,今天我们来学习一下Redis Cluster的日常运维操作 Cluster常用命令 cluster info 集群信息 cluster nodes 所有节点和sl...
背景 本篇主要讲Redis Cluster的安装,让我们先用起来,感受一下到底是怎么回事,后面再继续学习有关如何Cluster如何failover,添加节点,删除节点,迁移slots等功能。
主从复制 原理 This system works using three main mechanisms: (1)When a master and a slave instances are well-connected, the master keeps the sla...
报错 CM HDFS管理界面的报错(由于CM down这个信息是无法通过管理界面查看的,这里是从日志中获得的): The health test result for HDFS_CANARY_HEALTH has become bad: Canary test failed to create parent directory for /opt/tmp/.
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
1.数据快照RDB 1.1原理 (1)RDB是将某一时刻的数据持久化到磁盘中,是一种快照的方式。 (2)redis在进行数据持久化的过程中,会先将数据写入到一个临时文件中,待持久化过程都结束了,才会用这个临时文件替换上次持久化好的文件。
Background The /data/01 disk space is insufficient, but /data/02 is sufficient, so we migrate some data to /data/02.
最近在看MySQL5.7 Manual,有关Semisynchronous Replication这一块的内容,我们知道,MySQL默认的Replication是异步的,何为异步?何为半同步?废话不多说,直接看官方解释吧: 1.
我们知道,MySQL为了保证数据的尽量不丢失,一般会把参数sync_binlog 和innodb_flush_log_at_trx_commit都设置为1,即双1原则,但是,凡是都有两面性,高安全和高性能往往是让人很难取舍的,需要根据你的实际业务需求进行抉择; 1.
上次我们讲了TPCC的安装和一些使用方法,今天先不着急真正的做MySQL压力测试,先把我最近做压力测试的遇到的一些问题罗列出来,这样 后面做测试可以事半功倍。 1.注意事项 (1).
今天我们来讲一下MySQL的压力测试工具,目前我接触到的主要有两种压力测试工具:TPCC,Sysbench,前者只适合MySQL数据库OLTP压力测试,而Sysbench功能就比较广泛,可以测试OS的CPU,Memory,IO,以及多种关系型数据库,如MySQL,PostgreSQL; 这篇博客主要讲解Tpcc 安装,测试。
1.grafana introduction Grafana is an open source metric analytics & visualization suite. It is most commonly used for visualizing time ser...
背景: 这篇文章主要是本人结合公司有关监控,详细介绍一下Elastic stack的几个组件:Elasticsearch/kibana/filebeat/metricbeat,通过安装配置部署,以及具体的case来介绍这四个组件,有关一些基本概念,直接从官方网站上copy,毕...
问题描述及分析处理: 最近在做AWS Cloud从CentOS6.9升级到CentOS7.4.1708,系统上跑着oracle数据库,数据量大概1.5T,准备了一个全新的CentOS7.
昨天在做MySQL SwitchOver遇到一个诡异的想象,切换前后的结构图如下: 当我把一切都切换好之后,应其他需求,重启了04上的mysql,然后show slave status\G发现报错: Last_IO_Error: Fatal error: The slav...
由于开发提出需求: (1)在多个PostgreSQL的instacne上面创建一个readonly用户,仅对数据库里面的表或者视图(包括物化视图)有仅有select权限,并且对以后新建的表和视图也要有select权限,我们知道PostgreSQL 在schema下新建的表,对于一个已经存在的用户不会自动赋予select的权限的,需要我们使用grant select.
集群中每个节点都要执行: 停止服务 service cloudera-scm-server stop service cloudera-scm-agent stop 卸载安装包 yum remove -y cloudera* yum clean all 或者: for...
1.安装方式 CDH的离线部署安装,即Parcel包(推荐) 2.角色规划 三个节点对应的角色: 3.基本环境配置(在每个节点上都要配置) (1)关闭防火墙 #/etc/init.
Case: 一个read-only 角色对某个schema下的新建的表,无需单独授权,直接拥有只读权限 首先,你要知道PostgreSQL默认schema下新建的表,对于一个普通用户不会有select的权限的,所以我需要修改PostgreSQl默认的权限,把select提前赋...
systemd是Linux的一个工具,是CentOS7.x系统启动的第一个进程 1.systemd的一些相关命令 (1)systemctl 系统管理 #检查系统是否充分的运行 [root@localhost ~]# systemctl is-system-running r...
PostgreSQL starts with the system The document describe how to configure automatic start PostgreSQL when the system starts.
zookeeper 是一个分布式协调系统 下载链接:http://mirror.cogentco.com/pub/apache/zookeeper/ 1.zookeeper集群结构 (1) leader 是zk集群的主节点,客户端向zk注册数据时,都要通过leader来对整...
1.创建表 (1)内部表和外部表的区别 默认创建的是内部表,可以指定目录,如果不指定则会创建默认目录,一旦drop,该目录和数据都会被删除 创建external table 的时候需要指定存放目录,并且drop表的时候,不会删除该目录和目录下的数据,只会删除元信息 #创建一个外部表 0: jdbc:hive2://192.
Hive简介 (1) hive不支持OLTP处理 (2)Hive 1.2 及之后需要java1.7或更新版本 Hive安装 (1)hive可以安装在任何一个机器上,前提是这个机器必须要有hadoop软件(可以不启动hdfs,yarn等进程),因为Hive需要用到hadoop软件下的一些jar包 (2)hive1.
错误描述 (1) Postgres执行的原SQL: select COALESCE(m1.place_id, m2.place_id, m3.place_id) as place_id, concat_ws('``', m1.
配置环境 本文档安装hadoop集群环境,一个master作为namenode节点,一个slave作为datanode节点: (1) master: os: CentOS release 6.
目的 本文档介绍如何去安装单节点hadoop集群,以便你可以的了解和使用hadoop的HDFS和MapReduce. 环境: os: CentOS release 6.5 (Final) ip: 172.
Hadoop简介 Hadoop是使用Java编写,允许分布在集群,使用简单的编程模型的计算机大型数据集处理的Apache的开源框架。 Hadoop框架应用工程提供跨计算机集群的分布式存储和计算的环境。
做备份恢复,导入数据的时候遇到如下错误:$mysql $c show variables like '%max_allowed_packet%';+--------------------------+------------+| Variable_name |...
(1)cassandra-cli cassadnra-cli命令在cassandra2.2中被抛弃,以后登录访问cassandra可以使用cqlsh [tnuser@sht-sgmhadoopdn-02 cassandra]$ cassandra-cli -h 172.
Cassandra用role代替用户和用户组,默认创建的role没有login和super权限; 但是默认创建的user是有login的权限 (1)角色 #创建角色 cassandra@cqlsh:keyspace1> create role cdhu1; cassandr...
Introduction What is Cassandra? The Apache Cassandra database is the right choice when you need scalability(伸缩) and high availability without compromising performance.
我们知道pg_upgrade和pg_dump/pg_restore可以实现大版本升级数据库,那么小版本如何升级,比如从9.6.3到9.6.5? 原理:用新版本的软件程序启动,指定老的的数据目录 安装pgsql9.
pg_upgrade (1)PostgreSQL提供大版本升级的一个工具,比如说从9.1到9.2,也可以一次跨多个大版本,直接从9.1到9.5等,它的优点是不需要把数据导入导出,这在数据量比较大的时候,非常方便。
PostgreSQL的pg_xlog下有大量日志,空间不足,如何删除? Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>ls 000000010000000000000008.
当我使用vim编辑一个常用的配置文件的时候出现一个错误: E297: Write error in swap file 然后上网查找原因,说是磁盘空间不足,于是我就查看一下机器磁盘空间使用情况: sht-sgmhadoopdn-02:postgres:/usr/loca...
今天开发找到我,说他们的数据库连接不上了,可能是连接数太多,然后我登录到服务器,并且尝试登陆数据库,也是报错: psql: FATAL: sorry, too many clients already 很明显,是数据库连接满了。