64位 CentOS 6.2 安装erlang及rabbitmq Server

前端之家收集整理的这篇文章主要介绍了64位 CentOS 6.2 安装erlang及rabbitmq Server前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

原文

CentOS 6.2 64bit 安装erlang及RabbitMQ Server

1、操作系统环境(CentOS 6.2 64bit)

  1. [root@leekwen ~]# cat /etc/issue
  2. CentOS release 6.2 (Final)
  3. Kernel \r on an \m
  4. [root@leekwen ~]# cat /proc/cpuinfo |grep "clflush size"
  5. clflush size : 64
  6. clflush size : 64
  7. clflush size : 64
  8. clflush size : 64
  9. clflush size : 64
  10. clflush size : 64
  11. clflush size : 64
  12. clflush size : 64
2、安装erlang依赖的基本环境
  1. [root@leekwen ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
3、导入erlang源,并安装erlang @H_403_76@[root@leekwen ~]# rpm --import http://binaries.erlang-solutions.com/debian/erlang_solutions.asc [root@leekwen ~]# wget -O /etc/yum.repos.d/erlang_solutions.repo http://binaries.erlang-solutions.com/rpm/centos/erlang_solutions.repo --2014-04-09 22:29:49-- http://binaries.erlang-solutions.com/rpm/centos/erlang_solutions.repo Resolving binaries.erlang-solutions.com... 46.235.224.136 Connecting to binaries.erlang-solutions.com|46.235.224.136|:80... connected. HTTP request sent,awaiting response... 301 Moved Permanently Location: http://packages.erlang-solutions.com//rpm/centos/erlang_solutions.repo [following] --2014-04-09 22:29:56-- http://packages.erlang-solutions.com//rpm/centos/erlang_solutions.repo Resolving packages.erlang-solutions.com... 31.172.186.53 Connecting to packages.erlang-solutions.com|31.172.186.53|:80... connected. HTTP request sent,awaiting response... 200 OK Length: 245 Saving to: /etc/yum.repos.d/erlang_solutions.repo 100%[=================================================================================>] 245 --.-K/s in 0s 2014-04-09 22:30:09 (34.0 MB/s) - /etc/yum.repos.d/erlang_solutions.repo [root@leekwen ~]# wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Resolving tree.repoforge.org... 78.46.17.228 Connecting to tree.repoforge.org|78.46.17.228|:80... connected. HTTP request sent,awaiting response... 301 Moved Permanently Location: http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm [following] --2014-04-09 22:30:54-- http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm Resolving apt.sw.be... 193.1.193.67 Connecting to apt.sw.be|193.1.193.67|:80... connected. HTTP request sent,awaiting response... 200 OK Length: 12700 (12K) [application/x-redhat-package-manager] Saving to: rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 100%[=================================================================================>] 12,700 4.80K/s in 2.6s 2014-04-09 22:31:07 (4.80 KB/s) - rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm [root@leekwen ~]# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt [root@leekwen ~]# rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm [root@leekwen ~]# yum update [root@leekwen ~]# yum update --skip-broken [root@leekwen ~]# yum install erlang 4、测试erlang环境
  1. [root@leekwen ~]# erl
  2. Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]
  3.  
  4. Eshell V5.10.4 (abort with ^G)
  5. 1> A=12.
  6. 12
  7. 2> A.
  8. 12
  9. 3>
  10. BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
  11. (v)ersion (k)ill (D)b-tables (d)istribution
  12. ^C[root@leekwen ~]#
