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集群启动成功