rabbitmq编译部署以及常见报错

(一)源码安装Erlang
(1)下载erlang源码包
wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
(2)解压缩erlang源码包
tar -zxvf otp_src_R13B04.tar.gz
(3)安装
./configure??--prefix=/usr/local/erlang
./make
./make install
如果抛出如下错误
No curses library functions found
请先安装?curses library? ? ? ??
yum -y install ncurses-devel
在安装otp时遇到了一点问题,整体的安装过程比较简单。

o.com/images/blog/201809/04/4d893302b16ebe3474fc514cc33a9510.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="rabbitmq编译部署以及常见报错" />

这里我只需要解决APPLICATIONS DISABLED部分的问题:
1,安装unixODBC和unixODBC-devel,解决第一个问题;
2,因为我这里用不上Java编译了,因此可以在configure时增加 –disable-javac 避免第二个错误;
./configure --prefix=/usr/local/erlang --disable-javac
make && make install

定义环境变量 [[email protected] otp_src_R13B04]# cat /etc/profile.d/erlang.sh
export PATH=$PATH:/usr/local/erlang/bin

[[email protected] otp_src_R13B04]# erl -sname test
Erlang R13B04 (erts-5.7.5) [source] [64-bit] [rq:1] [async-threads:0] [kernel-poll:false]

安装rabbitmq
(1)下载rabbit包
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.0/rabbitmq-server-generic-unix-3.2.0.tar.gz
(2)解压到当前目录
tar -zxvf rabbitmq-server-generic-unix-3.2.0.tar.gz

(3)启动rabbitmq-server
cd?rabbitmq_server-3.2.0
sbin/rabbitmq-server

插件安装
cd /usr/local/rabbitmq/sbin/
./rabbitmq-plugins enable rabbitmq_management
可以在浏览器中输入:http://192.168.1.164:15672/ 默认用户是guest 默认密码是guest

======================================================
集群部署

设置 Erlang Cookie
??RabbitMQ节点之间和命令行工具 (e.g. rabbitmqctl)是使用Cookie互通的,Cookie是一组随机的数字+字母的字符串。当RabbitMQ服务器启动的时候,Erlang VM会自动创建一个随机内容的Cookie文件。如果是通过源安装RabbitMQ的话,Erlang Cookie 文件在/var/lib/rabbitmq/.erlang.cookie。如果是通过源码安装的RabbitMQ,Erlang Cookie文件$HOME/.erlang.cookie。
??本文演示的实例是用源码安装,由于这个文件权限是 400,所以需要先修改 node2、node3 中的该文件权限为 777:
[email protected]:~$ chmod 777 .erlang.cookie??然后将文件复制到node2、node3上面。
node2:
[email protected]:~$ chmod 777 .erlang.cookie
[email protected]:~$ scp -r node1:/home/lion/.erlang.cookie ~/
[email protected]‘s password:
.erlang.cookie 100% 20 0.0KB/s 00:00node3:
[email protected]:~$ chmod 777 .erlang.cookie
[email protected]:~$ scp -r node1:/home/lion/.erlang.cookie ~/
[email protected]‘s password:
.erlang.cookie 100% 20 0.0KB/s 00:00??分别在node1、node2、node3将权限恢复过来:
[email protected]:~$ chmod 400 .erlang.cookie??最后分别在确认三台机器上的.erlang.cookie的值是一致的
[email protected]:~$ cat .erlang.cookie
VORMVSAAOFOFEQKTNWBA

[email protected]:~$ cat .erlang.cookie
VORMVSAAOFOFEQKTNWBA

[email protected]:~$ cat .erlang.cookie
VORMVSAAOFOFEQKTNWBA

