自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树莓派4B 4G Ubuntu 20.04 arm64位 安装 Kubernetes 1.18.5 单master 双node集群

简介本文章通过从零开始,最精简的初始化系统一步步配置完成K8S的安装,尽量介绍清楚各软件安装环境、作用,减少个人之间树莓派系统配置差异带来的异常排查困难。本次教程前提:需要会linux简单的操作本次教程环境树莓派4B 4G,数量:3块内存卡:64G,数量:3张系统:Ubuntu arm64docker版本:19.03kubernetes版本:其他配件:电脑显示器,及其树莓派hdmi转换成常规hdmi链接显示器输出、键盘、鼠标等常用硬件本次自定义软件路径:/app硬件说明树莓派官方的

2020-11-03 16:01:14 63 1

原创 Oracle sql 执行时间突然变长的一点排查思路

最近接到组里的小朋友问我说,开发给他提的一个问题,程序的日常创单的服务突然数据库执行时间激增,一看截图,平时sql都是毫秒级返回数据,在昨晚2点开始突然激增到1到2秒才返回,服务又是订单创建服务,所以需要排查问题;因为小朋友没有给到具体sql,只给书入参时间和说是创建订单的服务,所以第一步应该是找到SQL文本;通过Oracle慢sql查询定位到2点左右的慢sql,由于我们系统我设定的snap_id是每小时刷一次,所以昨晚两点的snapid就能获取到,通过snap_id找到2-3点左右的慢sql.

2020-09-02 14:55:19 112

原创 MySQL集群闲聊(MGR/主从)

MySQL集群搭建经验 (mgr和主从)官方的集群模式各节点通讯方式都不需要额外的第三方扩展插件既然不需要第三方扩展插件,那么这句话就等价于配置各个节点的通讯都只需要通过命令行或者写配置文件实现;配置文件的本质是把多个想自定义的参数写在同一个地方,面去在命令行启动mysql的时候敲打很长一串参数命令,同样这句话的另一个意义是:MySQL有很多参数变量配,我们可以自定义的调控变量对应的值来调控参数,但默认不能自己随意的添加参数变量(除非定制化开发);所以变量都是确定的,所有的变量都会有默.

2020-07-21 16:53:03 233

原创 MySQL 慢日志迁移后没有自动创建新的日志文件记录

问题:MySQL5.6/5.7/8.0把慢日志mv迁移到其他路径后没有自动创建新的log文件状态:mysql实例运行正常,没有看到error log,慢日志配置正常,采集时间正常,范围正常;解决:再数据库上执行刷新操作,命令:flush logs原因:需要刷新缓存官方原文:FLUSH LOGSCloses and reopens any log file to which the server is writing. If binary l...

2020-07-03 09:34:15 77

原创 go yaml解析不定长yaml文件记录

最近在梳理公司的k8s服务和对应数据库连接关系,由于服务太多开发团队也不完全清楚有哪些,于时我决定从服务的配置文件去分析先拉出服务名称和对应数据库连接地址,同时尝试写成服务的形式监控git上的配置文件路径,若有新的服务自动从中解析出相关数据库连接信息;服务采用go编写,而本次分享则是服务核心,对不定长yaml文件的解析思路:环境: 在config目录下有许多服务配置文件目录,在配置文件的目录下会有yaml配置文件,由于负责发布的人员不同,yaml文件的形式也不一定相同 比如:有的人...

2020-06-28 14:17:44 207

原创 mysql 数据归档经验洽谈

归档对于DBA来说是一个非常严肃的话题,但是对于开发来说可能就没有那么的重视,最近我接到开发经理的需求说要归档两个月以前的短信日志;在开发和开发经理看来,短信下发了就下发了,超过60天的数据已经处于完全无用状态,属于可丢弃数据;需求到我这里,我给了两个方案,1、做一个归档数据库,2、文本形式归档其中做归档数据库肯定是比较复杂的,原因有:1、考虑整个平台的通用性,可定要慎重的选型数据库2、一旦选型好了需要搭建、测试、做集群高可用等等前期大量工作3、当归档数据库集群架构好了以后,数.

