RabbitMq 集群配置
1. RabbitMQ 所需的附属安装包
1.1 openGL安装
执行命令:
[root@localhost local]# yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel gcc glibc-devel make ncurses-devel openssl-devel autoconf xmlto libtool automake -y
1.2 erlang 安装
下载 erlang http://erlang.org/download/otp_src_18.2.1.tar.gz
解压 otp_src_18.2.1.tar.gz 到 /usr/local 下
[root@localhost local]# tar -xvf otp_src_18.2.1.tar.gz
进入解压后目录 执行命令:
[root@localhost local]# cd otp_src_18.2.1
[root@localhost otp_src_18.2.1]# ./configure --prefix=/usr/local/erlang_7.2.1 --enable-threads --enable-halfword-emulator --enable-smp-support --enable-kernel-poll --enable-sctp --enable-native-libs --enable-shared-zlib --enable-m64-build --enable-silent-rules
执行命令:[root@localhost otp_src_18.2.1]# make && make install
给erlang_7.2.1 文件夹创建 软连接
[root@localhost local]# cd ../
[root@localhost local]# ln -s erlang_7.2.1 erlang_7.2.1_ln
配置erlang环境变量
编辑 /etc/profile
[root@localhost local]# vim /etc/profile ( 按i 进入编辑模式,在末尾处添加 一下内容)
#set environment
ERL_HOME=/usr/local/erlang_7.2.1
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
按“Esc”键,再按“Shift+:”,在“:”后输入“wq”
[root@localhost local]# source /etc/profile
测试是否安装成功
[root@localhost local]# erl
出现如下图表示成功
按“ctrl + z”键,退出
1.3 python 安装
[root@localhost local]# yum install python python-devel -y
1.4 simplejson 安装
下载 simplejson https://pypi.python.org/pypi/simplejson
最新版本为 3.8.2 ,选择版本下载
解压 simplejson-3.8.2.tar.gz 到 /usr/local 下
[root@localhost local]# tar -xvf simplejson-3.8.2.tar.gz
[root@localhost local]# cd simplejson-3.8.2
[root@localhost simplejson-3.8.2]# python setup.py build
[root@localhost simplejson-3.8.2]# python setup.py install
测试安装是否成功
[root@localhost local]# python
出现如下图表示成功
按“ctrl + z”键,退出
2 . RabbitMQ 安装
2.1 RabbitMQ 第一种安装方式 (解压即可用)
下载 rabbitmq-server
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-generic-unix-3.6.0.tar.xz
安装解压 tar.xz 工具
[root@localhost local]# yum -y install xz
解压 rabbitmq-server-generic-unix-3.6.0.tar.xz 到 /usr/local 下
[root@localhost local]# xz -d rabbitmq-server-generic-unix-3.6.0.tar.xz
[root@localhost local]# tar -xvf rabbitmq-server-generic-unix-3.6.0.tar
[root@localhost local]# mv rabbitmq_server-3.6.0 rabbitmq-server-3.6.0
配置rabbitmq环境变量
编辑 /etc/profile
[root@localhost local]# vim /etc/profile ( 按i 进入编辑模式,在path 基础上添加 变量)
#set environment
RABBITMG_HOME=/usr/local/rabbitmg-server-3.6.0
ERL_HOME=/usr/local/erlang_7.2.1
PATH=$RABBITMG_HOME/sbin:$ERL_HOME/bin:$PATH
export PATH ERL_HOME
按“Esc”键,再按“Shift+:”,在“:”后输入“wq”
[root@localhost local]# source /etc/profile
[root@localhost local]# cd rabbitmq-server-3.6.0/sbin/
启用管理方式(用网页方式管理MQ)
[root@localhost sbin]# ./rabbitmq-plugins enable rabbitmq_management
[root@localhost sbin]# ./rabbitmq-server -detached
设置端口号 可以外部访问
[root@localhost sbin]# /sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
[root@localhost sbin]# /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/init.d/iptables restart
访问 http://ip:15672/#/ 看是否有rabbitMQ管理登录页面
添加用户 admin /admin 在页面访问
[root@localhost sbin]# ./rabbitmqctl add_user admin admin
[root@localhost sbin]# ./rabbitmqctl set_user_tags admin administrator
[root@localhost sbin]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
使用 admin 使用户即可登录
2.2 RabbitMQ 第二种安装方式 (下载源码包自己编译)
下载 rabbitmq-server
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0.tar.xz
安装解压 tar.xz 工具
[root@localhost local]# yum -y install xz
解压 rabbitmq-server-generic-unix-3.3.0.tar.gz 到 /usr/local 下
[root@localhost local]# xz -d rabbitmq-server-3.6.0.tar.xz
[root@localhost local]# tar -xvf rabbitmq-server-3.6.0.tar
配置rabbitmq环境变量
编辑 /etc/profile
[root@localhost local]# vim /etc/profile ( 按i 进入编辑模式,在path 基础上添加 变量)
#set environment
RABBITMG_HOME=/usr/local/rabbitmg-server-3.6.0
ERL_HOME=/usr/local/erlang_7.2.1
PATH=$RABBITMG_HOME/sbin:$ERL_HOME/bin:$PATH
export PATH ERL_HOME
按“Esc”键,再按“Shift+:”,在“:”后输入“wq”
[root@localhost local]# source /etc/profile
如果未安装 rsyn 先安装, 否则源码编译 rabbitmq 报错
[root@localhost local]# yum -y install rsync
[root@localhost local]# cd rabbitmq-server-3.6.0/
[root@rabbitmq-server-3.6.0]# make TARGET_DIR=/usr/local/rabbitmq-server-3.6.0 SBIN_DIR=/usr/local/rabbitmq-server-3.6.0/sbin MAN_DIR=/usr/local/rabbitmq-server-3.6.0/man DOC_INSTALL_DIR=/usr/local/rabbitmq-server-3.6.0/doc instal
创建rabbitmq网页管理文件夹
[root@localhost rabbitmq-server-3.6.0]# mkdir /etc/rabbitmq
启用管理方式(用网页方式管理MQ)
[root@localhost rabbitmq-server-3.6.0]# cd scripts/
[root@localhost scripts]# ./rabbitmq-plugins enable rabbitmq_management
[root@localhost scripts]# ./rabbitmq-server -detached
配置端口号 可以外部访问
[root@localhost scripts]# iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
[root@localhost scripts]# iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
[root@localhost scripts]# /etc/rc.d/init.d/iptables save
[root@localhost scripts]# /etc/init.d/iptables restart
访问 http://ip:15672/#/ 看是否有rabbitMQ管理登录页面
添加用户 admin /admin 在页面访问
[root@localhost scripts]# ./rabbitmqctl add_user admin admin
[root@localhost scripts]# ./rabbitmqctl set_user_tags admin administrator
[root@localhost scripts]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
使用 admin 使用户即可登录
至此 rabbitMQ 单机版 安装完成
**************************** END*************************************
RabbitMQ集群搭建
在另一台电脑搭建rabbitMQ
编辑 hosts 添加集群ip地址 先在node2 配置
[root@localhost sbin]# vim /etc/hosts
127.0.0.1 node2
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.139 node2
192.168.31.140 node1
[root@localhost sbin]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node2
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 25672 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/rc.d/init.d/iptables restart
编辑 hosts 添加集群ip地址 再在node1 配置
[root@localhost sbin]# vim /etc/hosts
127.0.0.1 node1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.140 node1
192.168.31.139 node2
[root@localhost sbin]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 25672 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/rc.d/init.d/iptables restart
1.如上配置完成后重启两电脑
2. 首先将node1的文件(/root/.erlang.cookie)内容copy到node2的相应位置
[root@localhost ~]# cat .erlang.cookie
将cookie 值 复制 在另一台电脑 执行如下命令
[root@localhost ~]# echo ‘scookie value’> .erlang.cookie
- 启动node1的rabbitmq
[root@localhost ~]# cd /usr/local/rabbitmq-server-3.6.0/sbin/
[root@localhost sbin]# ./rabbitmq-server -detached
4. 在node2上执行
[root@localhost sbin]# ./rabbitmqctl stop_app
[root@localhost sbin]# ./rabbitmqctl reset
[root@localhost sbin]# ./rabbitmqctl join_cluster rabbit@node1
登录 node1 如图 ,集群配置完成
再执行如下命令 启动node2
[root@localhost sbin]# ./rabbitmqctl start_app
**************************** END*************************************
Haproxy 负载均衡
在服务器上 安装 haproxy
[root@localhost local]# yum install haproxy
安装完成后 编辑 /etc/haproxy/haproxy.cfg 文件
[root@localhost local]# vim /etc/haproxy/haproxy.cfg
后台 按i 进入编辑模式 在文件最后添加如下 配置
#配置监听rabbitmq
listen rabbitmq_cluster 0.0.0.0:5672
mode tcp
Balance roundrobin
server node1 192.168.31.140:5672 check inter 2000 rise 2 fall 3
server node2 192.168.31.139:5672 check inter 2000 rise 2 fall 3
#配置监听页面
listen stats
mode http
bind *:1080
stats enable
stats hide-version
stats uri /stats
stats realm haproxy_stats
stats auth admin:admin
保存退出编辑模式
进入 haproxy 启动 haprox
[root@localhost local]# cd /usr/sbin
[root@localhost sbin]# ./haproxy -f /etc/haproxy/haproxy.cfg
可能会有警告 PS :无视就行
打开配置监听页面窗口 1080
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 1080 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/rc.d/init.d/iptables restart
访问监听页面 http://ip/stats ip为 配置负载均衡服务器的ip地址
输入密码后即可看到监听页面
**************************** END*************************************