centos7 安装RabbitMQ3.6.15 以及各种报错(转)
各个版本之间的差异不大,安装前要确保rabbitmq 的版本和 elang的版本一致。预防各种错乱。
注意点:(重要!!重要!!)
- 同时安装的时候最好确保rabbitmq和erlang放在通过目录下面。
- 我安装的路径是在:/usr/local/
- rabbitMQ3.6.15对应的erlang的版本是20.3
1、安装Erlang环境
[[email protected] local]# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto // 安装依赖文件
[[email protected] local]# wget -c http://erlang.org/download/otp_src_20.3.tar.gz // 安装erlang
[[email protected] local]# tar -zxvf otp_src_20.3.tar.gz // 解压
[[email protected] local]# cd otp_src_20.3/
// 编译安装 ,编译后放在/usr/local/erlang目录里面
[[email protected] otp_src_20.3]# ./configure --prefix=/usr/local/erlang
[[email protected] otp_src_20.3]# make && make install
[[email protected] erlang]# cd /usr/local/erlang/bin/
[[email protected] bin]# ./erl
以上步骤基本不会出现问题。
配置环境变量(ps:这个跟java的环境变量配置是差不多的)
[[email protected] bin]# vim /etc/profile
在末尾加入这么一行即可:export PATH=$PATH:/usr/local/erlang/bin
更新配置文件:[[email protected] bin]# source /etc/profile
更新之后在任意地方输入erl能进入命令行, 那么就说明配置成功了。
2、现在开始安装RabbitMQ
先退回local目录 cd /usr/local/
[[email protected] local]# wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
[[email protected] local]# xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
[[email protected] local]# tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
配置rabbitmq的环境变量(这个跟上面的erlang配置以及java的环境变量差不多)
[[email protected] local]# vim /etc/profile
在末尾加入以下配置:export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin
更新配置文件:[[email protected] local]# source /etc/profile
以上操作基本安装完成。现在开启rabbitmq
rabbitmq-server
显示如上图。表示安装成功。(这也是报错最多的地方。文章末尾有各种报错)
3、启动网页管理插件:
[[email protected] local]# rabbitmq-plugins enable rabbitmq_management
开启之后通过curl访问本地,如图
如上图所示表示安装成功,可以通过本地访问。但此时通过ip还无法访问。下面开启远程访问
4、开启远程访问
添加用户:rabbitmqctl add_user CRX CRXCRX111 //CRX 是用户名, CRXCRX111是用户密码
添加权限:rabbitmqctl set_permissions -p “/” CRX “." ".” “.*”
修改用户角色:rabbitmqctl set_user_tags CRX administrator
然后就可以远程访问了,然后可直接配置用户权限等信息
以上是全部内容 安装rabbitmq以及erlang。
下面开始错误信息
1。运行 rabbitmq-server 或者 rabbitmq-server -detached 的时候。这两个命令都是启动rabbitmq 一个是直接运行。一个是后台守护进程运行。
发现:在rabbitmq-server模式启动下报错:init terminating in do_boot : undef
问题:绝大部分是因为rabbitmq和erlang的版本不一致。或者 rabbitmq和lerlang安装的文件路径不统一。如果按照我的步骤安装应该不会出现此类问题
解决:不一致时重新安装erlang。换个版本。把原来的/usr/local/erlang文件删掉。不统一就把把文件都放在统一的目录。我的目录是放在/usr/local/下面
2。rabbitmq-server -detached 报错
Warning: PID file not written; -detached was passed.
ERROR: node with name “rabbit” already running on “izwz9cwq2lgbd7zagmw4ynz”
解决:依次执行命令
ps aux|grep epmd
ps aux|grep erl
kill -9 17330 进程号各个机子不一样。kill掉最长的那条。然后再执行 rabbitmq-server
安装完成后的 rabbitmqctl status
转自https://www.cnblogs.com/chenrunxuan/p/10573551.html