问题描述:

部署一套新环境,因为该环境的机器规定不能连外网,rabbitmq采用离线部署的方式。
将本地yum下载的rabbitmq所需rpm包手动上传到该环境的机器离线部署。所有的rpm包都和本地在线安装都是一样的,本地测试机上部署和启动正常,但是在新环境机器上启动rabbitmq的时候出现了“/usr/lib/rabbitmq/bin/rabbitmq-server: line 80: erl: command not found”的报错。报错信息如下:

[root@host1 ~]# rabbitmq-server
/usr/lib/rabbitmq/bin/rabbitmq-server: line 80: erl: command not found
[root@host1 ~]#

分析过程:

1、根据报错说“erl: command not found”,就单独执行了一下erl,发现并没有什么问题:

[root@host1 ~]# erl
Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]Eshell V8.3  (abort with ^G)
1>

2、查看了/etc/profile文件,看了一下配置的路径,也是和本地测试机实验的时候配置是一样的,路径什么的都是正确的,并没有配错误:

[root@host1 ~]# cat /etc/profile
# /etc/profile
......   #省略若干行export PATH=$PATH:/usr/local/erlang/binexport PATH=$PATH:/usr/lib/rabbitmq/bin
[root@host1 ~]#

3、试着直接执行报错的文档启动,发现是可以的,服务也能启动:

[root@host1 ~]# sh /usr/lib/rabbitmq/bin/rabbitmq-serverRabbitMQ 3.6.12. Copyright (C) 2007-2017 Pivotal Software, Inc.##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/##  ############  Logs: /var/log/rabbitmq/rabbit@host1.log######  ##        /var/log/rabbitmq/rabbit@host1-sasl.log##########Starting broker...completed with 0 plugins.

那么启动执行的脚本可能不是这个脚本,所以想到替换一下启动脚本试试,或许有用。

解决过程:

1、找到rabbitmq-server命令执行的脚本的位置:

[root@host1 ~]# which rabbitmq-server
/sbin/rabbitmq-server
[root@host1 ~]#

2、比较两个文档,发现并不是同一个文件。于是把可以执行的/usr/lib/rabbitmq/bin/rabbitmq-server做软个连接到/sbin下面去替代原来执行报错的/sbin/rabbitmq-server文件:

[root@host1 sbin]# mv /sbin/rabbitmq-server /sbin/rabbitmq-server.bak
[root@host1 sbin]# ln -s /usr/lib/rabbitmq/bin/rabbitmq-server /sbin/rabbitmq-server

3、再次执行rabbitmq-server命令启动,发现还在报错:

[root@host1 sbin]# rabbitmq-server
/sbin/rabbitmq-server: line 22: /sbin/rabbitmq-env: No such file or directory
[root@host1 sbin]#

4、把报错缺少的文件rabbitmq-env再做一个软链接到/sbin下面:

[root@host1 sbin]# ln -s /usr/lib/rabbitmq/bin/rabbitmq-env /sbin/rabbitmq-env

5、再执行rabbitmq-server命令来启动服务,发现可以启动了:

[root@host1 sbin]# rabbitmq-server   #这种启动方法只能前台启动,Ctrl+c,进程就没了。所以在正式启动的时候我用的nohup rabbitmq-server >/dev/null 2>&1 & 这个命令启动RabbitMQ 3.6.12. Copyright (C) 2007-2017 Pivotal Software, Inc.##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/##  ############  Logs: /var/log/rabbitmq/rabbit@host1.log######  ##        /var/log/rabbitmq/rabbit@host1-sasl.log##########Starting broker...completed with 0 plugins.

然后查看进程,发现进程和端口号都已经起来了:

