案发现场 昨天晚上突然短信收到 APM (即 Application Performance Management 的简称),我们内部自己搭建了这样一套系统来对应用的性能.可靠性进行线上的监控和预警的一种机制)大量告警 画外音: 监控是一种非常重要的发现问题的手段,没有的话一定要及时建立哦 紧接着运维打来电话告知线上部署的四台机器全部 OOM (out of memory, 内存不足),服务全部不可用,赶紧查看问题! 问题排查 首先运维先重启了机器,保证线上服务可用,然后再仔细地看了下线上的日志…
linux 系统没有北京时间,同步的是上海时间 linux 系统有两个时钟:一个是硬件时钟,即BIOS时间:另一个是系统时钟,是linux系统Kernel(内核)时间. 系统开启时,系统会读取硬件时间,设置系统时间.因此,设置了系统时间,重启时会失效. 要想永久更改时间,可以先同步系统时间(基于网络时间,准确性较高),再同步系统时间 第一种情况 :有网 以网络时间为准校验 (1)查看时区 date -- 查看系统时间[root@develop Asia]# date -RFri, 22 Mar…
登陆版权数据库,显示"此用户已到期",数据库使用的是mongodb,顾 需要将此用户的到期时间延长. 解决过程: 1)到网站对应tomcat配置里找出等里mongodb的信息(mongodb 的库.登陆用户名.密码.端口) 2)用上面的信息登陆mongodb # mongo 127.0.0.1:27017/fcyym -ufcyym_sa -padmin_hqdrm2012_root 查询这个库下所有的表> show collections 查询相应的表的字段信息> db.…
除了用NTP服务器之外,下面的命令可以做到让几台机器的时间都跟一台机器同步. date --set="$(ssh root@10.245.110.101 date)" 参考资料 =========== how to sync time between two linux servers http://blogs.perl.org/users/michael_li/2014/07/how-to-sync-time-between-two-linux-servers.html…
shell远程操作另外一台机器上的数据,有两种方式: 1 .配置免密登陆,2.使用sshpass 当前存在两台虚拟机,ip地址分别为:192.168.3.32 192.168.3.33 一.免密登陆操作另外一台机器 1.生成秘钥 两台机器上都做如下操作,三次输入,直接摁回车 [root@localhost work]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the…
1.事故背景 上周三凌晨,我负责的某个模块在多台机器上连续发生coredump,幸好发生在业务低峰期,而且该模块提供的功能也不是核心流程功能,所以对线上业务影响比较小.发生coredump后,运维收到报警后立马拉起了服务,服务宕机时间为3分钟左右. 2.事故分析 第二天立即组织了事故分析小组,对事故发生原因进行了排查,coredump的时候JVM保存了coredump文件,运维帮忙转换成了问题分析结果文件,如下 ## There is insufficient memory for the Ja…
1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop                     NameNode.DFSZKFailoverController(zkfc)slaver1    192.168.199.131    jdk.hadoop                       NameNode.DFSZKFailoverController(…
本文来自网易云社区 作者:王贝 为什么推荐ELK: 当线上服务器出了问题,我们要做的最重要的事情是什么?当需要实时监控跟踪服务器的健康情况,我们又要拿什么去分析?大家一定会说,去看日志,去分析日志.是的,日志对于服务器开发人员来讲是最亲密的伙伴了,基本上每天都会去看各种类型的海量的日志去定位问题,去做统计分析等等.最常见的查看日志的情况,比如线上出了bug,我们ssh到线上服务器,cd到服务器的日志目录,然后less一下当天的日志文件,执行shift+G,?error,n,一系列操作之后找到对应…
前言 在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都150G-200G,如果用单纯的这种方法,成本太高,故经过一段时间的摸索,总结了几种处理方法. 生产环境架构图 目前现网的架构,保存着两份数据,通过异步复制做的高可用集群,两台机器提供对外服务.在发生故障时,切换到slave上,并将其变成master,坏掉的机器反向同步新的master,在处理故障时,遇到最多的就是主从报错.下面是我收录下来的报错信息. 常见错误 最常见的3种情…
我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 这个问题可以说是 Java 面试的高频面试题了,有很多面试官都喜欢问这个问题,问题可能是下面这样的. 线上一台服务器 CPU 使用率100% 了,如果你碰到这样的情况,如何排查并找到问题原因? 这就是一个套路题,所谓套路题就是有标准的套路解法的,掌握了套路,不仅能解决面试官,还能解决问题.不…
使用tcpcopy复制线上流量进行测试 online server 线上服务所在机器 10.136.11.4 部署tcpcopy sudo /usr/local/tcpcopy/sbin/tcpcopy -x ONLINE_PORT@ONLINE_SERVER_MAC_ADDR-10.136.11.5:TEST_PORT@TEST_SERVER_MAC_ADDR -s 10.136.11.3 -o eth4 -i eth4 -c 10.136.100.x -d -l ./tcpcopy.log…
下面是也是我在12580工作时发生的事情,重新记录并发出来.这种特殊需求很考 验PF的功底.在新旧系统并存,做重构的时候有时很需要这种救急的作法.一.缘起miscweb1(172.16.88.228)的系统近段时间经常死掉,没有查到最终原因,现在的 策略是将其中一个端口上的服务摘出来,以确认问题,所以新准备了另一台机器 (172.16.88.116),由于miscweb1上还有别的服务,所以不能通过切换域名到新机器的 方式进行测试,另外也不方便让所有调用待迁移服务的部门手工改程序调用新的机器,这…
在家赚钱,威客网站的使用方法 很显然,<让猪八戒飞一会儿>作者对威客这一行业不熟悉,<让猪八戒飞一会儿>文章中错误有一些,不一一指出.我在CSDN项目频道.SXSOFT.任务中国.猪八戒四个网站的线上交易量都超过了10000,线上最好的成绩是任务中国的5万多(不含8k应收款).就我个人的经验,谈下对这类网站的看法.本文不是五毛文,倒想拿钱,就是没人给.如果有人觉得是五毛文,可以向我要帐号,打五毛过来,非常欢迎.写了这么长,好歹也得给个五百吧,是不? 本文中更多用“任务”这个词,因为…
[原文链接]:https://www.tecchen.xyz/blog-hexo-env-02.html 我的个人博客:https://www.tecchen.xyz,博文同步发布到博客园. 由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容. 针对在公司及家里的电脑上都有编辑发布博客的可能,或者多人同时维护一个博客的情况,需要在多台机器上配置环境好环境,然后将Git仓库中的博客更新下来,继续编辑发布博客. 个人是将博客托管在Gitee(码云)的仓库,将NexT主题托管…
1.Akka RPC通信案例改造和部署在多台机器上  1.1 Akka RPC通信案例的改造(主要是把一些参数不写是) Master package com._51doit.akka.rpc import akka.actor.{Actor, ActorRef, ActorSystem, Props} import com.typesafe.config.ConfigFactory import scala.concurrent.duration._ import scala.collectio…
前言 因为前段时间新项目已经完成目前趋于稳定,所以最近我被分配到了公司的运维组,负责维护另外一个项目,包含处理客户反馈的日常问题,以及对系统缺陷进行优化. 经过了接近两周的维护,除了日常问题以外,代码层面我一共处理了一个BUG,优化了三个问题,我把这四个问题归纳成了四段编码小技巧分享给大家,希望能有所帮助,今后若遇到类似的问题可以到我这里翻出来看看,想必能节省许多时间. 技巧 1.stream分组 很多人都知道java8的stream很好用,但很多人其实不会用,或者说搜了许多资料还是用不好,归根…
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装jdk1.6前,执行java -version得到 C:\Users\liuxiang2>java -version java version "1.7.0_21" Java(TM) SE Runtime Environment (build 1.7.0_21-b11) Java H…
有个需求,有个文件删除了,但是不确定线上机器还都存不存在 #!/home/work/.jumbo/bin/expect -f set timeout - set mac [lindex $argv ] set password "***" spawn ssh username@$mac expect { "(yes/no)?" { send "yes\r" expect "*password:" { send "$p…
缓存分为本地缓存和远程分布式缓存,本地缓存访问速度更快但缓存数据量有限,同时存在与应用程序争用内存的情况. 1.不要将缓存服务器与Tomcat放在单台机器上,否则出现竞争内存问题 2.不要将缓存服务器与Tomcat放在单台机器上,否则出现竞争内存问题…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:通过Mouse Without Borders在多台机器上共享键盘鼠标.…
可能很多朋友都遇到想同时在自己的机器上运行Microsoft SQL Server 2000以及Microsoft SQL Server 2005和Microsoft SQL Server 2008.本人就想这样,经过搜索发现有朋友这样成功安装,于是经过多次实践证明,SQL Server 2000 + SQL Server 2005 +SQL Server  2008,完全可以共存在一台机器上,不过请注意一下提示: (1)实例名一定要不同(如:2000用默认实例.2005安装时命名实例SQL20…
由于业务需要一台机器上运行多个ActiveMq,这里主要说一下有什么地方不重复: 1.brokerName名称不能重复 2.端口号不能重复uri = tcp://localhost:50509 3.kahadb路径不能重复 4.管理端口不能重复contextPort = 2019 jmxServiceUrl = service:jmx:rmi:///jndi/rmi://localhost:2019/jmxrmi…
3.GC Agent安装(第一台机器部署) 安装Agent 拷贝agent,现在ocm2机器上查找agent.linux  查找文件的方法: find ./ -name agent*linux 把agent放到ocm1上面 [oracle@ocm2 linux]$ scp agentDownload.linux ocm1:- 检查环境变量的path是否有jdk: 赋权限: chmod 755 agentDownload.linux 开始安装 注意要修改参数!从第一台机器中拷贝的agentDown…
转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务,通过不同的端口(如3307,3308)来向外界提供服务,这些进程通过不同的socket来监听不同的服务端口来提供个字的服务. 做个比喻:MySQL的多实例相当于房子的相当于多个卧室一样,每个实…
默认你的机器上安装了Java环境,解压了Tomcat,安装了Nginx.默认这几个tomcat都部署在一台机器上. 对于Tomcat需要改三个地方[你部署的所有tomcat这三个地方都不能一样,如果你部署在不同机器上就不用改了] vi [你的tomcat路径]/conf/server.xml 修改SHUTDOWN端口: 修改HTTP端口: 修改AJP端口: [我只用了俩Tomcat,一台保持默认,另外一台端口分别为:8006,8081,8010] 我还改了tomcat/webapps/ROOT/…
背景 公司线上部署采用docker swarm方式,这几天线上项目时间突然出了问题(ps:第一反应,我去,这也能出问题,代码里肯定藏毒了),线上时间总跟实际时间差八个小时.本着速战速决的原则,把所有时间减了八个小时,夜晚一上线,卧槽,没生效,大佬给我"指点"一通后我幡然醒悟.得,总结一下问题 问题分析 宿主机采用的是cst时间 [root@test-env1 data]# date 2018年 11月 27日 星期二 11:12:41 CST docker容器里采用的是utc时间 ro…
当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 下面详细描述具体步骤: 1. 打开SQL server management studio 2. 连接到服务器.在“服务器名称”上填写本机名称,可以在计算机-右键-属性中查看“计算机名”,然后点击“连接” 3. 选中你要复制的数据库,右键-任务-备份 4. 选择你要复制的目标位置.一般情况下会有一个默认位置,请只备份到一个位置上,最好不要再添加一个位…
https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务,通过不同的端口(如3307,3308)来向外界提供服务,这些进程通过不同的socket来监听不同的服务端口来提供个字的服务. 做个比喻:MySQL的多实例相当于房子的相当于多个卧室一样,每个实例可以…
最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务,通过不同的端口(如3307,3308)来向外界提供服务,这些进程通过不同的socket来监听不同的服务端口来提供个字的服务. 做个比喻:MySQL的多实例相当于房子的相当于多个卧室一样,每个实例可以看做是一个卧室,整个服务器就是一个房子,服务器的硬件资源(cpu,mem,disk)就是共享的资源,…
在同一台机器上配置多个Git帐号 By:授客 QQ:1033553122 实践环境 win10 Git-2.21.0-64-bit.exe TortoiseGit-2.8.0.0-64bit.msi 代码托管 Gitee.com 1.   打开Git Bash 进入到Git repository所在目录,右键->Git Bash Here 2.   查看配置[可选] git config --list 3.   移除全局配置 # 移除全局配置账户 git config --global --un…