RabbitMQ的安装与配置,附集群配置

原创
2019/02/26 09:56
阅读数 65

RabbitMQ

RabbitMQ安装是最慢的一个,安装它需要erlang的支持

安装erlang

  1. 下载rpm仓库
     wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    
  2. 安装rpm仓库
    rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
    
  3. 安装erlang
    yum -y install erlang
    

安装RabbitMQ

  1. 下载RabbitMQ的rpm,然后安装它
    yum -y install rabbitmq-server-3.6.6-1.el6.noarch.rpm
    
  2. 启动RabbitMQ
    service rabbitmq-server start
    
    • 启动RabbitMQ可能会报错
      # service rabbitmq-server start
      Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
      rabbitmq-server.
      
    • 根据提示查看RabbitMQ的日志和错误
      # cat  /var/log/rabbitmq/startup_err 
      
      没有错误,看日志
      # cat  /var/log/rabbitmq/startup_log 
      ERROR: epmd error for host ytcatv: timeout (timed out)
      
      日志的意思是host: ytcatv连接超时,那么可以很自信的肯定解析host: ytcatv失败
      我们试一下
      # ping ytcatv
      PING ytcatvq (123.129.254.12) 56(84) bytes of data.
      
      很明显无法解析目标主机 ytcatv 查看hosts文件中的绑定设置
      # vi /etc/hosts
      
      127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
      ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
      
      确认 ytcatv 没有绑定,绑定 ytcatv 到本地,在两行的末尾加上 ytcatv,如下
      127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ytcatv
      ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 ytcatv
      
      保存退出,ping ytcatv
      # ping ytcatv
        PING localhost (127.0.0.1) 56(84) bytes of data.
        64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.019 ms
        64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.016 ms
        64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.010 ms
      
      
      说明绑定成功了,重新启动RabbitMQ
  3. 启动web管理界面
    rabbitmq-plugins enable rabbitmq_management
    
    • 增加访问用户,默认用户guest只能本地访问。
    rabbitmqctl add_user admin 123456
    
    • 设置角色:
    rabbitmqctl set_user_tags admin administrator
    
    • 设置默认vhost("/")访问权限
    rabbitmqctl set_permissions -p "/" admin "/" "/" ".*"
    

7 浏览器访问:http://IP:15672
用户名admin,密码123456进行登录


集群配置

好了,我们已经装成功了RabbitMQ了,那我们现在再多装两个RabbitMQ来部署集群吧。

例如:我们有三个RabbitMQ的服务器要做成集群

  • A机器:192.168.10.11
  • B机器:192.168.10.22
  • C机器:192.168.10.33

那我们需要做如下准备,

  • 安装好RabbitMQ
  • 确认网络互通
  • 服务器的防火墙等配置
  1. 为每个机器改名(不管是啥删掉原来的)
    	vi /etc/hostname
    
    三个机器的名字分别为mq11,mq22,mq33
  2. 为每个机器添加host解析(在后面添加内容就行了)
    	vi /etc/hosts
    
    需要添加的内容如下
    	192.168.10.11	mq11
    	192.168.10.22	mq22
    	192.168.10.33	mq33
    
  3. 重启机器
  4. 查看RabbitMQ的状态
    	rabbitmqctl cluster_status
    
  5. 同步三个机器的erlang的cookie文件
    	cd /var/lib/rabbitmq/
    
    文件夹下有个隐藏的文件.erlang.cookie 复制文件内容或者复制文件本身都可以,一定要确保集群机器上的文件都是一样的 另外文件的权限是400,用户和组都是rabbitmq(如果你是yum)
  6. 这是重点,把mq22,mq33以内存形式和mq11相连,分别在mq22,mq33上做下列操作
    	rabbitmqctl stop_app
    	rabbitmqctl join_cluster --ram rabbit@mq1
    	rabbitmqctl start_app
    
  7. 做完上述操作之后在mq11上查看节点状态
    	rabbitmqctl cluster_status
    
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部