5、下载并安装rabbitmq-server
  1. [root@leekwen ~]# wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.0/rabbitmq-server-3.3.0-1.noarch.rpm
  2. --2014-04-10 16:44:24--
  3. http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.0/rabbitmq-server-3.3.0-1.noarch.rpm
  4. Resolving www.rabbitmq.com... 192.240.153.117
  5. Connecting to www.rabbitmq.com|192.240.153.117|:80... connected.
  6. HTTP request sent,awaiting response... 200 OK
  7. Length: 3869384 (3.7M) [application/x-redhat-package-manager]
  8. Saving to: rabbitmq-server-3.3.0-1.noarch.rpm
  9.  
  10. 100%[======================================>] 3,869,384 11.9K/s in 5m 37s
  11.  
  12. 2014-04-10 16:50:10 (11.2 KB/s) - rabbitmq-server-3.3.0-1.noarch.rpm saved [3869384/3869384]
  13.  
  14. [root@leekwen ~]# yum install rabbitmq-server-3.3.0-1.noarch.rpm
  15. Loaded plugins: fastestmirror,security
  16. Loading mirror speeds from cached hostfile
  17. * base: centos.ustc.edu.cn
  18. * extras: centos.ustc.edu.cn
  19. * rpmforge: ftp.riken.jp
  20. * updates: centos.ustc.edu.cn
  21. Setting up Install Process
  22. Examining rabbitmq-server-3.3.0-1.noarch.rpm: rabbitmq-server-3.3.0-1.noarch
  23. Marking rabbitmq-server-3.3.0-1.noarch.rpm to be installed
  24. Resolving Dependencies
  25. --> Running transaction check
  26. ---> Package rabbitmq-server.noarch 0:3.3.0-1 will be installed
  27. --> Finished Dependency Resolution
  28.  
  29. Dependencies Resolved
  30.  
  31. ================================================================================
  32. Package Arch Version Repository Size
  33. ================================================================================
  34. Installing:
  35. rabbitmq-server noarch 3.3.0-1 /rabbitmq-server-3.3.0-1.noarch 4.3 M
  36.  
  37. Transaction Summary
  38. ================================================================================
  39. Install 1 Package(s)
  40.  
  41. Total size: 4.3 M
  42. Installed size: 4.3 M
  43. Is this ok [y/N]: y
  44. Downloading Packages:
  45. Running rpm_check_debug
  46. Running Transaction Test
  47. Transaction Test Succeeded
  48. Running Transaction
  49. Installing : rabbitmq-server-3.3.0-1.noarch 1/1
  50.  
  51. Installed:
  52. rabbitmq-server.noarch 0:3.3.0-1
  53.  
  54. Complete!
6、启动rabbitmq-server
  1. [root@leekwen ~]# /etc/init.d/rabbitmq-server start
  2. Starting rabbitmq-server:
  3. Failed - check /var/log/rabbitmq/startup_{log,_err}
  4. rabbitmq-server.
  5. [root@leekwen ~]# cat /var/log/rabbitmq/startup_err
  6. [root@leekwen ~]# cat /var/log/rabbitmq/startup_log
  7. ERROR: epmd error for host leekwen: address (cannot connect to host/port)
  8. [root@leekwen ~]# hostname
  9. leekwen
  10. [root@leekwen ~]# vi /etc/sysconfig/network
  11. NETWORKING=yes
  12. HOSTNAME=leekwen
  13. [root@leekwen ~]# cat /etc/hosts
  14. 127.0.0.1 localhost
  15. 127.0.0.1 leekwen
  16. ::1 localhost
7、以上操作排除了因为主机名不同导致RabbitMQ-Server启动报错的问题,请修改主机名(参见上述步骤),再次启动RabbitMQ-Server
  1. [root@leekwen ~]# /etc/init.d/rabbitmq-server restart
  2. Restarting rabbitmq-server: RabbitMQ is not running
  3. Failed - check /var/log/rabbitmq/startup_{log,_err}
  4. rabbitmq-server.
