RabbitMQ 的安装与卸载 以及各种踩坑

RabbitMQ 的安装与卸载 以及各种踩坑

当前编写文档时间:2019年4月23日17:42:07

安装 -- windows

  1. RabbitMQ依赖于Erlang虚拟机,所以要先安装Erlang,自行官网下载。RabbitMQ download 以及 Erlang官网

    • 29 March 2019 更新版本:RabbitMQ 3.7.14 release (后来因为出现了问题,改为3.6.5)
    • This release requires Erlang/OTP 20.3.
    • 关于安装那种方式,都差不多,建议使用 Installer。
  2. 关于选用那个版本的Erlang以支持RabbitMQ(注:必须按要求,否则有问题)

  3. 下载完,以管理员身份运行,先安装Erlang,安装后配置环境变量(检查一下,有可能不自动写)。(ERLANG_HOME=C:\Program Files\erl10.1))以及path加上bin。

  4. 安装Erlang后安装RabbitMQ,默认TCP端口5672,安装直接启动的。

  5. 安装RabbitMQ后依旧设置环境变量。(RABBITMQ_HOME=安装路径)。 path加上sbin。

  6. CMD运行rabbitmqctl status检测是否安装成功

  7. 运行rabbitmq-plugins enable rabbitmq_management打开RabbitMQ管理插件

  8. 插件运行成功,就可以在WEB管理界面看到RabbitMQ相关信息。本地地址,默认账户(guest:guest)

  9. RabbitMQ配置文件所在位置(3.6.5版本再Web管理页面能看到,但是3.7.14在页面就没有)

    • 在etc/下存在两个文件rabbitmq.config.example和README.txt,从名字看出,第一个就是config的example
    • 但是!!!这个位置的配置文件只是给你看的,并不是真的在这,README.txt中说了:

In this directory you can find an example configuration file for RabbitMQ.

Note that this directory is not where the real RabbitMQ
configuration lives. The default location for the real configuration
file is %APPDATA%\RabbitMQ\rabbitmq.config.

%APPDATA% usually expands to C:\Users%USERNAME%\AppData\Roaming or similar.

  1. 修改配置文件后重启服务即可
    • 重启服务有文档说需要管理员身份,我一直是管理员身份,没验证。
    • 有的文档上写着需要重新安装才会生效,我不知道为什么有这种说法,没发现需要。
    • 重启命令:rabbitmq-service.bat 里先stop在start ,不知道为什么没有restart。

卸载 -- windows

  1. 打开“程序和功能”。(命令:appwiz.cpl)
  2. 在列表中卸载RabbitMQ和Erlang
  3. 打开Windows任务管理器。
  4. 在任务管理器中,查找进程epmd.exe。|| 或者在资源管理器中
  5. 删除RabbitMQ和Erlang的所有安装目录。
  6. 删除文件C:\ Windows \ .erlang.cookie(如果存在)。
  7. 转到用户文件夹:C:\ Users \ [username],然后删除文件.erlang.cookie。删除
  8. 同样在User文件夹中,转到AppData \ Roaming \ RabbitMQ。删除RabbitMQ文件夹。
  9. 删除RabbitMQ的服务。sc delete RabbitMQ
  10. 注册表删除RabbitMQ节点(命令:regedit) (HLM-SOFTWARE-Ericesson---)

遇见的坑

问题1:SSL通讯出现问题(rabbitmq-server-3.7.14 && otp_win64_21.3):

Received fatal alert: handshake_failure   

解决方案:
第一种:
因为jdk中jce的安全机制导致报的错,要去oracle官网下载对应的jce包替换jdk中的jce包。
jce所在地址: %JAVA_HOME%\jre\lib\security里的local_policy.jar,US_export_policy.jar
JDK8 http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

第二种:
在请求连接之前加上
System.setProperty("https.protocols", "TLSv1.2,TLSv1.1,SSLv3");

问题2:SSL通讯出现问题(rabbitmq-server-3.7.14 && Erlang21.3)(rabbitmq-server-3.6.1 && Erlang18.3.3):

