erlang:https://www.erlang.org/downloads
RabbitMQ:https://www.rabbitmq.com/releases/rabbitmq-server/
部署步骤:
一 、部署单个节点
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
cd /home
导入包
解压jar
tar –xvf otp_src_R14B04.tar.gz
修改解压文件名
mv otp_src_R14B04 ./erlang
cd ./erlang
运行 ./configure --prefix=/usr/erlang --without-javac
make
make install
编辑 vim /etc/profile
在尾部添加
让配置立即生效 source /etc/profile
验证是否安装成功erl
cd /home
执行执行rpm -ivh --nodeps rabbitmq-server--3.3.0-1.noarch.rpm
vim /etc/profile
修改如下:
让配置立即生效
source /etc/profile
开启web 监控
rabbitmq-plugins enable rabbitmq_management
ln -s /usr/erlang/bin/erl /usr/bin/erl
service rabbitmq-server start
新增一个用户
rabbitmqctl add_user Username Password
给用户角色
rabbitmqctl set_user_tags User Tag
User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
登陆管理界面验证
第二步:把单个节点加入集群
- cat /etc/hosts vim /etc/hosts
把host 加入彼此的各节点 防止无法解析
测试 通过hostname是否ping 通
- 设置相同的共享密钥Erlang cookie
- (/var/lib/rabbitmq/.erlang.cookie)
使用scp命令复制
例子:scp -P 22022 /var/lib/rabbitmq/.erlang.cookie root@10.19.205.58:/var/lib/rabbitmq
- 设置集群
- 执行 rabbitmqctl cluster_status确定节点集群状态
- 停止当前rabbitmq rabbitmqctl stop_app
- rabbitmqctl join_cluster rabbit@rabbit1
- rabbitmqctl start_app
1、 (运行service rabbitmq-server start一直无法启动,提示'/usr/lib/rabbitmq/bin/rabbitmq-server: line 50: erl: command not found'?
解决方法:
ln -s /usr/erlang/bin/erl /usr/bin/erl
)
2、管理界面登陆不了guest 用户
翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。
3、修改cookie 报错 Error: unable to connect to node rabbit@sf205058: nodedown
仔细检查您的cookie哈希文件是否相同
仔细检查您的机器名称(uname)是否与配置中说明的相同 - 这可能很棘手
并仔细检查您是否使用与安装它的用户相同的用户启动rabbitmq。只使用'sudo'就行不通
4、遇到问题 Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
chmod +x .erlang.cookie
chown rabbitmq:rabbitmq .erlang.cookie
chmod 400 .erlang.cookie
service rabbitmq-server start
5、Error:mnesia_not_running
service rabbitmq-server stop
service rabbitmq-server start