自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(144)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 一些Git Repo

单机8核并发10个client,CPU全部打满的情况下,QPS有12-15W左右。如果CPU频率、核数更高更多的话,QPS还会往上走一些。Client跟Server都在。自己写的魔兽世界钓鱼脚本,10.0初期钓鱼成功率90%以上。现在关服了暂时没用了。自己写的模拟柜台跟客户端API,可以提供基本的client跟server通讯模型。尝试把UDP的包伪装成TCP包,再发送到Internet。自己写的一个伪装包测试。环境下跑过,没啥问题。

2023-08-14 15:08:15 457

原创 airflow2使用MutilScheduler的时候未同步任务状态

文章目录出现的问题部署方式:现象分析暂时的解决方式出现的问题部署方式:一个Trigger一个Webserver两个Scheduler现象当一个Defferable Task有机会立刻完成时,这个任务会被Mark Failed。而且是随机的,不管你有几个scheduler,只要用到Defferable Task都会有这种问题。分析相关Issue对于这个情况的分析都在这个Issue里面,里面也有相关的解决方法,但是没人理我,可能大家都没有碰到这个情况吧。暂时的解决方式在写我们自己的D

2021-12-28 15:49:39 233

原创 Airflow调度源码分析

文章目录主要的调度源码进程关系主要的调度源码主要的调度循环:jobs/scheduler_jobs.py 里面的 _execute()函数_execute() 里面的 self.executor.start()函数是主要的executor逻辑,executor里面会启动N个worker(executors/local_executor.py QueuedLocalWorker),这些worker是进程,所有的worker都从同一个公共队列里面取命令来运行,运行的时候会再开一个子进程来执行命令。某个

2021-11-29 09:04:40 680

原创 Airflow2 日志使用vector写入Elastic Search

文章目录组件步骤坑组件ElasticSearch - 7.15.2vector - 0.17.3Airflow - 2.2.1步骤启动elasticsearch跟kibana(可选,但是启动起来能看es里面的数据,方便调试)先写好vector解析toml,新版本的vector可以使用Vector Remap Language来添加字段、删除字段,还有一些内置函数,变量等,挺好用的。[sources.airflow_log] type = "file" igno

2021-11-23 14:30:14 10424 2

原创 airflow multi scheduler

