RabbitMQ集群搭建-三台

1.使用root用户登录Linux服务器
2.创建用户 输入 adduser test 后回车 #test为创建的用户
3.为创建的用户设置密码 输入 passwd test 后回车 输入两次密码
4.出现 passwd:所有的身份验证令牌已经成功更新。证明Linux新用户和密码创建成功
5.使用新用户test登录Linux服务器 密码参考3步骤
6.登录成功后便可上传安装文件

1).安装包准备(erlang-18.1-1.el7.centos.x86_64.rpm ;rabbitmq-server-generic-unix-3.6.5.tar;socat-1.7.3.2.tar.gz)
2).文件上传至用户目录 这里以test为例 上传路径为 /home/test 下
3).使用 xftp 上传 上传文件参考1步骤

1.安装erlang 
	三台机器都要执行以下命令
	1.修改文件权限 chmod 675 erlang-18.1-1.el7.centos.x86_64.rpm
	2.切换root用户 su root
	3.进入文件安装包目录 cd /home/test/
	4.安装命令 yum install erlang-18.1-1.el7.centos.x86_64.rpm
	5.切换回普通用户 su test
	6.检查erlang命令 erl version
		Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

		EshellV7. 
		出现以上说明erlang 安装成功
安装socat
	三台机器都要执行以下命令
	1.切换root用户 su root
	1. 进入安装包目录 cd /home/test/
		解压 执行  tar zxvf socat-1.7.3.2.tar.gz
	2. 进入解压后的目录 cd socat-1.7.3.2/
		编译 执行 ./configure
	3.安装 make && make install
	
安装RabbitMQ
	首先切换回普通用户  su test
	三台机器都要执行以下命令
	解压(解压即可)
	1. 进入启动目录 cd /home/test/
	2.执行解压命令 tar -xvf rabbitmq-server-generic-unix-3.6.5.tar 
	3.进入解压后的目录 cd rabbitmq_server-3.6.5/sbin/
	4.后台启动命令  ./rabbitmq-server -detached
		Warning: PID file not written; -detached was passed.
		出现以上说明启动成功
	5.检查启动状态命令  ps -ef |grep rabbitmq

	6.创建用户 以及权限分配 命令依次执行:
		1)cd /home/test/rabbitmq_server-3.6.5/sbin/
		2)./rabbitmqctl add_user root root
		3)./rabbitmqctl set_user_tags root administrator
		4)./rabbitmqctl set_permissions -p  "/" root ".*" ".*" ".*"
	 
	7.开启插件管理页面
	执行命令 ./rabbitmq-plugins enable rabbitmq_management
	8.使用WEB登陆:
		登录地址:http://*.*.*.*:15672 (*.*.*.* 为当前服务器的ip)
		账号 root 密码 root

