1、安装erlang语言支持,使用kerl安装erlang
1.下载kerl,一般选择/usr/local目录下
curl -O https://raw.githubusercontent.com/spawngrid/kerl/master/kerl
2.给kerl变更可执行权限
chmod u+x kerl
3.展示erlang可用版本
./kerl list releases
4.选择版本进行下载
./kerl build 18.0 18
5.安装erlang
./kerl install 18 /usr/local/erl
6.检查已安装的erlang版本
./kerl list installations
7.激活erlang
. /usr/local/erl/activate
8.验证erlang
erl
9.删除erlang
./kerl delete build 18
./kerl delete installation /usr/local/erl
2、安装rabbitmq
1.yum安装依赖软件(其他缺少依赖就安装就好)
yum install epel-release -y
yum install socat -y
2.获取rabbitmq(/usr/local/目录下)
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm
3.解压
rpm -ivh rabbitmq-server-3.6.6-1.el6.noarch.rpm
4.进入安装路径
cd /usr/lib/rabbitmq/bin
5.启动rabbitmq
rabbitmq-server start
6.停止rabbitmq
rabbitmqctl stop
7.将安装目录下的cookie复制到root目录下,集群共用同一个cookie,因为通信是依靠cookie的(什么用户登录操作就放什么用户根目录下)
cd
rm -rf .erlang.cookie
cp /var/lib/rabbitmq/.erlang.cookie .
chmod 400 .erlang.cookie
8.后台启动
cd /usr/lib/rabbitmq/bin
rabbitmq-server -detached
9.用户管理
rabbitmqctl list_users
查看所有用户
rabbitmqctl list_users_permissions guest
查看用户权限
rabbitmqctl delete_user guest
删除guest用户
rabbitmqctl add_user name1 pwd1
增加用户
rabbitmqctl set_user_tags youdd administrator
设置用户tag
rabbitmqctl set_permissions -p / youdd ".*" ".*" ".*"
设置全部权限
10.启动管理控制台,管理控台登录地址 ip:15672
rabbitmq-plugins enable rabbitmq_management
注意事项:如果是阿里云服务器,请在服务器安全组开放5672/15672/25672等端口
3、安装rabbit集群
1.首先保证多台服务器的rabbitmq的cookie是一致,依次检查cookie值是否一致
vi /root/.erlang.cookie
vi /var/lib/rabbitmq/.erlang.cookie
2.更改hosts内容,node名称需要与主机名一致。
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.178 node3
192.168.1.177 node2
192.168.1.176 node1
3.加入集群,将{主机名}改为你的主机名,
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@主机名
rabbitmqctl start_app
4.设置镜像模式,在一台机器上设置镜像模式即可
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
4、安装haproxy
1.yum安装haproxy
yum install haproxy
2.配置haproxy配置文件,在haproxy.cfg文件末尾加上,访问的的ip端口是在haproxy所在的ip和端口5670
listen rabbitmq_cluster 0.0.0.0:5670
option tcplog
mode tcp
balance roundrobin
server node1 192.168.1.178:5672 check inter 5s rise 2 fall 3
server node2 192.168.1.177:5672 check inter 5s rise 2 fall 3
server node3 192.168.1.176:5672 check inter 5s rise 2 fall 3
3.启动haproxy
./usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg
5、安装过程问题记录
1.使用rabbitmq-server start报错无法写入日志文件
{error,{cannot_log_to_file,"/var/log/rabbitmq/rabbit@node1.log",{error,eacces}}}
办法:1、查看文件所属用户组是否是rabbitmq,不是则更改成rabbitmq;2、删除该日志文件
2.使用rabbitmq-server start报错无法启动{error,{"/var/lib/rabbitmq/mnesia/rabbit@node1/msg/_store_transient/"}}
办法:查看msg_store_transient的文件所属,并改为rabbitmq
chown -R rabbitmq:rabbitmq msg_store_transient
2.使用rabbitmqctl 无法stop或者status报错信息为suggestion is the cookie set correctly的
检查用户目录下和rabbitmq目录下的cookie是否一致
3.加入集群错误的
请检查hosts是否配置正确,各服务器的cookie是否一致