设为首页 收藏本站
查看: 2905|回复: 0

[经验分享] CentOS 7 安装RabbitMQ 3.3及单机多实例实现、常用命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-12 09:49:29 | 显示全部楼层 |阅读模式

1、安装erlang 语言环境

安装依赖文件

#yum -y installncurses-devel

yum -y install gcc gcc-c++

yum -y install zlib zlib-devel xmlto
安装python  ,可以执行python –V查询是否安装,一般系统自带已安装。

进入http://www.erlang.org/download.html选择源文件下载

wgethttp://www.erlang.org/download/ otp_src_17.1.tar.gz

tar zxvf  otp_src_17.1.tar.gz

cd otp_src_17.1

    阅读HOTO/INSTALL.md文件

#./configure

   #make && make install

安装完成以后,执行erl看是否能打开eshell,用’halt().’退出,注意后面的点号,那是erlang的结束符。

[iyunv@localhostsrc]# erl
Erlang/OTP 17 [erts-6.1] [source] [64-bit] [async-threads:10] [hipe][kernel-poll:false]

EshellV6.1  (abort with ^G)
2> 9+3.
12
3> halt().

2、安装RabbitMQ


进入http://www.rabbitmq.com/download.html选择最新的源码包

#wget http://www.rabbitmq.com/releases ... server-3.3.4.tar.gz

#tar zxvfrabbitmq-server-3.3.4.tar.gz

mkdir /usr/rabbitmq

#cdrabbitmq-server-3.3.4

#makeTARGET_DIR=/usr/rabbitmq SBIN_DIR=/usr/rabbitmq/sbin MAN_DIR=/usr/rabbitmq/man DOC_INSTALL_DIR=/usr/rabbitmq/doc

#makeTARGET_DIR=/usr/rabbitmq SBIN_DIR=/usr/rabbitmq/sbin MAN_DIR=/usr/rabbitmq/manDOC_INSTALL_DIR=/usr/rabbitmq/doc  install

3、启动rabbitmq-server

运行rabbitmq:

#/usr/rabbitmq/sbin/rabbitmq-server  start&

