简介:rabbitmq是一个分布式的消息中间件
一.erlang语言安装
- 用root用户建立文件存放和解压位置
Cd ../ (个人习惯,习惯放在和etc同级下创建) Mkdir erlang Cd erlang
- 上传文件到/erlang目录下
对于rpm的包,解压时会将环境变量等都解压和配置到相应位置
- openssl版本需要1.01e,已为1.01e的无需安装
rpm -ivh openssl-1.0.1e-57.el6.x86_64.rpm --force --nodeps
- 查看openssl是否安装成功
openssl version
- 安装解压版erlang
rpm -ivh erlang-17.4-1.el6.x86_64.rpm
- 查看是否安装成功
erl
二.MQ安装
-
用rabbitmq用户建立文件存放和解压位置(rabbitmq为用户)
Cd /hoem/rabbitmq/ Mkdir rabbitmq Cd rabbitmq
-
xshell上传文件到/home/rabbitmq/rabbitmq/目录下
-
解压rabbitmq文件包
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
-
配置rabbitmq的传输数据端口号和名称
Vim /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/ Touch rabbitmq-env.conf Vim rabbitmq-env.conf 增加内容: NODE_PORT=5672 NODENAME=jiedian131
-
配置页面访问端口
Vim /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/ touch rabbitmq.config Vim rabbitmq.config 加入类容 [ {rabbitmq_management, [{listener, [{port, 15672}]}]} ].
-
启动MQ
Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/sbin ./rabbitmq-server -detached
-
查看状态mq是否启动
ps -ef | grep rabbitmq
-
查看生成的通讯文件是否生成(rabbitmq为用户)
cd /home/rabbitmq/ ll -a cat .erlang.cookie
-
生成插件
./rabbitmq-plugins enable rabbitmq_management
-
查看插件生成是否成功
cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/ ll -a 查看enabled_plugins文件是否生成成功
-
建立用户和分配权限
./rabbitmqctl add_user admin admin ./rabbitmqctl set_user_tags admin administrator ./rabbitmqctl set_permissions -p /admin ".*" ".*" ".*"
三.访问MQ
- 查看帮助:
firewall-cmd --help 开放防火墙端口(centos7)
- 查看状态:
systemctl status firewalld
- 启动:
systemctl start firewalld
- 关闭:
systemctl stop firewalld
- 查看所有打开的端口:
firewall-cmd --zone=public --list-ports
- 添加(5672.15672.25672)
firewall-cmd --zone=public --add-port=5672/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
- 重新载入
firewall-cmd --reload
- 查看
firewall-cmd --zone= public --query-port=5672/tcp
- 删除
firewall-cmd --zone= public --remove-port=5672/tcp --permanent
- 登陆浏览器查看是否安装成功
iP:15672 进入控制台
四.MQ集群搭建
- root用户配置hosts文件
vim /etc/hosts 变动内容 134服务器 192.168.111.135 zhuji132 192.168.111.134 zhuji131 135服务器 192.168.111.135 zhuji132 192.168.111.134 zhuji131
- 配置电脑主机名称(从启动生效+即使生效=永久生效)
vim/etc/sysconfig/network 增加以下内容(这个配置需要重启生效) NETWORKING=yes HOSTNAME=zhuji131 即使生效(设置之后重新连接下) Hostname zhuji131
- 切换到rabbitmq用户,杀掉rabbitmq服务进程
Ps -ef|grep rabbitmq Kill -9 61622
- 配置.erlang.cookie文件相同(该为隐藏文件:ll -a查看)
Cd /home/rabbitmq/ Chmod -R 700 .erlang.cookie Vim .erlang.cookie 将从节点的内容复制过来(将两台机这个权限赋予400) Chmod -R 400 .erlang.cookie
- 清空原有rabbitmq日志和配置
Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/var/lib/rabbitmq/mnesia/ Rm -rf * Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/var/log/rabbitmq/ Rm -rf *
- 启动mq
Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/sbin ./rabbitmq-server -detached ./rabbitmqctl start_app
- 将分节点加入主节点,进入分节点主机
Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/sbin ./rabbitmq-server ./rabbitmqctl start_app ./rabbitmqctl stop_app ./rabbitmqctl join_cluster jiedian_131@zhuji_131
五.MQ单机多实例
- 建立一个文件夹
mkdir rabbitmqbak
- 将文件安装好的rabbitmq复制到rabbitmqbak目录下
cp -r rabbtmq rabbitmqbak
- 配置页面访问端口(不能让ip从冲突)
vim rabbitmq.config 修改类容 [ {rabbitmq_management, [{listener, [{port, 15674}]}]} ].
- 配置数据传输端口和端口名称(不能让ip从冲突)
vim rabbitmq-env.conf 修改内容 NODE_PORT=5674 NODENAME=jiedian3
- 启动所有服务(进程可以查看端口,配置,日志情况)
./rabbitmq-server -detached
- 将子节点加入主节点
主节点:./rabbitmqctl start_app (必须保证节点开启) 字节点:./rabbitmqctl stop_app (必须保证节点关闭) 子节点:./rabbitmqctl join_cluster jiedian1@rabbitmq
六.开启镜像模式
- 开启镜像集群模式(主节点执行)只启动了/这个vhost镜像
./rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
- 控制台配置
十.haproxy负载
安装
-
将haproxy-1.8.12.tar.gz包上传服务器。(需要gcc+安装环境)
-
解压
tar -zxvf haproxy-1.8.12.tar.gz cd haproxy-1.8.12
-
修改配置文件
make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy make install PREFIX=/usr/local/haproxy (#参数说明: #TARGET=linux26 #内核版本,使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26 ;kernel 大于2.6.28的用:TARGET=linux2628 ARCH=x86_64 #系统位数 PREFIX=/usr/local/haprpxy #/usr/local/haprpxy为haprpxy安装路径)
-
将haproxy.cfg配置文件上传至/usr/local/haproxy/目录下
修改haproxy.cfg中的mq地址相关配置:
-
启动:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
-
可能出现错误
用root权限修改主机启动文件为maxconn的2倍 ulimit-n 3000
-
访问:
访问地址:http://ip:1080/stats 检查是否配置成功,用户/密码:admin/admin