2020-06-05 14:30:13 144

原创 数据同步工具kettle

kettle这工具真的太人性化了,把操作变成了傻瓜的的拖拉拽,用户只需要配置数据提取的库信息、提取的sql逻辑、目标所需的数据信息就可以实现快速的数据同步;之前我有用过阿里的datax,虽然个人感觉也挺好用的,但是个人还是更喜欢kettle的简单化;kettle基于java开源,安装和使用需要jdk,虽然我不是很喜欢Java,但不得不说,Linux平台和window平台都能使用,而windows平台更是有傻瓜式的中文操作界面,对新人非常友好;kettle操作主要分为三部:1...

2020-05-13 17:43:18 150

原创 godaddy构建ddns服务

godaddy域名服务商提供api接口供调用修改域名各个参数配置,同样的dns也属于域名参数的一种,我们可以修改域名dns指向实现域名和ip绑定的变更。同样的我们可以通过脚本的形式定期执行修改实现动态dns服务。https://developer.godaddy.com/doc/endpoint/domains#/v1/recordReplace该网址是godaddy api文档地址,其中v1/recordReplace则是实现ddns的方法,这里包含了4个重要组成部分,下图只展示了三个:.

2020-05-11 11:06:41 738 4

原创 记录:python list 转换成 sql 的条件

最近开发后端的时候,发现接到的用户数据不再是个定长值,有可能用户输入一个也有可能输入多个,而前端传过来都是以list形式个的,由于传过来的值是需要直接到数据库作为条件去查的,所以遇到了不确定值得sql确定问题。解决办法非常的多,可以一个个查,可以转换成元组,可以拼接字符串形式,这里记录的主要原因是,选择某种方法的时候考虑性能和安全,性能很简单了,能一次查询的尽量少连接数据库,所以pass掉一个...

2020-04-24 18:15:15 308

原创 arm k8s 部署 ingress

环境: 系统:arm64 硬件:树莓派4B 4G 集群架构:1 master 2 node K8S版本:1.16.2 ingress版本:0.30.0原理不介绍,只讲部署经验部署方式: 1、线上直接安装 2、本地离线安装本次方式:本地离线安装 一般来说arm版本的K8s第三方控制器,都是用离线安装手段,主要原因有...

2020-04-01 15:03:16 768

原创 docker打包封装应用

目的: 为K8S制作docker的服务镜像,使得程序可以通过K8S运行,原理就是docker对应用服务的打包,生成的镜像不仅K8S能用,docker swarm 或者docker直接启动都可以打包方式: docker file简单理解: docker应用打包可以理解为拉去了一个liunx最小系统,在该系统上部署应用服务后封装成一个镜像,使其运行该镜像时能...

2020-03-26 11:39:59 521 3

原创 kubernetes 的deployment类型控制器yaml个人理解

如下是一个使用deploy控制器创建的nginx集群#资源组,必须apiVersion: apps/v1#资源类型,必须kind: Deployment#资源信息,必须metadata: #定义deploy资源启动后的名称 name: nginxtest-deploy #定义该资源所属的名称空间 namespace: test#资源期望定义spec:...

2020-03-13 12:07:17 485

原创 k8s 使用本地docker仓库

环境: 树莓派4B 4G+ K8S version:1.16.2 集群:1 master 2 node 仓库ip:192.168.1.2:5000前提: 本地已搭建好docker本地仓库: 例如执行以下命令运行本地仓库: docker run -d -p 5000:5000 --name=registry --restart=al...

2020-03-12 16:49:18 478

原创 python MySQL 链接池 DBUtils

看了很多关于python连接池的文章,文章都写的很好,但唯一的遗憾是没有针对第一次接触链接池的朋友进行介绍的。最近有几个小朋友问我python链接池到底咋用,趁此记录下对链接池的入门理解;链接池,首先他的作用是开一个连接通道,他的使用场景不仅仅是数据库。什么是通道?举个例子,python pymsql连接数据库执行一次查询,第一步程序需要连接数据库,第二步保持这个通道不断开并发送sql,...

2020-01-21 16:54:32 141

原创 css实现带小三角形的边框

