centos7安装rabbitmq(几乎所有的坑都遇到了)

#下载以及安装erlang、rabbitmq

记住版本需要对应,否则就会报错,不能使用。我使用的是rpm包进行的安装

我使用的是erlang18.2

rabbitmq对应的是 3.6.9

rpm -ivh rabbitmq-server-3.6.9-1.el7.noarch.rpm 

还有一个依赖包叫socat 

yum install socat 

 安装完之后。只会有一个success输出.

然后感觉就没然后了。。。。。。安装成功了。

但是使用ps -ef | grep rabbitmq 是没有进程的。

# 启动rabbitmq

使用rpm安装完后,找不到安装文件的路径,以及想改配置也会是一脸茫然,

查找安装路径,目录

使用find / -name rabbitmq-service 即可看到安装的目录,

找到其中/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/ sbin,继续下面工作

way1 使用这个假如关闭窗口就会退出

# 需要开起来,有些会使用后台运行的rabbitmq-service -detached,但是这个我在关闭的时候使用way2方式关闭的时候不能关闭,所以很不方便。
rabbitmq-server start

# 停止rabbitmq
rabbitmq-server stop

# 查看rabbitmq的状态
rabbitmq-server status

way2 推荐   也可以使用下面的命令
# 需要开起来
service rabbitmq-server start

# 停止rabbitmq
service rabbitmq-server stop

# 查看rabbitmq的状态
service rabbitmq-server status

现在查看状态是可以的,然后使用web进行管理,就需要安装插件 

rabbitmq-plugins enable rabbitmq_management

关于启动的有一个坑,有一些说使用

# 然后登陆http://server_ip:15672 

此时使用默认账号密码登陆,是登进不去的,因为需要设置一下权限的问题。
user :guest
password:guest   

在访问管理界面使用guest用户登录时出现login failed错误。然后在查看日志日志查看在

tail -f -n100 /var/log/rabbitmq/rabbitmq@localhost.log

到服务器上查询日志显示出现错误的原因是:HTTP access denied: user ‘guest’ - User can only log in via localhost。

然后编辑vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/ebin/rabbitmq.app
此处有一个坑,在有一些版本上面有一个文件叫rabbitmq.config.example但是在这里不应该改那个,实际上是改此目录下的rabbitmq.app即可。
找到 loopback_user里面的guest去掉即可,其实这个仔细阅读log也是可以查看的。后面遇到一个问题,找了半天没找到解决办法,只能仔细阅读出错的日志,最后解决了。

找到loopback_users的guest去掉,就应该可以后台登录了。(此处也可以进行密码的更改,在此处上面有一个默认的密码,可以进行更改,更改后再登陆的时候要使用更改的密码)

# 添加用户(此处有坑)

# 进入到安装目录
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/sbin
# 添加用户 以及密码
rabbitmqctl add_user admin admin123
# 查看用户列表
rabbitmqctl list_users
# 添加进管理员,此处假如不添加管理员,在登陆的时候会报错,此用户不是管理员。所以必须添加。
rabbitmqctl set_user_tags admin administrator

坑:

在使用rabbitmq的rabbitctl 命令会报错

/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/ebin
[root@localhost ebin]# rabbitmqctl status
Status of node rabbit@localhost ...
Error: unable to connect to node rabbit@localhost: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@localhost]

rabbit@localhost:
  * connected to epmd (port 4369) on localhost
  * epmd reports node 'rabbit' running on port 25672
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: hostname mismatch?
  * suggestion: is the cookie set correctly?
  * suggestion: is the Erlang distribution using TLS?

current node details:
- node name: 'rabbitmq-cli-95@opscluster1005'
- home dir: /var/lib/rabbitmq
- cookie hash: rNTn8AhSg8ecUxo8d0ybrA==

网上的解决办法几乎只有2种 :
      1 重装     
      2 更改.erlang.cookie(你会在root目录以及另外一个安装目录会找到。可以使用find / -name erlang.cookie)
      3 更改hosts 以及 # vim /etc/hosts   # vim /etc/hostname更改这两个文件,但是未解决。

但是这两种都是没有解决问题,仔细读我的报错,就会发现原因是连接的时候node是错的,我运行的是opscluster1005但是连接的却是localhost所以才会导致错误。然后查询rabbitmqctl的命令发现:

rabbitmqctl [-n node] [-t timeout] [-q] {command} [command options…]
#可以自己主动进行连接某个node所以:
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 set_user_tags administrator
Setting tags for user "administrator" to [] ...
Error: no_such_user: administrator
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
Error: no_such_user: admin
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 list_users
Listing users ...
guest	[administrator]
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 add_user admin qingmu123
Creating user "admin" ...
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
# 设置成功,装机完毕

  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值