[root@host1 sbin]# ps -ef|grep rabbitmq
root     16778     1  0 Jul03 ?        00:32:36 /usr/local/erlang/lib/erlang/erts-8.3/bin/beam.smp -W w -A 128 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/local/erlang/lib/erlang -progname erl -- -home /root -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.12/ebin -noshell -noinput -s rabbit boot -sname rabbit@host-172-51-121-10 -boot start_sasl -config /etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@host-172-51-121-10.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@host-172-51-121-10-sasl.log"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.12/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@host-172-51-121-10-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@host-172-51-121-10" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672 -noshell -noinput
root     27708 25767  0 09:12 pts/1    00:00:00 grep --color=auto rabbitmq
[root@host1 sbin]#
[root@host1 sbin]# netstat -tlunp|grep 15672
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      16778/beam.smp
[root@host1 sbin]#

6、安装插件:

[root@host1 sbin]#  rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:amqp_clientcowlibcowboyrabbitmq_web_dispatchrabbitmq_management_agentrabbitmq_managementApplying plugin configuration to rabbit@host1... started 6 plugins.
[root@host1 sbin]#
[root@host1 sbin]#

特别说明:
本文的这种解决方法,使用rabbitmq-server方法可以启动服务,但是使用另一种service rabbitmq-server start的方法启动,发现还是启动不了,会报这个错:

[root@host1 sbin]# service rabbitmq-server start
Starting rabbitmq-server (via systemctl):  Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.[FAILED]

查看报错详情:

[root@host1 sbin]# systemctl status rabbitmq-server.service
â— rabbitmq-server.service - LSB: Enable AMQP service provided by RabbitMQ brokerLoaded: loaded (/etc/rc.d/init.d/rabbitmq-server; bad; vendor preset: disabled)Active: failed (Result: exit-code) since Tue 2018-07-03 11:26:58 CST; 22s agoDocs: man:systemd-sysv-generator(8)Process: 10985 ExecStart=/etc/rc.d/init.d/rabbitmq-server start (code=exited, status=1/FAILURE)Jul 03 11:26:58 host1 systemd[1]: Starting LSB: Enable AMQP service provided by RabbitMQ broker...
Jul 03 11:26:58 host1 su[11076]: (to rabbitmq) root on none
Jul 03 11:26:58 host1 su[11208]: (to rabbitmq) root on none
Jul 03 11:26:58 host1 rabbitmq-server[10985]: Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
Jul 03 11:26:58 host1 rabbitmq-server[10985]: rabbitmq-server.
Jul 03 11:26:58 host1 systemd[1]: rabbitmq-server.service: control process exited, code=exited status=1
Jul 03 11:26:58 host1 systemd[1]: Failed to start LSB: Enable AMQP service provided by RabbitMQ broker.
Jul 03 11:26:58 host1 systemd[1]: Unit rabbitmq-server.service entered failed state.
Jul 03 11:26:58 host1 systemd[1]: rabbitmq-server.service failed.
[root@host1 sbin]#

查看报错日志:

[root@host1 sbin]# cat /var/log/rabbitmq/startup_err
erlexec: HOME must be set
[root@host1 sbin]#

这个问题暂时还没找到怎么解决的方法,后续解决了再补上。

后记:
遇到报错“/usr/lib/rabbitmq/bin/rabbitmq-server: line 80: erl: command not found”,在网上查了很多解决方法,主要说法有两种:
1、在/usr/lib/rabbitmq/bin/rabbitmq-server文件的80行添加erl的环境变量;
2、修改/etc/profile修改环境变量,加上类似export HOME=/usr/lib/rabbitmq的配置
这两种方法都试过了,对我的问题不奏效,但记下来作为借鉴。

转载于:https://blog.51cto.com/10950710/2139572