主要方法是使用伪元素before和after,之前已经总结过伪元素before、after用法,它们效果相当于在标签的内部放置一个最前或者最后的标签,添加的标签同样的能够继承父元素的属性,那么通过伪元素就可以组装拼出对话框的小三角;原理图:第一步:第二步:设定浮动,让before和after三角形重叠:第三步:通过top -px像素把三角形移到div边框上...

2020-01-19 12:17:57 676

原创 css before 和 after

谈自己对after和before的学习;学css样式,before和after是必须要掌握的,但是直到最近我才感觉摸到他们的门槛;before和after是伪元素;解读伪元素三个字:首先,他具有元素的属性样式,但是本身不属于document文档内,无法被js读取;白话说法就是:html页面是document文档,div/ul/li/a/span/p等等属于document文档内...

2020-01-17 12:22:03 261

原创 mysql load csv 数据量异常

最近做子公司数据录取,load csv文件发现录入的数据量不对,记录下产生原因和解决过程;load data数据量不对,第一步看什么?mysql load结束后,首先看query 和 records是否一致query是查到的数据量,records是提交的数据量,如果query和records不一致,提交肯定少了,数据导入有问题;如果query和records数据量一致,但是有w...

2020-01-10 14:51:03 102

原创 mysqldump 自动备份脚本和日常吐槽

#!/bin/bashpath=/home/mysqlbak/newtime=$(date "+%Y-%m-%d")deletedata=$path$(date -d "6 days ago" +%Y-%m-%d)"_alldatadases.dump"olddata=$(ls $path"*.dump" -tr |head -1 |xargs)$(echo $deletedata ...

2020-01-07 14:37:04 88

原创 Oracle 执行计划总结

方式:sql前面加explain plan forpl/dv工具快捷方式:f5按键;举例:description:执行描述Obj own:项目拥有者Obj name:项目名cost:Oracle算法算出的值,越高代表性能越差,消耗越长cardinality:扫描行数,Oracle预估的执行该sql会扫描的数据行数,注意是预估行数不是精...

2019-12-27 14:58:24 89 1

原创 Qlik开发总结

总体概念:根据思路执行步骤:1、通过数据库读取数据生成qvd文件,以windows服务器为例,需要在Qlik所在的机器上配置ODBC数据库连接,然后再qlik软件中新建数据库连接才能读取2、配置好连接后在qlik数据加载编辑器中需要编写数据加载逻辑,这时候数据加载并没有存在本地,需要明确使用命令store存储于本地位置形成本地qvd文件,这个qvd文件则为基...

2019-12-06 16:27:31 282

原创 MYSQL 直接解析json

MySQL 5.7版本以后支持json格式的字段类型定义、存储和使用,最近做BI开发,开发把所需数据用JSON的形式存储在字段中,本次记录下MySQL解析JSON。环境:MySQL 8.0角色:root参考:https://dev.mysql.com/doc/refman/8.0/en/json.html一般来说,主要是提取json字段的值,所以update就...

2019-12-05 18:03:59 1174

原创 keepalived配置文件和心得

#keepalivedkeepalived原理: 基于VIP (虚拟IP) vrrp协议,即建立一个虚拟IP地址(如172.24.0.1/16),让所有设备都能连接这个虚拟的IP,通过配置主从,master首先使用虚拟IP,slave standby状态,master机器主动定时(如1s)广播状态给slave, 如果slave一定时间内没有接收到master的广播,认定mast...

2019-11-29 18:25:32 309

原创 Linux下go安装

方式:tar.gz包安装环境:centos7.*角色:root原理:Linux go安装非常简单,只需要在go官网下载安装包解压即可使用,唯一需要注意的是需要配置环境变量使得全局通用1、下载:https://golang.org/dl/选择对应系统的版本,注意linux中arm和x86包是不一样的,arm需要选择arm版本2、解压包下...

2019-11-12 10:48:10 91

原创 树莓派4B安装docker

环境:4B 4G版角色:root1、更新系统apt-get update2、更新软件包传输方式apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ lsb-release \ software-properties...

2019-11-10 19:38:02 2445

