摘要:
环境准备 目标环境是ubuntu 20,其实是windows下的子系统wsl里安装的。需要安装 pyspark 3.2.1 openjdk 15 注意pyspark 3.2.1 对应的最高版本jdk为openjdk15。安装也比较简单。 pyspark通过pip安装 pip3 install pys 阅读全文
摘要:
首先利用fileReader.readAsText(filePart) 默认通过utf8格式读取文件,如果文件中有非utf8字符会替换成�, 如果有�说明有非utf8字符。 windows下还有utf8 BOM格式的编码,这里通过判断文件头几个字符来判断文件是否是utf8 BOM编码。最后如果文件太 阅读全文
摘要:
因为开发需要,在本地虚拟机搭建了9个节点的redis集群,使用的版本是redis 3.2。最近由于几次强制关闭虚拟机,导致虚拟机里的redis 集群出现问题,查看节点日志,提示Unrecoverable error: corrupted cluster config file., 搜索网上资料,原来 阅读全文
摘要:
这些“kill 不掉”的情况,其实是因为发送 kill 命令的客户端,并没有强行停止目标线程的执行,而只是设置了个状态,并唤醒对应的线程。而被 kill 的线程,需要执行到判断状态的“埋点”,才会开始进入终止逻辑阶段。并且,终止逻辑本身也是需要耗费时间的。 kill 命令 MySQL 提供了 kil 阅读全文
摘要:
如此处理各种情况下的误删数据 delete 语句删除 用 delete 语句误删了数据行,可以用 Flashback 工具通过闪回把数据恢复回来。Flashback 恢复数据的原理,是修改 binlog 的内容,拿回原库重放。而能够使用这个方案的前提是,需要确保 binlog_format=row 阅读全文
摘要:
读写分离有哪些坑? 读写分离存在的问题,主要是从库不可避免存在同步延迟,导致客户端在从库读取到旧数据。 读写分离架构 读写分离主要目的时分摊主库的压力。 上面的结构是client主动选择后端数据库。 还有一种结构是带Proxy的读写分离架构 客户端直连和带proxy读写分离架构的优缺点 客户端直连结 阅读全文
摘要:
主库出问题了,从库怎么办? 备库:同步主库的binlog,当主库出问题时,备库切换为主库。一般不提供读服务。 从库:同步主库的binlog,只对外提供读服务。 一主多从主备切换 方法 基于位点的主备切换 首先我们知道,设置从库时的命令 CHANGE MASTER TO MASTER_HOST=$ho 阅读全文
摘要:
主备切换 主备流程图 主库的后台线程通过长连接将binlog日志同步到从库,从库的io_thread接受binlog写入从库的redo log ,从库的sql_thread线程重放redo log 到数据库。 在备库 B 上通过 change master 命令,设置主库 A 的 IP、端口、用户名 阅读全文
摘要:
慢SQL治理主要从三个方面进行优化 从数据表的定义开始优化 从索引设计开始优化 从查询开始优化 优化表设计 表字段长度尽量紧凑,字段尽量不冗余 字段类型尽量考虑用简单的类型 字段尽量有默认值,且默认值尽量不要用null 优化索引 设计索引的时候,尽量让查询用到索引,并且减少回表次数。 业务查询频率高 阅读全文
摘要:
binlog的写入机制 每个线程都会先将日志写入到binglog cache, 事务提交的时候,再把binlog cache写到binlog文件中。所有线程都写一个binlog日志。 binlog_cache_size 用于控制单个线程内binlog cache 所占内存的大小,如果超过了这个参数规 阅读全文