文章目录支持版本额外配置实现方式具体代码启动支持版本需要Airflow2.0以上额外配置应该是不需要任何的额外配置,在helm里面能看到都是直接在deployment里面填replica数量实现方式多个scheduler实例主要矛盾点在如何通讯上面,airflow2用的是Mysql的行锁。同时只会有一个scheduler处理一个dag。具体代码jobs/scheduler_job.py_do_scheduling() { self._create_dagruns_for_dags()

2021-11-12 16:34:20 1317

原创 Deferrable Operators clear 不执行execute函数

文章目录看task_instance的源码可以看到,如果有next_method的话,那么就会把execute函数替换成next_method,但是新写的trigger里面next_method什么都不会做,就直接把任务mark success了。如果需要重新跑execute函数,那么就需要把对应任务的next_method、next_kwargs清空。在taskinstance.py文件里面的clear_task_instances()这个函数里面,修改上面的这两个变量这样就可以达到clear之后

2021-11-08 18:04:35 6431

原创 Airflow Deferrable Operators

文章目录依赖使用效果依赖Python3.7以上,需要使用asyncio这个库。airflow 版本需要在2.2以上。需要启动triggerer这个airflow进程。使用新加自己的DeferrableOperators,一般要经过三步:还是继承原来的BaseSensorOperator。from airflow.sensors.base import BaseSensorOperatorclass ExecutionDateTimeSensorAsync(BaseSensorOpe

2021-11-04 15:10:50 495

原创 airflow time sensor

文章目录现象TimeSensor 源码重写Sensor现象使用airflow原生的TimeSensor会发现clear历史任务的时候,预期这个time sensor会直接succ掉,历史任务继续往下走,但是现象是这个task会等到今天的特定时间才会succ。TimeSensor 源码from airflow.sensors.base import BaseSensorOperatorfrom airflow.utils import timezoneclass TimeSensor(Base

2021-11-04 15:10:24 616

原创 iptables local packet -- network packet

现象之前使用socat、ssh tunnel 能在应用层做转发,这次想在netfilter里面就把转发做掉,但是发现一点问题:在本台机器上面产生的包不通过nat的PREROUTING链。测试命令(错误)添加tracesudo iptables -t raw -A PREROUTING -j TRACE -p tcp --dport 8003 --destination 127.0.0.1这条命令可以追踪从lo这个接口进来的包。添加DNATsudo iptables -t nat -A

2021-08-17 15:39:40 149

原创 一些网络有用的小工具

记录一些Linux下网络工具ethtool这个工具能用来查看、设置网卡的配置,包括速率、半/全双工Autonegotiation、网卡驱动信息等。这篇博客很好地展示了ethtool的使用方法iperf3这个工具可以用来查看两个连接的设备之间的传输速率。server端启动iperf3:iperf3 -s -p $portclient测试上传速率iperf3 -c $host -p $portclient测试下载速率iperf3 -c $host -p $port -R ssh

2021-07-27 11:33:04 843

原创 mutex相关的知识,手写自己的spinlock

文章目录目的Glibclock汇编指令前缀锁缓存+缓存一致性协议内存屏障目的一直想了解下mutex是怎么实现的,锁的语义是如何支持的,所以就查了查相关的资料和代码。Glibc首先就是要看看gblic里面对于pthread_mutex_lock这个函数的实现,因为在认知里面关于锁的操作都是起始于这个系统调用:glibc/nptl/pthread_mutex_lock.c#ifndef LLL_MUTEX_LOCK# define LLL_MUTEX_LOCK(mutex) \ lll_l

2021-07-26 10:24:34 314

原创 mmap 进程间通讯

文章目录mmap代码注意点知识点mmapmmap可以把一个文件映射到进程内存里面,之后操作这块内存就相当于操作文件,文件存在于文件系统里面,不同的进程都能读取这个文件,所以mmap就可以当作IPC来使用。代码这里写了一个producer和consumer来模拟mmap在不同的进程之间共享数据。msg.h#ifndef MSG_H#define MSG_H#define MMAP_FILE "test_mmap"#define MSG_ARRAY_SIZE 4096#include &

2021-06-28 11:23:36 772 1

原创 Gin + Vue 踩坑

文章目录用到的组件Vue用到的组件VueGinGo-SwaggerBootstrap-VueElement-UI-VueVue刚接触前端的框架,会有很多弄不懂,搞不明白的地方,比如说怎么安装,代码结构如何,怎么开发,怎么调试,怎么跟自己的后端服务通讯等等,最好的方式就是在Git上面找一些好的项目来参照,像Gin-Vue-Admin, vue-realworld-example-app这些都是很好的例子。...

2021-06-28 09:27:51 474

原创 SO_BINDTODEVICE 使用指定网卡

文章目录问题指定网口PING程序的实现问题在一台机器上面有一个千兆口和一个万兆口,两个口都能连接到特定的服务上面,但是如果不加网口指定的话,程序的连接全部都是走千兆口的,万兆口没有使用上。指定网口在网上查了下,可以使用SO_BINDTODEVICE这个套接字选项来指定套接字使用哪个网口。临时写了一个简单server/client来验证下:server: int listen_fd = socket(AF_INET, SOCK_STREAM, 0); if (listen_fd &l

2021-05-10 15:06:03 3217

原创 Linux下面关于查看磁盘相关的信息

文章目录问题lsblk查看相关文件smartctl最大的问题问题今天发现一个问题,在raid控制器之后的磁盘不知道怎么看磁盘到底是SSD还是HDD,所以查了一下相关的资料。lsblklsblk -o name,rota,model这个命令可以看到所有的磁盘的名字,是否可旋转(如果是1的话,代表是机械硬盘),还有相关的产品信息。可以看到第一张图里面直接是一块SSD,第二张图里面是raid控制器,按理来说查看相关文件cat /sys/block/$device/queue/rotation

2021-05-06 18:34:58 484

原创 手动kubeadm部署k8s单master节点

文章目录需要准备的工具步骤遇到的问题coredns镜像问题需要准备的工具SSRProxyChains步骤先安装kubectl,kubeadm,kubelet 传送门如果没有代理的话,耗时比较长,有代理直接可以使用apt安装。拉取相关镜像这一步有点麻烦,因为很多镜像拉不了,在dockerhub-aiotceo这里可以找到需要的镜像。sudo kubeadm init --image-repository aiotceo有些镜像可能tag不对,比如说coredns这个镜像,

2021-04-26 11:45:00 169

原创 iptables/nftables/socat/Linux EasyConnect

文章目录iptablesnftablessocatiptablesnetfilter-HOWTO这篇文章很好地说明了到底何时该DNAT,何时该SNAT,大致是:SNAT 需要在nat表的POSTROUTING链里面做,DNAT需要在nat表的PREROUTING链里面做。文章里面有具体的例子。最好结合上面的图来看更加清晰。‘sudo iptables -t nat -A PREROUTING --protocol tcp --dport 8000 -j DNAT --to-destinatio

2021-02-01 18:08:03 498

原创 qcow2 镜像文件系统挂载

文章目录目的步骤目的新建一台Linux虚拟机之后,怕启动之后IP会跟局域网里面的IP冲突,需要先把镜像里面的network interfaces文件改掉,然后再启动虚拟机。步骤下面的步骤是针对虚拟机里面的文件系统是LVM的情况,这种很难搞,LVM(8e)不像(83)Linux可以直接挂载到宿主机的文件系统,按照下面的步骤应该对大部分的情景都管用sudo qemu-nbd --connect=/dev/nbd0 $qcow2_file_pathsudo fdisk -l /dev/n

2020-11-26 16:13:38 1660

原创 IE 获取 本地 Mac地址

文章目录需求解决总结需求在django里面扩展用户信息,添加mac地址获取本地Mac地址信息,并一起post到服务器在服务器对Mac地址进行校验解决django里面扩展用户信息可以这两篇博客:博客1,博客2暂时只能使用IE,可能可以使用火狐来通过JS获取本机Mac地址,Chrome这些浏览器因为安全性一般都不提供这种插件,IE也是通过ActiveX这个插件才能做到。设置IE浏览器:跟ActiveX相关的都设置成启用吧。JavaScript代码:var loc

2020-10-20 15:06:35 1597

原创 Raid HBA

文章目录问题现象本质原因解决问题现象在新装机的时候,出现了在idrac里面可以看到插入的硬盘,但是操作系统不能识别到硬盘的情况。本质原因Dell服务器里面自带有Raid控制器,各个型号的服务器可能Raid控制器不一样:这里就有一个Raid控制器,控制器有两种模式:RaidHBA关于Raid,HBA,这里有解释从Dell手册里面可以看到:就是相当于切换到Raid模式的时候,这个控制器当作Raid卡用,切换到HBA模式的时候,跟总线差不多,当总线用吧。这里就有控制器的模式切换。

2020-10-14 16:54:36 3806

原创 Prometheus杂七杂八的东西

文章目录一些函数下次遇到再记录一些函数scalar to vectorvector(s scalcar)这个函数可以把标量转化成矢量(vector),但是不带标签。比如说想看今天是星期几,day_of_week这个函数的参数就是一个vector,直接传标量要报错:day_of_week(time() + 3600 * 8) //errorday_of_week(vector(time() + 3600 * 8))on, ignore, group_left, group_right

2020-09-21 14:08:59 786

原创 AutoHotKey + Windows一些命令 + Windows Crontab

文章目录工具介绍初步使用Windows 一些命令Windows Crontab最后工具介绍AutoHotKey主要是用在Windows操作系统下面,可以当作一个改键工具,或者是自动化工具来使用。Github 地址:GitHub官网:官网初步使用安装好之后,就直接可以写脚本了,写好直运行脚本即可。官网论坛,教程上面有很多基础的例子,可以看看,教程手册有点乱,但是可以看。下面是我尝试的几个例子:使用IE登陆某些网站ie := ComObjCreate("InternetExplorer.

2020-09-18 14:10:20 380

原创 Windows 远程桌面连接问题

问题新开的Windows Server 虚拟机部分出现远程桌面连接不上的问题。报错不一样,有无法连接远程桌面,请联系管理员的,也有出现内部错误的。暂时的解决办法因为是有些虚拟机出现这种问题,但是有些又没有出现,只能通过VNC之类的方式登陆到虚拟机里面,然后重启Remote Desktop Services:打开service:把这个服务重启:暂时就可以解决这个问题。可能还会有防火墙之类的问题,这个就要在防火墙配置里面打开3389(远程桌面连接端口)的放行规则,但是一般这个规则都是允许域

2020-09-14 15:52:51 508

原创 ABI

文章目录问题定义一些文章和理解最初的问题最后问题之前好像听到过对于不同的GCC,G++版本,使用的ABI可能会有不同。就很奇怪这个ABI到底是个什么。从man手册里面的确是看到有这个-fabi_version这个编译选项,也有不同的ABI版本:定义自己感觉应该是把源码编译完成,最后连接的时候,不同的编译器会根据不同的CPU架构(x86,ARM…),不同的操作系统(Windows,Linux,Fedoras,Darwin),来最后生成对应平台的机器码。从维基上面猜的:一些文章和理解StackO

2020-09-11 15:48:25 209

原创 MACD 回测

文章目录相关知识数据来源具体公式实现简单策略结论相关知识MACD WikiMA 计算公式MACD 概念和简单使用数据来源现在暂时使用了聚宽的数据。相关的日K和小时K的拉取在API文档里面可以找到,也可以在我的GitHub里面找到拉取的代码,代码很乱,随便看看就好。具体公式主要是三个计算:12日的EMA26日的EMA9日的MACD从EMA(指数移动平均)公式可以看到:St={Y1,t = 1α∗Yt+(1−α)∗Yt−1,t > 

2020-08-10 14:24:12 618

原创 Linux 网络初步阅读

文章目录一些名词初始化网卡接收分组NAPI详细步骤高层协议IPv4接收ip_rcvip_rcv_finiship_local_deliverip_local_deliver_finish发送ip_forwardip_forward_finish一些名词NIC:网络接口控制器,Network Interface Controller,就是网卡NAPI(New API):适配超高速网络适配器的网络APIigb:英特尔千兆网卡驱动程序初始化网卡以igb驱动为例igb_init_module {

2020-07-08 11:21:11 252

原创 Linux 内存源码初步阅读

文章目录几个数据结构初始化内存伙伴系统初始化伙伴系统分配slab/slub/slobtcmalloc/jemalloc几个数据结构pg_data_t这个数据结构代表每一个NUMA节点,关于NUMA可以稍微看看这篇了解下zonelist内存域的列表,按照内存域的优先级排列。zone内存域,内存域常见类型有几种:page代表一个物理内存页,页帧。free_area这个跟伙伴内存分配相关。放一个自己画的图从上面的图里面大致可以反映出代码的结构。初始化内存直接贴书上的图吧

2020-05-26 16:08:47 268

原创 virsh 基本使用

文章目录libvirtvirsh基本使用Referlibvirt可以查看定义virsh基本使用列出所有的domain(我简单地理解成虚拟机)virsh list --all克隆现有的一台虚拟机,包括虚拟机的镜像和虚拟机的配置xmlvirt-clone -o src_domain_name --auto-clone上面这个命令里面,-o选项代表需要克隆哪个虚拟机,克隆完成之后会把新的domain重新命名成为src_domain_name-clone重新命名一个domainv

2020-05-20 16:16:14 478

原创 NUMA 相关

文章目录问题引发几个命令计算NUMANUMA的支持一些很好的文章问题引发在看书看到物理内存的时候,看到有UMA(一致内存访问)和NUMA(非一致内存访问)两种方式,不太懂这个NUMA是个什么概念,所以大致去网上了解了下。几个命令numactl这个命令的一些选项可以用来查看当前的numa的信息:numactl --shownumactl --hardware可以看到当前物理机上面有两个NUMA节点。均分所有的CPU,并且还能看到分到的物理内存总量。dmesg这个命令打印内

2020-05-15 14:55:45 612

原创 Linux scheduler 调度源码初步阅读

文章目录代码版本fork流程Refer代码版本2.6.39.4fork流程Refer

2020-04-29 13:35:34 568

原创 一些pandas的操作

文章目录对于列的操作对于列的操作在groupby sum 之后最好要reset_index()df1 = df.groupby([col1, col2]).sum()df2 = df.groupby([col1, col2]).sum().reset_index(drop)df1[col] += 'asdf'df2[col] += 'asdf'如果在df这张表很大的情况下,df...

2020-04-15 18:01:29 345

原创 代理,代理,代理

文章目录apt-get 代理pip 代理Golang 代理apt-get 代理sudo vim /etc/apt/apt.conf.d/95porxyAcquire::http::proxy "proxy-host:proxy-port";Acquire::https::proxy "proxy-host:proxy-port";pip 代理sudo pip install --p...

2020-03-19 16:58:34 187

原创 RTNETLINK answers: Cannot assign requested address 手动设置MAC地址出现的错误

文章目录问题描述解决步骤解决办法相关连接问题描述在开启qeme虚拟机的时候,手动填写了内部网卡的MAC地址,但是启动虚拟机之后,从其他同网段的机器并不能ssh到这台虚拟机上面。解决步骤直接把qemu前台运行,直接登陆到qemu里面。看到网卡的状态是down的,MAC地址就是启动虚拟机时候传入的参数。使用命令去启动这块网卡:ip link set ens3 up ifup ens...

2020-03-19 14:46:06 5062

原创 Windows Server 2012 R2 keep session alive

文章目录问题解决办法问题现在需要通过虚拟机来建立一个VPN连接,连接到远程的机器上面。之前使用的都是EasyConnect,断开虚拟机远程桌面连接之后,EasyConnect不会断开。但是这次使用的是GlobalProtect这个VPN,发现这个VPN在远程桌面断开之后也会同时断开连接。这样就不能保持一个VPN的长时间的连接(必须有一个远程桌面连接到虚拟机上面)解决办法准备一台Windo...

2020-03-12 14:01:59 637

原创 Golang http client 关闭连接 && too many open files

文章目录问题相关概念解决办法问题使用Golang去批量下载所需要的数据时,由于http client发起请求并且读取body之后,没有正确设置Transport,并且没有关闭Body,导致机器上面出现大量的CLOSE_WAIT状态的连接。相关概念CLOSE_WAIT:被动关闭方会进入的状态,已经收到主动关闭方的FIN,但是还没有发送FIN到主动关闭方。max_open_files:每个...

2020-03-11 13:39:02 3398

原创 ssh 端口转发

文章目录遇到的问题解决办法具体步骤ssh -N -L选项额外选项相关链接遇到的问题现在有三台机器:prometheus-server所在机器 [记作host1]VPN机器 [记作host2]远程机器 [记作host3]现在远程机器上面有node-exporter,需要采集远程机器上面的信息,可是prometheus这台机器不能直接访问远程机器的9100端口(没有开9100端口转发权限...

2020-02-27 14:58:27 921

原创 airflow调度问题排查

文章目录问题描述排查总结问题描述现在公司使用的airflow调度器很慢,每次clear一个task之后,这个task要过一段时间才会被调度器调度到,这个时间大约需要15-30s。使用的airflow版本较老:v1.7.1.3排查参数问题airflow.cfg这个文件里面有很多的关于scheduler的参数,其中跟调度密切相关的有几个:max_threads :这个是调度da...

2020-02-17 10:34:39 4402 2

原创 qemu 虚拟机挂载img + sudoers文件修改

文章目录问题描述解决办法虚拟机挂载方法相关链接经验问题描述手动修改了sudoers文件:sudo vim /etc/sudoers出现了错误:很尴尬的sudo用不了了,下面有几个解决方案:解决办法如果是拥有root权限的话,那么无所谓,直接改掉文件就好。如果没有root权限,但是你的账户的确拥有sudo权限,那么可以执行下面这个命令来修改sudoers:sudo pkex...

2020-02-11 18:23:47 737

原创 Linux 编译内核,Qemu启动内核,GDB调试

文章目录前置准备步骤前置准备Oracle VM VirtualBoxXShellUbuntu 较高版本发行版步骤先使用VM VirtualBox制作一个虚拟机安装好之后,为了方便我们操作虚拟机,最好使用Shell工具ssh到虚拟机里面,Shell工具按照个人喜好即可。对于VM VirtualBox,我们需要设置一下端口转发,才能连到虚拟机里面:安装一些必须的工具设...

2020-01-13 12:05:10 430

原创 使用python records 一些问题

文章目录NULL问题中文乱码问题NULL问题当数据库里面的数据是null的时候,直接print 结果集里面的条目是会出错的,现在我的解决办法是:对这些null手动赋值。中文乱码问题在创建新的连接的时候:db_connection = records.Database(conn_str, connect_args={'charset' : 'utf8'})需要添加额外的connect_...

2019-12-27 10:12:22 466

排序二叉树

二叉树的基本骨架,可以实现二叉树的排序,

2015-06-23

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

TA关注的人

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