RabbitMq 集群搭建 
	服务器选择(node1 10.160.40.153;node2 10.160.40.154;node3 10.160.44.52)
	在三台服务器上分别修改配置 
	(1)	修改/etc/hosts
		切换root用户 su root
		执行命令 vi /etc/hosts
		输入 i 进入编辑模式 根据机器插入如下

		10.160.40.153 node1 
		10.160.40.154 node2
		10.160.44.52 node3
		插入完成后输入 :wq  退出并保存
		每台机器上都需要配置另外两台机器的ip和节点名
	(2)	修改/etc/sysconfig/network
			执行命令 vi /etc/sysconfig/network
			输入 i 进入编辑模式 根据机器插入如下
			153机器:HOSTNAME=node1
			154机器:HOSTNAME=node2
			52 机器:HOSTNAME=node3
			插入完成后输入 :wq  退出并保存
				例如 node1 服务器配置
				执行命令 vi /etc/sysconfig/network
				输入 i 进入编辑状态 输入以下命令
				# Created by anaconda
				HOSTNAME=node1
	(3)	设置hostname
			#node1服务器
			hostname node2 #node2服务器
			hostname node3 #node3服务器
			153机器:hostname node1
			154机器:hostname node2
			52 机器:hostname node3
			例如 node1 服务器配置
			执行命令 hostname node1
			另外两台服务器按照如上
			切换回普通用户 su test 再执行(4)步骤
	(4) 查找.erlang.cookie
		回到用户目录执行命令 cd
		执行命令 find -name "*erlang.cookie*" -ls
			./.erlang.cookie
		我的erlang.cookie 的位置在  /home/test/.erlang.cookie   
		修改erlang.cookie,使三台服务器保持一致
		通过远程复制文件(scp)、xftp或者直接复制内容均是可以的
		设置好erlang.cookie之后,使用detached后台启动rabbitmq-server
		受限使用 kill -9 杀死当前 rabbitmq 服务进程
		 
		确定没有rabbitmq 服务进程后 再次执行启动命令启动
	(5)启动 
		进入启动目录 cd /home/test/rabbitmq_server-3.6.5/sbin/
		启动命令: ./rabbitmq-server -detached
		查看各节点状态:./rabbitmqctl cluster_status
			Cluster status of node rabbit@localhost ...
			[{nodes,[{disc,[rabbit@localhost]}]},
			 {running_nodes,[rabbit@localhost]},
			 {cluster_name,<<"rabbit@localhost">>},
			 {partitions,[]},
			 {alarms,[{rabbit@localhost,[]}]}]
	(6) 确定三台机器的RabbitMq全部启动完毕后
		把node2、node3分别加入到集群node1中
		1) node2 机器执行
			1.进入启动目录 cd /home/test/rabbitmq_server-3.6.5/sbin/
			2.RabbitMq启动命令:./rabbitmq-server -detached
			3.查看RabbitMq节点状态:./rabbitmqctl cluster_status
				Cluster status of node rabbit@node2 ...
				[{nodes,[{disc,[rabbit@node2]}]},
				 {running_nodes,[rabbit@node2]},
				 {cluster_name,<<"rabbit@node2">>},
				 {partitions,[]},
				 {alarms,[{rabbit@node2,[]}]}]
			4.停止节点服务  ./rabbitmqctl stop_app     #停止节点服务RabbitMq不会关闭。不用重启
					Stopping node rabbit@node2 ...
			5.将node2节点加入集群 ./rabbitmqctl join_cluster --ram rabbit@node1
					Clustering node rabbit@node2 with rabbit@node1 ...
			6.重新启动节点服务 ./rabbitmqctl start_app
					Starting node rabbit@node2 ...
		2) node3 机器执行
			1.进入启动目录 cd /usr/local/rabbitmq_server-3.6.5/sbin/
			2.RabbitMq启动命令:./rabbitmq-server -detached
				Warning: PID file not written; -detached was passed.
			3.查看RabbitMq节点状态: ./rabbitmqctl cluster_status
				Cluster status of node rabbit@node3 ...
				[{nodes,[{disc,[rabbit@node3]}]},
				 {running_nodes,[rabbit@node3]},
				 {cluster_name,<<"rabbit@node3">>},
				 {partitions,[]},
				 {alarms,[{rabbit@node3,[]}]}]
			4.停止节点服务 ./rabbitmqctl stop_app
				Stopping node rabbit@node3 ...
			5.将node3节点加入集群 ./rabbitmqctl join_cluster --ram rabbit@node1
				Clustering node rabbit@node3 with rabbit@node1 ...
			6.重新启动节点服务  ./rabbitmqctl start_app
				Starting node rabbit@node3 ...
	(7)配置完成后查看集群情况
			1.进入启动目录 cd /home/test/rabbitmq_server-3.6.5/sbin/
			2.查看集群情况  ./rabbitmqctl cluster_status
					Cluster status of node rabbit@node1 ...
					[{nodes,[{disc,[rabbit@node1]},{ram,[rabbit@node3,rabbit@node2]}]},
					 {running_nodes,[rabbit@node2,rabbit@node3,rabbit@node1]},
					 {cluster_name,<<"rabbit@node1">>},
					 {partitions,[]},
					 {alarms,[{rabbit@node2,[]},{rabbit@node3,[]},{rabbit@node1,[]}]}]

			node1是主节点;node2和node3 是从节点,RabbitMq集群启动成功
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值