(3)分别启动rabbitmq
[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmq-server -detached

[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmq-server -detached

(4)创建clusterbr/>我们以[email protected]为主,将[email protected]加入到集群中
[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl stop_app
[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl join_cluster --ram [email protected] 在执行这个的时候一直报错
[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl join_cluster --ram [email protected]
Clustering node [email protected] with [email protected] ...
Error: {cannot_discover_cluster,"The nodes provided are either offline or not running"}
需要让主机名字生效

[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl start_app
查看集群状态
[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl cluster_status
[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl cluster_status
Cluster status of node [email protected] ...br/>[{nodes,[{disc,[[email protected]]},{ram,[[email protected]]}]},
{running_nodes,[[email protected],[email protected]]},
{partitions,[]}]
...done.
[[email protected] rabbitmq_server-3.2.0]#

两个节点得到相同的输出,其中[email protected]节点形式是disc,[email protected]节点形式是ram。这和执行join_cluster命令是的选项--ram是一致的。
(5)改变节点形式

[plain] view plain copy print?1. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?stop_app??

  1. [email protected]?...??
  2. ...done.??
  3. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?change_cluster_node_type?disc??
  4. [email protected]?into?a?disc?node?...??
  5. ...done.??
  6. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?start_app??
  7. [email protected]?...??
  8. ...done.??

我们将[email protected]的节点改为disc

[plain] view plain copy print?1. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?cluster_status??

  1. [email protected]?...??
  2. [{nodes,[{disc,[[email protected],[email protected]]}]},??
  3. ?{running_nodes,[[email protected],[email protected]]},??
  4. ?{partitions,[]}]??
  5. ...done.??

两个节点都是disc的形式
(6)从cluster中分离

[plain] view plain copy print?1. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?stop_app??

  1. [email protected]?...??
  2. ...done.??
  3. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?reset??
  4. [email protected]?...??
  5. ...done.??
  6. [[email protected]?rabbitmq_server-3.2.0]#?sbin/rabbitmqctl?start_app??
  7. [email protected]?...??

[[email protected] rabbitmq_server-3.2.0]# sbin/rabbitmqctl cluster_status
Cluster status of node [email protected] ...
br/>[{nodes,[{disc,[[email protected]]}]},
{running_nodes,[[email protected]]},
{partitions,[]}]
...done.
硬删除:直接删掉集群中的某个节点:rabbitmqctl forget_cluster_node ? node_name

rabbitmq编译部署以及常见报错

原文地址:http://blog.51cto.com/13945009/2170411

时间: 2024-10-15 13:05:28

rabbitmq编译部署以及常见报错的相关文章

cocos2d-js运行游戏常见报错

作为新手,参考官网案例自己再打一遍代码运行游戏时常会出现许多相同报错,有的是由于自己单词拼写错误,或者文件未加载等,在写代码的时候一定要细心细心再细心,下面是我这两天运行出现的一些报错及我的解决方法,多是自己搜索外带摸索总结的,有什么不对的敬请指正,当然,运行过程中也许会有各种问题,我这边也可能只是极少数,后续碰到的会继续更新,希望大家看到并可以解决的也可以共享下. 运行游戏常见报错: 1.loader for [null] not exists! 尝试方法:极有可能是加载什么类型的资源没有后缀

android开发_git操作中常见报错及解决办法

Focus on technology, enjoy life!-- QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305 主题:git操作中常见报错 - 如果输入$ git remote add origin [email protected]:xxx(github帐号名)/yyy(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法

web报表工具FineReport使用中遇到的常见报错及解决办法(一)

FineReport使用中遇到的常见报错及解决办法(一) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有.有报错要看日志.下面简单罗列下常见的问题,大多文档上都有提到的. 1.address pool is full: 含义:地址池满,连接数超过并发数上限. 解决办法: 若在FineReport的连接池属性的设置中,已将最大连接数设置得过大,还出现如上的报错,此时通常就是数据库进程(proc

java报表工具FineReport使用中遇到的常见报错及解决办法(一)

FineReport使用中遇到的常见报错及解决办法(一) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有.有报错要看日志.下面简单罗列下常见的问题,大多文档上都有提到的. 1.address pool is full: 含义:地址池满,连接数超过并发数上限. 解决办法: 若在FineReport的连接池属性的设置中,已将最大连接数设置得过大,还出现如上的报错,此时通常就是数据库进程(proc

使用iis7.5搭建ASP网站常见报错问题处理

iis7.5 解析 ASP 出错主要有三类: 1. 权限问题 2. 程序问题 3. 应用池问题 1. 权限问题: 如果访问网站后有典型的无权查看报错提醒, 那么重新配置相关用户的权限即可, 最简单的办法是直接添加一 Everyone 用户, 给 Everyone 加读取权限即可, 此处操作简单, 不多赘述, 需要注意的是, 500报错也可能是权限问题, 请留意排错, 如图所见,                  2. 程序问题: asp程序不能正常解析, 此处主要问题来源有: a. asp未启用

Zabbix 常见报错

Zabbix 常见报错 一.zabbix web上出现Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection reset by peer 1. Debug 过程: 1.1 在zabbix server 上使用get 命令时出现:1.2 查看zabbix_agent 日志出现failed to accept an incoming connection: connection from "28.44.20.129&q

ssh远程主机 常见报错处理

##ssh远程主机 常见报错处理 ###Q1:###Warning: Permanently added '192.168.3.201' (ECDSA) to the list of known hosts. ###Permission denied (publickey,gssapi-keyex,gssapi-with-mic). ####在远程主机上远行 sed -i 's/^PasswordAuthentication.*/PasswordAuthentication yes/g' /et

redis编译安装常见报错

gcc编译redis时报错: zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory zmalloc.h:55:2: error: #error "Newer version of jemalloc required" 原因是jemalloc重载了Linux下的ANSI C的malloc和free函数.解决办法:make时添加参数. make MALLOC=libc 原文地址:https://www.

Android Studio编译开源项目(含NDK开发)常见报错

1.未设置NDK的路径 Error:Execution failed for task ':library:ndkBuild'. > A problem occurred starting process 'command 'null/ndk-build''配置NDK的的安装路径即可.1)设置环境变量:新增ANDROID_NDK_HOME键值为Android NDK安装目录,在PATH末尾增加;%ANDROID_NDK_HOME%. 或者2)在AS的project structure设置,如下图