离线解决Rabbitmq启动报“line 80: erl: command not found”相关推荐

  1. 解决 Tomcat 启动报does not exist or is not a readable directory错误

    2017-02-22 已解决,恩-.这次是真的解决完成才写的 在运行tomcat的时候,感觉部署的项目有点多,则删除了几个项目,再次启动Tomcat的时候突然报错了,如下图: 于是各种百度,找到了一篇 ...

  2. Linux 部署RabbitMQ 启动报错 ERROR: epmd error for host www: timeout (timed out)

    rabbitmq-server restart 启动报错 学习笔记 奥里给! 注意这条信息:ERROR: epmd error for host www: timeout (timed out) 编辑 ...

  3. linux查看与修改交换内存配置(解决zabbix-agent启动报错)

    问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left o ...

  4. 解决 springboot 启动报错 -- Cannot determine embedded database driver class for database type NONE

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 问题描述 我只是新建一个全新的 springboot 工程,什么都没有写的情况下启动报错如题: ...

  5. RabbitMQ:Plugin configuration unchanged;解决RabbitMQ启动问题,Win10用户中文问题解决

    首先MQ是什么? MQ是Message Queue消息队列的缩写.消息队列是一种应用程序对应用程序的通信方法.应用程序通过写和检索入列队的针对应用程序的数据(消息)来进行通信,而不需要专用连接来链接它 ...

  6. linux开机内存报错,linux查看与修改交换内存配置(解决zabbix-agent启动报错)

    问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left o ...

  7. 关于Windows启动RabbitMQ启动报错Applying plugin configuration to rabbit@xxx... Plugin configuration unchanged

    今日想学习Rabbitmq操作,于是装了erlang和rabbitMQ,安装及环境变量配置我就不说了. 安装好后启动报了这个错误: 网上好多人都说版本问题,于是我按照官网推荐版本(erlang 22. ...

  8. php hugepage,【原创】解决Redis启动报错:Transparent Huge Pages (THP) support enabled in your kernel...

    问题背景 Redis启动报错: WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This w ...

  9. 解决Hbase启动报错问题:No such file or directory!

    应用场景 在Hbase搭建完之后,本想开开心心的启动Hbase,进行测试使用hbase,但是发现启动hbase的时候,报各种各样的错误,java_home,hbase,hadoop等找不到文件或目录, ...

最新文章

  1. 华为不造车,广汽合作智能驾驶
  2. Javascript删除JSON元素
  3. swift 之SnapKit 动画
  4. [APIO2014] 序列分割(斜率优化dp)
  5. db,dbms,dba_DBMS中的数据库管理员(DBA)
  6. 2018-2019-1 20165205 20165233 实验二 固件程序设计
  7. 创建Windows Mobile上兼容性好的UI 程序
  8. Tomcat—logs文件夹中不再产生日志文件
  9. Tomcat官网下载旧版本
  10. 免杀工具BypassAv-web使用教程
  11. mysql中如何去除重复数据_MySQL如何去除重复数据?
  12. itext7学习笔记杂谈系列2——在itext7中添加中文(其他字体)和字体相关事
  13. excel学习-制作斜线表头
  14. MQTT学习笔记--阿里云物联网连接(一)连接
  15. VS2013编译libjpeg库
  16. 人工智能案例集 | 连续值预测基础
  17. Python爬虫核心知识-第二章:2.2 爬虫urllib.parse模块
  18. Android深色模式下,看不见字的解决办法
  19. RK3399平台开发系列讲解(PCI/PCI-E)5.53、PCIE RC侧 地址映射
  20. 金盾防火墙为你保驾护航

热门文章

  1. python绘图颜色代码大全_【python】Matplotlib作图常用marker类型、线型和颜色
  2. 解决IDEA按键失效
  3. 经纬恒润与黑芝麻智能达成战略合作,携手打造全场景智能驾驶、智能座舱解决方案
  4. 计算机女神百度云连接,JVID JKF VENUS NIGHT JKF女神之夜 比基尼感謝祭 2018.mkv
  5. 利用VBA实现word文档手写体打印
  6. C语言课设——机房机位预定系统
  7. 径向基函数神经网络RBFNN
  8. 如何分析UI设计作品
  9. Android天气预报开发
  10. windows使用双网卡同时连接双网