8、结果同样报错,查看错误的日志:
  1. [root@leekwen ~]# cat /var/log/rabbitmq/startup_log
  2. RabbitMQ 3.3.0. Copyright (C) 2007-2013 GoPivotal,Inc.
  3. ## ## Licensed under the MPL. See http://www.rabbitmq.com/
  4. ## ##
  5. ########## Logs: /var/log/rabbitmq/rabbit@leekwen.log
  6. ###### ## /var/log/rabbitmq/rabbit@leekwen-sasl.log
  7. ##########
  8. Starting broker...
  9.  
  10. BOOT Failed
  11. ===========
  12.  
  13. Error description:
  14. {case_clause,{error,{{shutdown,{Failed_to_start_child,tcp_listener,{cannot_listen,{0,0,0},5672,eaddrinuse}}},{child,undefined,'rabbit_tcp_listener_sup_:::5672',{tcp_listener_sup,start_link,[{0,[inet6,binary,{packet,raw},{reuseaddr,true},{backlog,128},{nodelay,{linger,{true,0}},{exit_on_close,false}],{rabbit_networking,tcp_listener_started,[amqp]},tcp_listener_stopped,start_client,[]},"TCP Listener"]},transient,infinity,supervisor,[tcp_listener_sup]}}}}
  15.  
  16. Log files (may contain more information):
  17. /var/log/rabbitmq/rabbit@leekwen.log
  18. /var/log/rabbitmq/rabbit@leekwen-sasl.log
  19.  
  20. Stack trace:
  21. [{rabbit_networking,start_listener0,4,'-start_listener/4-lc$^0/1-0-',start_listener,'-boot_tcp/0-lc$^0/1-0-',1,boot_tcp,boot,{rabbit,'-run_boot_step/1-lc$^1/1-1-',run_boot_step,[]}]
  22.  
  23.  
  24.  
  25. BOOT Failed
  26. ===========
  27.  
  28. Error description:
  29. {could_not_start,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',failure_during_boot,{case_clause,[tcp_listener_sup]}}}}}}}}}
  30.  
  31. Log files (may contain more information):
  32. /var/log/rabbitmq/rabbit@leekwen.log
  33. /var/log/rabbitmq/rabbit@leekwen-sasl.log
  34.  
  35. {"init terminating in do_boot",{could_not_start,rabb use,stener_sup,{reusea networking,or,[tcp_listener_sup]}}}}}}}}}}}
  36. tail: /var/log/rabbitmq/startup_log: file truncated [Failed]
  37.  
  38.  
  39. [root@leekwen ~]# cat /var/log/rabbitmq/startup_err
  40.  
  41. Crash dump was written to: erl_crash.dump
  42. init terminating in do_boot ()
9、出现如上的错误,可能是因为5672端口已经被占用的原因。
查看5672端口的情况,如果有进程占用此端口,请将它关闭后,重新启动RabbitMQ-Server;
  1. [root@leekwen ~]# netstat -atn |grep 5672
  2. tcp 0 0 0.0.0.0:5672 0.0.0.0:* LISTEN
  3. [root@leekwen ~]# lsof -i:5672
  4. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  5. qpidd 1901 qpidd 10u IPv4 13941 0t0 TCP *:amqp (LISTEN)
  6. [root@leekwen ~]# chkconfig qpidd off
  7. [root@leekwen ~]# netstat -atn |grep 5672
  8. tcp 0 0 0.0.0.0:5672 0.0.0.0:* LISTEN
  9. [root@leekwen ~]# chkconfig qpidd --list
  10. qpidd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
  11. [root@leekwen ~]# /etc/init.d/qpidd stop
  12. Stopping Qpid AMQP daemon: [ OK ]
  13. [root@leekwen ~]# netstat -atn |grep 5672
  14. tcp 0 0 127.0.0.1:25672 127.0.0.1:60925 TIME_WAIT
  15. [root@leekwen ~]# lsof -i:5672
  16. [root@leekwen ~]# /etc/init.d/rabbitmq-server start
  17. Starting rabbitmq-server: SUCCESS
  18. rabbitmq-server.
