随笔分类 - 踩坑指南
摘要:背景 最近使用ansible管理项目部署,有个前端的配置项是类似字典类的配置,其值如{‘memu1’:['/test1','/test2']},在ansible渲染后模板配置项变成了{u'memu1’:[u'/test1',u'/test2']}。 问题过程 假设ansible中某配置文件的模板如下
阅读全文
摘要:背景 最近在写vue项目的时候遇到一个axios调用接口的坑,有个前端模块涉及axios去调用多个接口,然后请求完获取数据之后,再使用windows.location.href重定向到新页面,这时候却发现axios请求的接口都是出于canceled的状态。 例如: axios.get('/url1'
阅读全文
摘要:背景 公司的项目全部由pm2管理,有一天不知道什么原因,利用pm2 list查看APP列表,发现有几个服务处于STOP状态,我尝试使用:pm2 start all 结果报错:[PM2][ERROR] Process 1021 not found 解决方法 直接删除报错的app id即可,如:pm2
阅读全文
摘要:背景 我在自己Macbook上使用homebrew安装telegraf。 执行:brew install telegraf,然后报错了:Error: Permission denied @ apply2files - /usr/local/opt/openssl/ssl/man/man3/HMAC.
阅读全文
摘要:背景 最近公司的项目中使用rocketmq,部署方式为多master-多slave。项目上线一周后,有一天调用方的开发突然找我,说我们的MQ服务的请求调用有延时。 我登陆到broker的机器上查看了broker的store.log,发现pagacache的大部分响应都在0~50ms,有部分请求在10
阅读全文
摘要:背景 公司已上线的项目中的broker集群有部分请求响应较慢,所以进行了线上broker服务的扩容。扩容后整体broker集群的负载下来了不少。这样一周后,某天看rocketmq的客户端的日志中零星打印了报错:system busy。 问题分析 为什么broker集群扩容了,仍旧有报错呢?和开发对了
阅读全文
摘要:背景 项目中使用到了pm2,用于管理微服务的启停,我在相关机器上安装好了pm2,然后使用ansible进行批量启动服务。在使用ansible的shell模块执行远程命令时候却报了错:/bin/sh: pm2 :command not found,如下图 问题定位 1. 在被执行机器上查看pm2命令,
阅读全文
摘要:背景 最近公司的网络不稳定,本地电脑访问公司内网的环境老是超时,请教了下组内的老前辈,得知可以通过使用ssh的socket5代理,通过隧道的方式走通。 如图,我本机机器到ServerA的延时较低,但是直接访问ServerB延时较高(A和B之间网络结构关系不明),这样可以在A与B通过ssh实现sock
阅读全文
摘要:背景 最近用vue写一个项目,在服务器上用npm运行该vue项目的时候,执行npm run serve,整个过程执行到一半报错了:Error: ENOSPC: System limit for number of file watchers reached 原因 查了一下,是linux系统的限制导致
阅读全文
摘要:前言 在项目中写了一个MQTT的客户端小程序,用于测试MQTTServer的连接数上限,运行了一段时间后报错:Cannot assign requested address 网上查了下"Cannot assign requested address"指的是linux系统无法继续为客户端分配端口了(已
阅读全文
摘要:背景 最近在项目中需要编译arm架构的某驱动docker镜像,但是手头上没有现成的arm架构的机器环境,于是在网上搜索了下如何在x86机器模拟arm环境来进行编译。我找到了一款神器:multiarch/qemu-user-static 简介 项目地址:https://github.com/multi
阅读全文
摘要:简介 上文介绍了ansible的shell模块,今天要为大家分享的是command模块和raw模块的使用。 command和raw模块和shell一样,都是用于执行shell命令,三者都不具备幂等性,如果有能替代的ansible模块,尽量不要说使用该模块。 对比 模块 用途 特点 shell 均用于
阅读全文
摘要:前言 在vue中,请求后端接口的模块有三种: vue-resource axios fetch 这我们使用axios去请求后端接口。 安装 进入vue项目的目录,执行: npm install axios --save 使用 axios支持的http请求方法如下 axios.request(conf
阅读全文
摘要:前言 最近在用go编译某gomod管理的项目时,由于是新安装的go环境(参考go环境安装),在编译的时候出现了三个问题: 1. go的proxy超时: dial tcp 34.64.4.17:443: i/o timeout 2. go get读取用户名失败:terminal prompts dis
阅读全文
摘要:背景 在后端服务运行过程中,有时会遇到一个时间不同步的问题,即服务器时间对比当前时间会有滞后或超前。 这种时间不同步导致某些软件服务问题,例如: 1. 服务日志打印的时间不准,导致查问题比较麻烦。 2. 在服务写入数据到数据库或者其他中间件的时候,时间戳不对,导致页面显示异常 3. 集群化服务在不同
阅读全文
摘要:背景 项目有几台机器(centos7)时间不准,为了让时间能够定时同步,需要安装ntpdate。然而,我在使用yum安装ntpdate的时候却报错了: Cannot find a valid baseurl for repo: base/$releasever/x86_64 原因分析 看到这里我第一
阅读全文
摘要:安装系列 python3.6和pip3:Windows10下安装与升级与踩坑之路 python3.6和pip3:Mac下安装与升级与踩坑之路 python3.6和pip3:Centos下安装与升级与踩坑之路 python3.6和pip3:Ubuntu下安装升级与踩坑之路 踩坑系列 pip3:no a
阅读全文
摘要:这里汇总rocketmq的控制台的一些常见问题: 1. consumer group这里TPS只显示master节点的消息TPS,如果是master-slave模式,从slave消费的TPS不会显示在这里。 所以实际显示的TPS小于真实的TPS 2. 删除某个topic后,之前已经从topic消费的
阅读全文
摘要:背景 由于需要在环境中用yum安装多个软件,于是通过终端在机器上打开了两个窗口,分别使用yum安装不同的软件,结果报了错: Another app is currently holding the yum lock; waiting for it to exit... 解决方法 1)查看yum进程:
阅读全文
摘要:简介 本文主要介绍clusterList和clusterRT命令 命令 clusterList:查看集群列表 clusterRT:测试集群的响应耗时 例子 clusterList 1)帮助 ./mqadmin clusterList -h 2)查看集群基本信息 ./mqadmin clusterLi
阅读全文