console报出:
javax.net.ssl.SSLHandshakeException: Received fatal alert: insufficient_security  

log报出:
=ERROR REPORT==== 22-Apr-2019::03:19:02 ===
SSL: hello: tls_handshake.erl:167:Fatal error: insufficient security
TLS server: In state hello at tls_handshake.erl:201 generated SERVER ALERT: Fatal - Insufficient Security - no_suitable_ciphers

解决方案:
上述两种RabbitMQ和Erlang的配合都报这个问题,
新版的未找到什么问题。估计是因为最新版本问题bug。卸载
3.6.1的是因为与Erlang18.3.3的版本出现的bug,18.3.4中修复,Stack Overflow上回答说推荐升级至19.X。
安装常见的稳定版本(rabbitmq-server-3.6.5 && Erlang19.3)
删除新版本,重装版本

问题3:卸载时报占用却找不到
卸载时,在任务管理器中,找不到epmd.exe的进程,但是删除目录中的文件时,却提示被占用
解决方案:
任务管理器 - 性能 - 打开资源监视器,在资源监视器中找到epmd,右键 - 结束进程,问题解决

问题4:安装运行RabbitMQ,报“init terminating in do_boot ()”
解决方案:
RabbitMQ版本与Erlang版本不符,安装失败的,看注册表就知道没安装成功。

问题5:安装RabbitMQ时,查看安装的详细信息,出现异常,导致服务无法启动
解决方案:
注册表写入失败,需要手动写入重新安装,有可能是 版本问题、环境问题、安装权限问题。
依次执行命令:rabbitmq-service stop,rabbitmq-service remove,rabbitmq-service install,rabbitmq-service start,卸载并重新安装RabbitMQ的服务

问题6:安装RabbitMQ时,出现异常

unable to connect to node 'rabbit@2012-R2-Datacenter-64bit': nodedown”

解决方案:
C:\Windows.erlang.cookie和C:\Users[username].erlang.cookie的口令不一致导致的
删除其一,将另外一个复制过来就可以了
或者都删除重新安装。

问题7:安装运行RabbitMQ,报“init terminating in do_boot ()”
解决方案:
我出现的原因是RabbitMQ版本与Erlang版本不符,安装失败的,看注册表就知道没安装成功。

问题8:安装过程出现乱码诡异错误
解决方案:
怀疑是因为目录路径空格导致,换了名字好了。

问题9:安装好之后,创建了账号,但是使用过程中,依然提示权限不足
解决方案:
账号没有分配权限,WEB页面分配权限即可

问题10:重新安装后,出现SSL通信错误

=ERROR REPORT==== 23-Apr-2019::16:13:04 ===
SSL: certify: ssl_handshake.erl:1609:Fatal error: certificate expired
=ERROR REPORT==== 23-Apr-2019::16:22:21 ===
SSL: certify: ssl_handshake.erl:1609:Fatal error: certificate expired

解决方案:
报的异常是证书过期:但是也有可能是因为证书还没到时间
我是在linux里生成的证书,linux时间与windows时间不一致导致。

设置系统时间与网络时间同步
ntpdate cn.pool.ntp.org
将系统时间写入硬件时间
hwclock --systohc 

问题11:正常使用,日志记录增长过快
解决方案:
因为rabbitMQ日志默认记录级别是Info,会记录所有进出栈信息,导致日志过大,只需要将配置文件的日志级别设置为error或者warning

    [
      {rabbit, [
          {vm_memory_high_watermark_paging_ratio, 0.4},
          {vm_memory_high_watermark, 0.4},
          {log_levels, [{connection, warning}, {channel, warning}]}
        ]
      }  
    ]. 

问题12:业务量变大,CPU暴增
解决方案:
这是一个复杂的多种可能性的问题,先一种种走过去:
第一种:可能是因为每次连接都是创建一个连接对象,又没有及时释放导致的,可以对channel进行限制。
待续。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容