(或者#/usr/rabbitmq/sbin/rabbitmq-server -detached)

需要在/etc/hosts 中添加

127.0.0.1 localhost主机名



4、安装web插件管理界面—必须安装web插件,否则无法启用15672端口和进行web页面登录
#cd /usr/rabbitmq/sbin
#mkdir /etc/rabbitmq/  --默认插件是安装到此目录,所以必须创建
#./rabbitmq-plugins enablerabbitmq_management
5、好了,到这里rabbitmq已经配置好了,可以启动了:
#./rabbitmq-server start&
我运行的时候报错了,ERROR: epmd errorfor host "springzoo": timeout (timed out)
更改下/etc/hosts:  
127.0.0.1   localhost springzoo
::1         localhost springzoo
# ps aux | grep rabbitmq //查看端口,默认就是5672
netstat -tnlp | grep 5672
tcp        0      00.0.0.0:15672               0.0.0.0:*                  LISTEN     30435/beam.smp      
tcp        0      00.0.0.0:55672               0.0.0.0:*                  LISTEN     30435/beam.smp      
tcp        0      0:::5672                    :::*                       LISTEN      30435/beam.smp
如果看到下面的信息就表明已经启动成功了:

QQ截图20160912094900.png

运行如下的命令,增加用户admin,密码admin

[iyunv@localhost sbin]# ./rabbitmqctl add_user admin admin
Creating user "admin" ...
...done.
[iyunv@localhost sbin]# ./rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
...done.
[iyunv@localhost sbin]# ./rabbitmqctl list_users
Listing users ...
admin   [administrator]
guest   [administrator]
...done.


最后关闭防火墙我们就可以在浏览器上输入http://127.0.0.1:15672/登录管理界面了(由于端口号过大,如果无法通过防火墙,那必须关闭防火墙)
使用登录的名户名和密码默认都算admin,登录后的页面如下:

QQ截图20160912094906.png

查看rabbitmq状态:

#/usr/rabbitmq/sbin/rabbitmqctl status

关闭rabbitmq:

#/usr/rabbitmq/sbin/rabbitmqctl stop

6、查看RabbitMQ服务启动的状态,并开启RabbitMQ的相应管理插件

[iyunv@localhostsbin]# ./rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,35112},
{running_applications,[{rabbit,"RabbitMQ","3.3.4"},
                       {os_mon,"CPO  CXC 138 46","2.2.15"},
                       {xmerl,"XML parser","1.3.7"},
                       {mnesia,"MNESIA  CXC 138 12","4.12.1"},
                       {sasl,"SASL  CXC 138 11","2.4"},
                       {stdlib,"ERTS  CXC 138 10","2.1"},
                       {kernel,"ERTS  CXC 138 10","3.0.1"}]},
{os,{unix,linux}},
{erlang_version,"Erlang/OTP 17 [erts-6.1] [source] [64-bit][async-threads:30] [hipe] [kernel-poll:true]\n"},
{memory,[{total,35218336},
          {connection_procs,2728},
          {queue_procs,5456},
          {plugins,0},
          {other_proc,13339072},
          {mnesia,57552},
          {mgmt_db,0},
          {msg_index,33968},
          {other_ets,708832},
          {binary,30112},
          {code,16881166},
          {atom,654217},
          {other_system,3505233}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,769332019},
{disk_free_limit,50000000},
{disk_free,45550653440},
{file_descriptors,[{total_limit,924},
                   {total_used,3},
                   {sockets_limit,829},
                   {sockets_used,1}]},
{processes,[{limit,1048576},{used,124}]},
{run_queue,0},
{uptime,2182}]
...done.
[iyunv@localhost sbin]# ./rabbitmq-plugins list
[ ]amqp_client                      3.3.4
[ ]cowboy                           0.5.0-rmq3.3.4-git4b93c2d
[ ]eldap                            3.3.4-gite309de4
[ ]mochiweb                         2.7.0-rmq3.3.4-git680dba8
[ ]rabbitmq_amqp1_0                 3.3.4
[ ] rabbitmq_auth_backend_ldap        3.3.4
[ ] rabbitmq_auth_mechanism_ssl       3.3.4
[ ] rabbitmq_consistent_hash_exchange 3.3.4
[ ]rabbitmq_federation              3.3.4
[ ] rabbitmq_federation_management    3.3.4
[ ]rabbitmq_management              3.3.4
[ ] rabbitmq_management_agent        3.3.4
[ ] rabbitmq_management_visualiser    3.3.4
[ ]rabbitmq_mqtt                    3.3.4
[ ]rabbitmq_shovel                  3.3.4
[ ] rabbitmq_shovel_management        3.3.4
[ ] rabbitmq_stomp                   3.3.4
[ ]rabbitmq_test                    3.3.4
[ ]rabbitmq_tracing                 3.3.4
[ ]rabbitmq_web_dispatch            3.3.4
[ ]rabbitmq_web_stomp               3.3.4
[ ] rabbitmq_web_stomp_examples       3.3.4
[ ] sockjs                           0.3.4-rmq3.3.4-git3132eb9
[ ]webmachine                       1.10.3-rmq3.3.4-gite9359c7
[iyunv@localhost sbin]#

配置开机启动
vi /etc/rc.d/rc.local
添加
/usr/rabbitmq/sbin/rabbitmq-server  start &



在另一台服务器上安装rabbit时,遇到问题
/bin/sh: nc: 未找到命令
/bin/sh: zip: 未找到命令
这会导致有部分文件无法编译生成,所以必须先安装这两个命令
yum -y install zip nc unzip

遇到的问题
1.解压rabbit安装包后,需要新建一个目录,与make命令中制定的文件目录一致,但是不要直接指定为rabbit解压目录,否则会出现$home$/sbin目录为空的情况。
2.服务器重启后启动common等需要连接到rabbitmq的服务,发现启动报错,无法启动,
3.执行还原命令rabbitmqctlreset时报错:
Error:mnesia_unexpectedly_running

需要执行的是:


[iyunv@HK-210209127027 ~]# rabbitmqctlstop_app

[iyunv@HK-210209127027 ~]# rabbitmqctlreset

[iyunv@HK-210209127027 ~]# rabbitmqctlcluster root@HK-210209127027




常用命令:

查看所有队列信息

# rabbitmqctllist_queues

关闭应用

# rabbitmqctlstop_app

启动应用,和上述关闭命令配合使用,达到清空队列的目的

# rabbitmqctlstart_app

清除所有队列

# rabbitmqctl reset

更多用法及参数,可以执行如下命令查看

# rabbitmqctl


(1)首先关闭rabbitmq: rabbitmqctl stop_app

(2)还原: rabbitmqctl reset

(3)启动: rabbitmqctl start_app

(4)添加用户: rabbitmqctl add_user root root

(5)设置权限:rabbitmqctl set_permissions -p / root".*" ".*" ".*"

(6)查看用户: rabbitmqctl list_users



在单机上实现rabbitmq多实例操作:
需要修改的配置文件为:
#vim /etc/rabbitmq/rabbitmq.config
[
{rabbit,
  [
  {tcp_listeners, [5672]},
  {tcp_listeners,[{"127.0.0.1", 5673},{"::1",       5673}]}
  ]
  },
{rabbitmq_management,
  [
         {listener, [{port,     15673},
            {ip,       "0.0.0.0"},
            {ssl,     false}
         ]}
]}
].
修改完成后,,如果要开启多个实例,参照以下修改配置文件的端口,然后用下面的命令执行即可(注意应同时修改RABBITMQ_NODE_PORT的端口号):
RABBITMQ_NODE_PORT=5673RABBITMQ_NODENAME=rab /usr/rabbitmq/sbin/rabbitmq-server –detached &
以上步骤是开启了5673端口的一个rabbitmq实例,如果再开启一个实例,那么再修改配置文件:
#vim /etc/rabbitmq/rabbitmq.config

[
{rabbit,
  [
  {tcp_listeners, [5672]}
  %%{tcp_listeners, [5672]},
  %%{tcp_listeners,[{"127.0.0.1", 5672},{"::1",       5672}]}
  %%{tcp_listeners,[{"127.0.0.1", 5672},{"::1",       5672}]}
  ]
  }
%%{rabbitmq_management,
%%[
        %%{listener, [{port,     15673},
     %%       {ip,       "0.0.0.0"},
     %%       {ssl,    false}
        %%]}
%%]}
].

保存退出,
执行命令:/usr/rabbitmq/sbin/rabbitmq-serverstart &即可启动默认端口为5672的服务。




如果需要恢复默认的启动方式:
# /usr/rabbitmq/sbin/rabbitmq-server start &
则对应的配置文件为:
#vim /etc/rabbitmq/rabbitmq.config
[
{rabbit,
  [
  {tcp_listeners, [5672]},
  {tcp_listeners,[{"127.0.0.1", 5672},{"::1",       5672}]}
  ]
  }
%%{rabbitmq_management,
%%[
         %%{listener, [{port,     15673},
     %%       {ip,       "0.0.0.0"},
     %%       {ssl,    false}
         %%]}
%%]}
].


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-271086-1-1.html 上篇帖子: CentOS 7 网卡bond配置 下篇帖子: openldap常用操作及常用关键字解释 单机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表