hosts: 172.16.10.26 node1 172.16.10.27 node2 172.16.10.28 node3
把上面的主机分别添加到各自的hosts中
在三台主机上面创建.erlang.cookie文件在主目录
并把VORMVSAAOFOFEQKTNWBA添加进去
(3)rabbitmq-env.conf rabbitmq的环境参数配置
RABBITMQ_NODE_PORT 端口设置,默认为5672 RABBITMQ_NODENAME 节点名称,默认为rabbit MNESIA_BASE 后端存储目录 ,默认为/var/lib/rabbitmq/mnesia LOG_BASE 日志目录,默认为/var/log/rabbitmq/安装
sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc sudo yum install rabbitmq-server-3.6.10-1.noarch.rpmsudo rabbitmqctl stop
sudo rabbitmq-server -detachedsudo rabbitmqctl cluster_status
sudo hostname node1
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster rabbit@node1sudo rabbitmqctl -n rabbit@node2 join_cluster rabbit@node1 //将rabbit_01添加到集群节点rabbit中去
rabbitmqctl cluster_status //查看集群节点的状态 rabbitmqctl -n rabbit_01@localhost start_app //启动rabbit_01节点的sudo rabbitmq-plugins enable rabbitmq_management
.erlang.cookie必须具有可读权限,设置为600即可
sudo vim /var/lib/rabbitmq/.erlang.cookie VORMVSAAOFOFEQKTNWBA端口及用途
5672 客户端连接用途 15672 web管理接口 25672 集群通信用途/etc/haproxy/haproxy.cfg###########全局配置#########global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy # 改变当前工作目录 stats socket /run/haproxy/admin.sock mode 660 level admin # 创建监控所用的套接字目录 pidfile /var/run/haproxy.pid # haproxy的pid存放路径,启动进程的用户必须有权限访问此文件 maxconn 4000 # 最大连接数,默认4000 user haproxy # 默认用户 group haproxy # 默认用户组 daemon # 创建1个进程进入deamon模式运行。此参数要求将运行模式设置为"daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). This list is from: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS ssl-default-bind-options no-sslv3###########默认配置#########defaults log global mode http # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK option httplog # 采用http日志格式 option dontlognull # 启用该项,日志中将不会记录空连接。所谓空连接就是在上游的负载均衡器 # 或者监控系统为了探测该 服务是否存活可用时,需要定期的连接或者获取某 # 一固定的组件或页面,或者探测扫描端口是否在监听或开放等动作被称为空连接; # 官方文档中标注,如果该服务上游没有其他的负载均衡器的话,建议不要使用 # 该参数,因为互联网上的恶意扫描或其他动作就不会被记录下来 timeout connect 5000 # 连接超时时间 timeout client 50000 # 客户端连接超时时间 timeout server 50000 # 服务器端连接超时时间 option httpclose # 每次请求完毕后主动关闭http通道 option httplog # 日志类别http日志格式 #option forwardfor # 如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip option redispatch # serverId对应的服务器挂掉后,强制定向到其他健康的服务器 timeout connect 10000 # default 10 second timeout if a backend is not found maxconn 60000 # 最大连接数 retries 3 # 3次连接失败就认为服务不可用,也可以通过后面设置 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http####################################################################listen http_front bind 0.0.0.0:1080 #监听端口 stats refresh 30s #统计页面自动刷新时间 stats uri /haproxy?stats #统计页面url stats realm Haproxy Manager #统计页面密码框上提示文本 stats auth admin:admin #统计页面用户名和密码设置 #stats hide-version #隐藏统计页面上HAProxy的版本信息#####################我把RabbitMQ的管理界面也放在HAProxy后面了###############################listen rabbitmq_admin bind 0.0.0.0:8004 server node1 192.168.0.31:15672 server node2 192.168.0.32:15672 server node3 192.168.0.33:15672####################################################################listen rabbitmq_cluster bind 0.0.0.0:5672 option tcplog mode tcp timeout client 3h timeout server 3h option clitcpka balance roundrobin #负载均衡算法(#banlance roundrobin 轮询,balance source 保存session值,支持static-rr,leastconn,first,uri等参数) #balance url_param userid #balance url_param session_id check_post 64 #balance hdr(User-Agent) #balance hdr(host) #balance hdr(Host) use_domain_only #balance rdp-cookie #balance leastconn #balance source //ip server node1 192.168.0.31:5672 check inter 5s rise 2 fall 3 #check inter 2000 是检测心跳频率,rise 2是2次正确认为服务器可用,fall 3是3次失败认为服务器不可用 server node2 192.168.0.32:5672 check inter 5s rise 2 fall 3 server node3 192.168.0.33:5672 check inter 5s rise 2 fall 3
haproxy http://172.16.10.26:8080/haproxy?stats
web http://172.16.10.26:8081 client http://172.16.10.26:8082rabbitmqctl
(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