我是如何一步步把客户的两台服务器给弄崩的
写在之前:
服务器为CentOS7,博主不是运维,是个java开发。小菜鸡,今年刚毕业,linux命令只限于会发布tomcat。如果你看不懂下面这个命令,那么这篇文章可能对你有所帮助,避免踩坑。当然,深谙linux系统特性的大佬就不用往下看了,只是几个菜鸡互啄罢了。
rpm -Uvh ./*.rpm --nodeps --force
背景:
客户给了我们两台24核128G的内网服务器,通过teamviewer连接跳板机(Win 7)进入内网服务器,内网服务器用VmWare分成了若干台不同作用的虚拟机。接到任务,往虚拟机上搭建项目环境:mongo + redis + tomcat + JDK + elasticsearch + rabbitmq。当然没有每台虚拟机都装完整的环境。其它略过不讲,只讲搭建rabbitmq的时候是如何把服务器弄崩的。先来几张图片,求助搞大数据运维的同学的聊天记录:
还有一台就没有截图了,记得调用系统命令提示lib.so.1不存在。。。
按照多年使用windows系统的直觉,和我网管朋友给我传授的经验——没有什么问题是重启电脑解决不了的!
哦豁~这在linux系统并不管用,结果就是:一台无法重启,开机卡在黑框界面;一台无法关闭,进入vmware管理页面也关闭不了。
ok,开始讲正文:
安装过rabbitmq的都知道,rabbitmq嘛,得先安装erlang语言。以前我安装erlang都是参照这位大佬的博客,Centos6.5安装erlang过程及问题总结。erlang有以下的依赖组件:
解决办法很简单,安装一下依赖就好了 yum install **。事情没有那么简单,这是内网服务器,上不了网啊。怎么办,自己下载rpm包安装呗。c++ compiler很简单,下载后 rpm -ivh xxx.rpm 就好了。万恶的是OpenSSL,截一张大佬的博客,OpenSSL需要哪些依赖,rpm安装openssl-devel:
哦豁~~一个个下载呗,用到了同事给我的阿里镜像库http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/,阿里上面的包大部分都比列出的版本要高。那就用最新的呗,下载安装!
万恶的先卸载再安装:
安装过程中发现,安装A包,提示安装错误 "XXXB.1.31包 被 A包需要",然后用rpm -qa | grep XXXB 命令发现是已经安装了的,只是版本过低(比如为XXXB.1.25),怎么办,先卸载再安装。用从网上找来的命令:rpm -e --nodeps XXXB.1.25卸载旧版本,再rpm -ivh XXXB.1.31.rpm安装新版本。前面几个都很顺利,安装成功。到安装libss-XXX.rpm包的时候,提示zlib-XX依赖未安装。
那就卸载安装呗,先把旧的zlib包找出来,执行这条语句:
rpm -e --nodeps zlib
诶,等等!!这条语句好像是卸载,而且我没有指定是哪个版本。手残了。。。心想着没事,反正安装新的了, rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm,执行命令后报错:XXXX lib.so.1 XXXX not found。百度一下大意是:动态链接库找不到了。一顿操作还是报错而且系统命令无法使用,无果,搞第二台服务器。
第二台倒没有手残,但是当卸载安装新版本的libselinux-2.5-14.1.el7.x86_64.rpm,报错提示:XXXX libselinux.so.1 XXXX not found。系统命令又用不了了,关闭ssh重新连接,两台都连接失败。至此,两台服务器都崩了。
看到这里,有人会问了,你们公司的运维呢,不好意思,没有。
没办法,跑去和技术经理老老实实地说了,经理在vmware管理页面想关闭两台虚拟机重启,失败。。虚拟机删除也删除不了。。。
事情总得解决,经理又新建了一台虚拟机给我们造,一定要把mq给安装咯。
诶嘿~第三台服务器继续造,可劲的造。
第三台服务器:
但也不敢继续造了呀,卸载了之后安装新版本报错啊。去百度吧,centos7离线安装openssl,终于找到一位大佬的博客:CentOS7 离线安装gcc/pcre-devel/openssl-devel/zlib-devel,里面就一个命令(也就是本文最开头的命令)——把当前目录下以.rpm包结尾的文件安装了,--nodeps:安装时不检查依赖关系,--force:即使已有不同版本,也强制安装。
舒服呀~openssl安装好了,接下来就编译安装erlang,接着rabbitmq,水到渠成。
最后列出个openssl所需要的依赖包吧:
e2fsprogs-1.42.9-13.el7.x86_64.rpm
e2fsprogs-devel-1.42.9-13.el7.x86_64.rpm
e2fsprogs-libs-1.42.9-13.el7.x86_64.rpm
keyutils-1.5.8-3.el7.x86_64.rpm
keyutils-libs-1.5.8-3.el7.x86_64.rpm
keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
krb5-devel-1.15.1-34.el7.x86_64.rpm
krb5-libs-1.15.1-34.el7.x86_64.rpm
krb5-workstation-1.15.1-34.el7.x86_64.rpm
libcom_err-1.42.9-13.el7.x86_64.rpm
libcom_err-devel-1.42.9-13.el7.x86_64.rpm
libkadm5-1.15.1-34.el7.x86_64.rpm
libselinux-2.5-14.1.el7.x86_64.rpm
libselinux-devel-2.5-14.1.el7.x86_64.rpm
libselinux-utils-2.5-14.1.el7.x86_64.rpm
libsepol-2.5-10.el7.x86_64.rpm
libss-1.42.9-13.el7.x86_64.rpm
libss-devel-1.42.9-13.el7.x86_64.rpm
openssl-devel-1.0.2k-16.el7.x86_64.rpm
pkgconfig-0.27.1-4.el7.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
啊,天下太平,完~
我是如何一步步把客户的两台服务器给弄崩的相关推荐
- 两台linux服务器负载均衡代码实现,nginx实现负载均衡,nginx负载均衡确保两台服务器数据保...
nginx实现负载均衡,nginx负载均衡确保两台服务器数据保 一.准备篇: Nginx 负载服务器: Centos 6.2 IP:192.168.1.93 WEB服务器: Web1:192.168. ...
- 两台服务器虚拟成一个ip地址,两台服务器如何用一个ip地址
两台服务器如何用一个ip地址 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 检 ...
- 两台服务器公用一个显示器,两台服务器链接一台显示器
两台服务器链接一台显示器 内容精选 换一换 在大型网络应用中,通常会使用多台服务器提供同一个服务.为了平衡每台服务器上的访问压力,通常会选择采用负载均衡来实现,提高服务器响应效率.云解析服务支持解析的 ...
- 前后端部署在两台服务器 服务器配置要求_漫谈前后端分离
前言--浅谈前后端 在我的脑海中一提到前端和后端,基本上第一个出现的区别点就是:后端是跟数据库跟服务器打交道的,前端是跟浏览器打交道的.似乎没有什么问题,大家都这么认为的.当然这没有什么错,我们一直以 ...
- 两台linux之间带宽,测试两台服务器之间的网络带宽
一.为什么选择了iperf 之前做了一个项目,说要测试两台服务器之间的带宽,本想通过拷贝来进行测试,后来客户觉得得出的数据没有说服性,于是改拿工具来进行测试.我们这回用的工具名字叫iperf. ipe ...
- DNS与Active Directory在两台服务器分别布署
以前dns与Ad布署时,一般习惯布署在同一台服务器上.以下一个视频,就是把DNS与Active Directory分别布署在两台服务器上. DEMO使用的测试域名为:virbiznet.com(Vir ...
- SQL server 两台服务器间连接查询
--两台服务器间连接查询: --建立连接: sp_addlinkedserver hs sp_addlinkedserver hs1 EXEC sp_addlinkedsrvlogin 'hs', ' ...
- linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝
linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...
- 使用NFS 实现两台服务器间的数据备份. -- NFS 设置部分.
要求:把开发服务器,CRM 服务器中的每天数据备份文件拷贝到另一台备份服务器CRMBAK中. 1.在CRMBAK服务器的设置: 使用ROOT 登录CRMBAK. # ps -aux|grep port ...
最新文章
- DtCms.DAL.WebSet.cs
- springboot quartz动态任务处理
- 文本文件和二进制文件的区别
- 馀承东发布鸿蒙,鸿蒙系统一无是处?鸿蒙有何优势?
- java 连接 sftp失败_java – 文件上传到SFTP失败(Apache VFS)
- 重新命名的linux命令,Linux 重命名命令自制详细介绍
- 【JAVA基础】HashSet、LinkedHashSet、TreeSet使用区别
- Python接口自动化之动态数据处理
- [51nod1116]K进制下的大数
- android 扩展textview,Android可收缩/扩展的TextView【1】
- Go基础编程:运算符
- 知乎 live 记录
- 快速注册认证小程序,三分钟学会免300元认证企业小程序
- 群晖 nas docker 时间校准
- 阿里云跨云迁移工具案例实践:腾讯云迁移到阿里云
- 最新PHP编程零基础入门项目实战教程(完整)
- 科技企业家的自恋行为启示录
- win10开机自动有线连接拨号上网
- 7.3 向量的数量积与向量积
- 解决声卡爆音/杂音的四种方法
热门文章
- google财经板块股票信息查看的猜想
- RT-Thread—重映射串口到rt_kprintf
- python跳一跳脚本详解_跳一跳 python脚本 改进版
- 1000亿!苹果挨欧盟反避税第一刀,下一个是谁?
- 北京Uber优步司机奖励政策(12月31日)
- 分享些发表技术类文章的平台
- 巴比特 | 元宇宙每日必读:“国产VR之光”PICO正式出海,首发避战Meta,业内人士认为,此为缓兵之计,两者终有一战...
- Android Studio 配置翻译工具
- 张铭老师--沪师经纪
- [转载]20行Python代码爬取王者荣耀全英雄皮肤