centos7安装rabbitmq3.8.14,erlang23.3
erlang23.3 rabbitmq3.8.141.虚拟机上安装centos7镜像地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 选择 CentOS-7-x86_64-DVD-2009.iso2.安装SecureCRT(终端模拟器) V7.0.0 绿色汉化版下载地址:http://www.xitongzhijia.net/soft/24317
erlang23.3 rabbitmq3.8.14
1.虚拟机上安装centos7
镜像地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 选择 CentOS-7-x86_64-DVD-2009.iso
2.安装SecureCRT(终端模拟器) V7.0.0 绿色汉化版
下载地址:http://www.xitongzhijia.net/soft/24317.html
选项中会话选项设置字符编码为UTF-8,然后在字体中字符集选择中文GB2312
可以连接虚拟机,方便操作
3.查看centos ip地址 输入 ip addr
4.安装wget
输入 yum install wget
5.安装rabbitmq之前需要先安装erlang 按顺序执行下列命令
wget http://erlang.org/download/otp_src_23.3.tar.gz
tar -zxvf otp_src_23.3.tar.gz
cd otp_src_23.3
# 这里要新建一个erlang文件夹,因为erlang编译安装默认是装在/usr/local下的bin和lib中,这里我们将他统一装到/usr/local/erlang中,方便查找和使用。
mkdir -p /usr/local/erlang
# 在编译之前,必须安装以下依赖包
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
yum install perl
./configure --prefix=/usr/local/erlang
make && make install
6.安装完成
输入 cd /usr/local/erlang
安装后,在/usr/local/erlang中就会出现如下:
7.配置文件
yum -y install vim*
vim /etc/profile
按下 a 插入
移动到最后一行 粘贴:
PATH=$PATH:/usr/local/erlang/bin
按下 exit
输入:wq
保存并退出
输入 source /etc/profile 保存配置文件
输入erl 可以看到
表示安装完成
输入 halt(). 退出erl
至此完后erlang的安装和配置
8.安装rabbitmq
# 下载源码包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-generic-unix-3.8.14.tar.xz
# 解压
tar -xvf rabbitmq-server-generic-unix-3.8.14.tar.xz -C /usr/local/
# 添加环境变量
vim /etc/profile
------ 添加如下内容 ------
PATH=$PATH:/usr/local/rabbitmq_server-3.8.14/sbin
# 重载一下环境变量
source /etc/profile
# 添加web管理插件
rabbitmq-plugins enable rabbitmq_management
开启用户远程访问
cd /usr/local/rabbitmq_server-3.8.14/etc/rabbitmq
touch rabbitmq.config
vim rabbitmq.config
写入并保存 [{rabbit, [{loopback_users, []}]}].
开放端口
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
启动rabbitmq
rabbitmq-server -detached
至此rabbitmq安装完成
9.在其他电脑打开浏览器输入 http://ip:port/ 账号密码都为 guest 即可打开
10.停止rabbitmq
rabbitmqctl stop
11.修改最大连接数
使用ulimit -a 可以查看当前系统的所有限制值
在/etc/profile 中增加一行 ulimit -SHn 65535
重启即可
12.集群搭建
1.修改/etc/hosts文件 (关键)
第一台:
第二台:
重启虚拟机
2.同步.erlang.cookie文件
将第一台的.erlang.cookie 复制到第二台上
.erlang.cookie文件路径:
官方在介绍集群的文档中提到过.erlang.cookie一般会存在这两个地址:
第一个是$home/.erlang.cookie;
第二个地方就是/var/lib/rabbitmq/.erlang.cookie。
如果我们使用解压缩方式安装部署的rabbitmq,那么这个文件会在${home}目录下,也就是$home/.erlang.cookie。
如果我们使用rpm等安装包方式进行安装的,那么这个文件会在/var/lib/rabbitmq目录下。
在第一台上执行:scp /root/.erlang.cookie root@rabbit-node2:/root/
然后执行:chmod 600 /root/.erlang.cookie 设置权限
注:cookie可以用cat命令查看
3.重启第一台rabbitmq rabbitmqctl stop rabbitmq-server -detached
4.关闭防火墙或打开端口
打开4369端口:
firewall-cmd --zone=public --add-port=4369/tcp --permanent
打开5672和15672端口
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
重启防火墙:
systemctl restart firewalld.service
5.停止第二台rabbitmq
rabbitmqctl stop_app
6.第二台加入第一台的node
在第二台上执行:rabbitmqctl join_cluster --ram rabbit@rabbit-node1
出现:Clustering node rabbit@rabbit-node2 with rabbit@rabbit-node1
表示成功
继续执行:rabbitmqctl start_app
启动第二台mq
可以在ui界面看到
成功!
7.重新加入集群
# 1.停止服务
rabbitmqctl stop_app
# 2.重置状态
rabbitmqctl reset
# 3.节点加入
rabbitmqctl join_cluster rabbit@rabbit-node1
# 4.重启服务
rabbitmqctl start_app
8.移除其他节点
rabbitmqctl forget_cluster_node rabbit@rabbit-node2
节点必须停止时才能移除
9.开启镜像队列
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
9.1复制系数在上面我们指定了 ha-mode 的值为 all ,代表消息会被同步到所有节点的相同队列中。这里我们之所以这样配置,因为我们本身只有三个节点,因此复制操作的性能开销比较小。如果你的集群有很多节点,那么此时复制的性能开销就比较大,此时需要选择合适的复制系数。通常可以遵循过半写原则,即对于一个节点数为 n 的集群,只需要同步到 n/2+1 个节点上即可。此时需要同时修改镜像策略为 exactly,并指定复制系数 ha-params,示例命令如下
rabbitmqctl set_policy ha-two "^" '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
除此之外,RabbitMQ 还支持使用正则表达式来过滤需要进行镜像操作的队列,示例如下:
rabbitmqctl set_policy ha-all "^ha\." '{"ha-mode":"all"}'
更多推荐
所有评论(0)