10、查看RabbitMQ服务启动的状态,并开启RabbitMQ的相应管理插件
  1. [root@leekwen ~]# rabbitmqctl status
  2. Status of node rabbit@leekwen ...
  3. [{pid,716},{running_applications,[{rabbit,"RabbitMQ","3.3.0"},{os_mon,"CPO CXC 138 46","2.2.14"},{mnesia,"MNESIA CXC 138 12","4.11"},{xmerl,"XML parser","1.3.5"},{sasl,"SASL CXC 138 11","2.3.4"},{stdlib,"ERTS CXC 138 10","1.19.4"},{kernel,"2.16.4"}]},{os,{unix,linux}},{erlang_version,"Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:8:8] [async-threads:30] [kernel-poll:true]\n"},{memory,[{total,36436456},{connection_procs,2704},{queue_procs,5408},{plugins,{other_proc,13704576},60240},{mgmt_db,{msg_index,24368},{other_ets,789624},{binary,13672},{code,16399491},{atom,594537},{other_system,4841836}]},{alarms,{listeners,[{clustering,25672,"::"},{amqp,"::"}]},{vm_memory_high_watermark,0.4},{vm_memory_limit,6690450636},{disk_free_limit,50000000},{disk_free,47402364928},{file_descriptors,[{total_limit,924},{total_used,3},{sockets_limit,829},{sockets_used,1}]},{processes,[{limit,1048576},{used,131}]},{run_queue,{uptime,83}]
  4. ...done.
  5.  
  6. [root@leekwen ~]# netstat -atn |grep 5672
  7. tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN
  8. tcp 0 0 :::5672 :::* LISTEN
  9. [root@leekwen ~]# lsof -i:5672
  10. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  11. beam.smp 716 rabbitmq 15u IPv6 1948888 0t0 TCP *:amqp (LISTEN)
  12. [root@leekwen ~]# rabbitmq-plugins list
  13. [ ] amqp_client 3.3.0
  14. [ ] cowboy 0.5.0-rmq3.3.0-git4b93c2d
  15. [ ] eldap 3.3.0-gite309de4
  16. [ ] mochiweb 2.7.0-rmq3.3.0-git680dba8
  17. [ ] rabbitmq_amqp1_0 3.3.0
  18. [ ] rabbitmq_auth_backend_ldap 3.3.0
  19. [ ] rabbitmq_auth_mechanism_ssl 3.3.0
  20. [ ] rabbitmq_consistent_hash_exchange 3.3.0
  21. [ ] rabbitmq_federation 3.3.0
  22. [ ] rabbitmq_federation_management 3.3.0
  23. [ ] rabbitmq_management 3.3.0
  24. [ ] rabbitmq_management_agent 3.3.0
  25. [ ] rabbitmq_management_visualiser 3.3.0
  26. [ ] rabbitmq_mqtt 3.3.0
  27. [ ] rabbitmq_shovel 3.3.0
  28. [ ] rabbitmq_shovel_management 3.3.0
  29. [ ] rabbitmq_stomp 3.3.0
  30. [ ] rabbitmq_tracing 3.3.0
  31. [ ] rabbitmq_web_dispatch 3.3.0
  32. [ ] rabbitmq_web_stomp 3.3.0
  33. [ ] rabbitmq_web_stomp_examples 3.3.0
  34. [ ] sockjs 0.3.4-rmq3.3.0-git3132eb9
  35. [ ] webmachine 1.10.3-rmq3.3.0-gite9359c7
  36. [root@leekwen ~]# rabbitmq-plugins enable rabbitmq_management
  37. The following plugins have been enabled:
  38. mochiweb
  39. webmachine
  40. rabbitmq_web_dispatch
  41. amqp_client
  42. rabbitmq_management_agent
  43. rabbitmq_management
  44. Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
  45. [root@leekwen ~]# rabbitmq-plugins enable mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_m anagement_agent rabbitmq_management
  46. Plugin configuration unchanged.
  47. [root@leekwen ~]# rabbitmq-plugins list
  48. [E] amqp_client 3.3.0
  49. [ ] cowboy 0.5.0-rmq3.3.0-git4b93c2d
  50. [ ] eldap 3.3.0-gite309de4
  51. [E] mochiweb 2.7.0-rmq3.3.0-git680dba8
  52. [ ] rabbitmq_amqp1_0 3.3.0
  53. [ ] rabbitmq_auth_backend_ldap 3.3.0
  54. [ ] rabbitmq_auth_mechanism_ssl 3.3.0
  55. [ ] rabbitmq_consistent_hash_exchange 3.3.0
  56. [ ] rabbitmq_federation 3.3.0
  57. [ ] rabbitmq_federation_management 3.3.0
  58. [E] rabbitmq_management 3.3.0
  59. [E] rabbitmq_management_agent 3.3.0
  60. [ ] rabbitmq_management_visualiser 3.3.0
  61. [ ] rabbitmq_mqtt 3.3.0
  62. [ ] rabbitmq_shovel 3.3.0
  63. [ ] rabbitmq_shovel_management 3.3.0
  64. [ ] rabbitmq_stomp 3.3.0
  65. [ ] rabbitmq_tracing 3.3.0
  66. [E] rabbitmq_web_dispatch 3.3.0
  67. [ ] rabbitmq_web_stomp 3.3.0
  68. [ ] rabbitmq_web_stomp_examples 3.3.0
  69. [ ] sockjs 0.3.4-rmq3.3.0-git3132eb9
  70. [E] webmachine 1.10.3-rmq3.3.0-gite9359c7
  71. [root@leekwen ~]# rabbitmq-plugins list
  72. [E] amqp_client 3.3.0
  73. [ ] cowboy 0.5.0-rmq3.3.0-git4b93c2d
  74. [ ] eldap 3.3.0-gite309de4
  75. [E] mochiweb 2.7.0-rmq3.3.0-git680dba8
  76. [ ] rabbitmq_amqp1_0 3.3.0
  77. [ ] rabbitmq_auth_backend_ldap 3.3.0
  78. [ ] rabbitmq_auth_mechanism_ssl 3.3.0
  79. [ ] rabbitmq_consistent_hash_exchange 3.3.0
  80. [ ] rabbitmq_federation 3.3.0
  81. [ ] rabbitmq_federation_management 3.3.0
  82. [E] rabbitmq_management 3.3.0
  83. [E] rabbitmq_management_agent 3.3.0
  84. [ ] rabbitmq_management_visualiser 3.3.0
  85. [ ] rabbitmq_mqtt 3.3.0
  86. [ ] rabbitmq_shovel 3.3.0
  87. [ ] rabbitmq_shovel_management 3.3.0
  88. [ ] rabbitmq_stomp 3.3.0
  89. [ ] rabbitmq_tracing 3.3.0
  90. [E] rabbitmq_web_dispatch 3.3.0
  91. [ ] rabbitmq_web_stomp 3.3.0
  92. [ ] rabbitmq_web_stomp_examples 3.3.0
  93. [ ] sockjs 0.3.4-rmq3.3.0-git3132eb9
  94. [E] webmachine 1.10.3-rmq3.3.0-gite9359c7
  95. [root@leekwen ~]# netstat -atn |grep 5672
  96. tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN
  97. tcp 0 0 :::5672 :::* LISTEN
  98. [root@leekwen ~]# netstat -atn |grep 15672
  99. [root@leekwen ~]# netstat -atn |grep 55672
  100. [root@leekwen ~]# /etc/init.d/rabbitmq-server restart
  101. Restarting rabbitmq-server: SUCCESS
  102. rabbitmq-server.
  103. [root@leekwen ~]# netstat -atn |grep 55672
  104. [root@leekwen ~]# netstat -atn |grep 5672
  105. tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN
  106. tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN
  107. tcp 0 0 127.0.0.1:54463 127.0.0.1:25672 TIME_WAIT
  108. tcp 0 0 127.0.0.1:60321 127.0.0.1:25672 TIME_WAIT
  109. tcp 0 0 127.0.0.1:25672 127.0.0.1:56750 TIME_WAIT
  110. tcp 0 0 :::5672 :::* LISTEN
  111.  
  112. 就可以用guest,guest登陆http://192.168.1.101:15672端口了。

注意:如果此时你从端口15672或55672登陆不了,请关闭CentOS6.2的防火墙,再次登陆,

如果仍然出现无法登陆的想象,查看日志后,显示

  1. =ERROR REPORT==== 20-Apr-2014::00:55:15 ===
  2. webmachine error: path="api/whoami"
  3. "Unauthorized"
那么请运行如下的命令,增加用户admin,密码admin即可。
  1. [root@leekwen ~]# rabbitmqctl add_user admin admin
  2. Creating user "admin" ...
  3. ...done.
  4. [root@leekwen ~]# rabbitmqctl list_users
  5. Listing users ...
  6. admin []
  7. guest [administrator]
  8. ...done.
  9. [root@leekwen ~]# rabbitmqctl set_user_tags admin administrator
  10. Setting tags for user "admin" to [administrator] ...
  11. ...done.
  12. [root@leekwen ~]# rabbitmqctl list_users
  13. Listing users ...
  14. admin [administrator]
  15. guest [administrator]
  16. ...done.
到此,配置完成。

猜你在找的CentOS相关文章