原创 树莓派4B 安装PIP3

环境:树莓派4B 4G版角色:root检查系统自带python3版本:Python3 -V3.7.3查看pip3版本未安装pip3安装方案:1、解决ModuleNotFoundError: No module named 'distutils.util'模块报错apt-get install python3-distuti...

2019-11-10 19:32:46 3380

原创 html audio缓冲效果实现

网页自定义播放器控件时,需要解决比较棘手的问题一般来说就是媒体文件的缓冲效果数据的来源,和任意跳转播放的缓冲数据来源;这里我只做音频播放控件,以audio为例:对于媒体的加载可以js触发监控的事件有:audio.addEventListener("loadstart", function() { // 开始加载});audio.addEventListener("durati...

2019-10-15 11:14:32 1013

原创 原生JS 解决ajax return返回undefined问题 思路

事件原因:在整合前端逻辑的时候,发现很多js都写了ajax的请求,由于都是走的json,所以基本格式几乎是一致的,所以想把所有需要调用ajax请求的js文件同一调用一个封装好的ajax请求函数,统一请求接口;产生问题:由于很多方法都在调用ajax,数据的处理基本都是根据ajax响应数据写的独立的方法,所以需要得到ajax的返回数据,由于把ajax请求统一了,因此功能处理函数需要得到aj...

2019-10-12 18:50:14 522

原创 解决思路:no python application found, check your startup logs for errors

uwsgi部署python web项目的时候可能会出现标题报错:解决思路,看日志:[root@lovecat uswgi]# uwsgi --http :9090 --wsgi-file /app/uwsgi/start:app*** Starting uWSGI 2.0.18 (64bit) on [Thu Oct 10 02:28:27 2019] ***compiled wit...

2019-10-10 15:52:49 1330

原创 Linux python3使用自定义包

最近用pycharm开发完了一些项目部署到树莓派上做测试的时候跑不起来,发现报错找不到自定义模块,记录下解决办法;环境:linux Debianpython3.7由于我的树莓派上没有删除python2.7,是3.7和2.7共存的,启动python3.7我的命令是python3,只有一个版本的python环境就不用带指定版本号之类的了。原理:python启动...

2019-10-08 10:07:09 273

原创 FLASK部署服务器,Ajax请求报错500 解决思路

重点:500错误不是NGINX错误,不是API错误,不是JS/AJAX/HTML错误,而是服务端后台应用错误,即flask应用错误运行flask需要https server网关,之前已经说到python应用网关常规使用uwsgi,所以配置flask 项目的网关也是使用uwsgi在服务器上,需要做以下几步:1、安装uwsgi,pip install uwsgi安装即可2、安装fla...

2019-09-26 14:44:03 1648

原创 网站交互的理解

网络交互请求的本质: 网络交互是什么?体现在什么? 这两个问题一直在我写网站前端的时候总是出现却又总是摸不到头脑,在慢慢的写完后端, 搭建完了网关服务后,突然明白网络交互无非就是权限的控制。 当我的网站没有人登陆的时候,展示的是默认index,index中的user这一栏显示登陆两字, 当有人登陆后,仅是把登陆两字改成了用户名,其余数据基本没变;...

2019-09-23 15:59:13 45

原创 python web 网关API/httpserver学习之 uWSGI学习,实现ajax json与python py程序之间的数据交互

uWSGI: uWSGI:是python的http server服务,也叫做python网关API,主要作用是接收html发送过来的数据并传递给web后台逻辑,实现数据库的交互 python web中,大多数都在讨论flask等框架,个人而言,更喜欢讨论一些server实现而不是现场框架,所以自己写的网站后端处理逻辑也是用的python, 但是并没有用任何的python...

2019-09-23 15:01:30 147

原创 Oracle存过里面使用自定义type实现类似于事物执行中产生一张临时表过渡数据

记录这篇文章前,是今天写了一个存过的需求,嗯,咋说,不想新建临时表,所以想了下用自定义type的形式想办法在纯过里面搞一个table级别的数据集合,先上代码:CREATE OR REPLACE PROCEDURE GET_TAG_COM(INDATA IN VARCHAR2,OUTDATA OUT SYS_REFCURSOR)IS-----------------重点:自定义类...

2019-09-20 18:30:20 86

原创 原生js实现响应式全屏轮播图

声明:以下方法是刚入门前端实验产品,高手绕道。最近做自己网站的时候遇到轮播图问题。网络上无数个教程都描述了如何做出一个轮播图,或者如何用jq做出一个自适应轮播图。对于还没有时间去了解jq的dba来说,实在没有精力去了解jq(主要是js还不熟),但是自己琢磨了下好像可以用纯js+css3实现自适应轮播。鉴于是我无聊给我自己做的网站,所以在写前端的时候没有考虑太多支持各种老版本浏览器,所以兼容...

2019-09-12 16:17:42 1173

原创 ffmpeg第三方解码库的使用

一般来说初次安装ffmpeg的人很少会真的了解自己需要用到的解码库和编码库,比如第三方aac库libfdk-aac,该库转换的aac质量比自带的aac库质量会高许多。但是libfdk-aac不会随ffmpeg一起安装,需要独立的安装,所以这里记录下解决第三方库使用的思路。一般来说第三方库是需要独立编译安装的,所以第一步,找个位置编译安装第三方库。安装完第三方库后,要想ffmpeg能够...

2019-07-31 09:58:09 562

原创 nginx+ffmpeg实现流媒体

初步记录实现流媒体播放。流媒体身边太常见了,比如网易云音乐、qq音乐、爱奇艺、哔哩哔哩之类的,只要是媒体数据在服务器上,动态的传输到客户端进行播放的都算是流媒体。实现流媒体的视频播放是最简单的,表现得现象是:ffmpeg安装完后默认就是视频流,实际我想实现得是纯音频流,类似于音乐播放软件一样仅播放歌曲,目前还在进一步研究中,这里初步记录流媒体得实现。NG+FFmpeg组合实现流媒体,...

2019-07-03 16:14:37 3196

原创 已安装的nginx添加第三方模块

nginx添加网上很多动态的第三方模块教程,都是在讲./configure后替换nginx执行文件,今天我尝试以一波他们的方法没有成功,记录下我的操作。环境和版本:centos7 niginx1.16前提,NG想要动态的可扩展第三方模块必须要编译安装才行,所以yum安装的洗洗睡吧编译安装很简单,在ng官方下载源码解压后,进入文件夹第一层直接运行:./configure --pre...

2019-07-02 11:54:02 558

原创 python3文件夹监控模块watchdog学习

网上搜索python的文件夹监控,windows下推荐的大多数都是watchdog,萌新的我就学习了下这个模块。这模块看了很久的git,没看懂,后来把git的示范代码拉在电脑上跑了一次就懂了,所以对于看不懂各个帖子写的介绍的,建议先把git上官方举例代码拉下来跑一次。先安装watchdog,watchdog主要使用三个角色:1、Observer可以通过以下命令导入:from...

2019-06-29 19:20:43 5672

原创 Oracle 字符串拆分做条件方案

一般Oracle存过接受外部传入的数据有两种方式:1、每个参数定义一个入参变量2、只定义一个入参变量,外部所有参数都按照特定格式的字符串传给变量后,数据库进行字符串切分处理。当然,作为一个dba,我还是喜欢每个参数定义一个入参变量,后期的扩展维护都比传入字符串强,当然缺点就是传入参数不能太多,要是有十几个的传参就要定义十几个变量,用起来也麻烦。然而很不巧的是,我所在的公司的存...

2019-06-25 11:54:27 338

原创 python package/module/函数 简单解释

最近写python的时候有的刚接触python的朋友问我什么是包,什么是模块,作用是什么。他们说网上的解释大多数是从一些专业的角度进行描述,但是对于新接触的人来看,根本看不懂这些专业的描述。这里我就通俗易懂的简单解释下python 的函数、模块、包的意思,当然通俗的解释并不全面,但是对于新接触的人应该能很好的理解。默认使用windows的pycharm进行描述和解释:python 函...

2019-06-22 01:30:37 1220

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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