ActiveMQ 笔记(十)Linux部署:单机与集群部署流程

本文详细介绍了ActiveMQ在Linux环境下的单机部署和三种集群部署方案:基于zookeeper+LevelDB、基于数据库主从和基于共享磁盘的集群。每种方案涉及Zookeeper集群搭建、配置文件修改、端口设置等关键步骤,旨在确保高可用性和数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 单机部署

(1) 获取安装包

方法1:从官网下载
     官网: ActiveMQ

方法2:直接用wget命令下载

 cd /opt
 wget http://archive.apache.org/dist/activemq/5.15.3/apache-activemq-5.15.3-bin.tar.gz

(2)解压安装包并拷贝到工作目录

 cd /opt/apache-activemq-5.15.3
 cp -r apache-activemq-5.15.3 /usr/local/activemq-stand-alone

使用wget下载安装包,解压后,

(3)启动activemq

/usr/local/activemq-stand-alone/bin/activemq start

全路径启动

/usr/local/activemq-stand-alone/bin/activemq start

(4)带运行日志的启动方式
让启动的日志信息不在控制台打印,而放到专门的文件中:

mkdir log
touch log/myRunmq.log
./bin/activemq start >  ./log/myRunmq.log

(5)关闭activemq

./activemq stop

(6)重启activemq

./activemq restart

(7)验证:访问apache activemq控制台

        http://127.0.0.1:8161/admin

默认的用户名和密码是admin/admin  


(8)备注:

  • ActiveMQ采用61616端口提供JMS服务
  • ActiveMQ采用8161端口提供管理控制台服务

 (9)关闭进程

 ps -ef | grep activemq | grep -v grep | awk '{print $2}' | xargs -r kill -9

说明:

| 管道符,用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入

ps 命令用来列出系统中当前运行的进程,ps -ef 显示所有进程信息,连同命令行

grep 命令用来过滤/搜索特定字符,grep test在这里为搜索过滤所有含有test名称的进程

grep -v grep 显示不包含匹配文本的所有行,在这里为筛选出所有不包含grep名称的进程,对上一步的进程再做一次筛选(ps -ef列出了所有的进程,包括命令行)

awk 在文件或字符串中基于指定规则浏览和抽取信息,把文件逐行读入,以空格为默认分隔符将每行切片,然后进行后续处理。这里利用awk '{print $2}' 将上一步中过滤得到的进程进行打印,$2表示打印第二个域(PID, 进程号) $0 表示所有域,$1表示第一个域,$n表示第n个域

xargs 命令是给命令传递参数的过滤器,善于把标准数据转换成命令行参数。在这里则是获取前一个命令的输出,把它转换成命令行参数传递给后面的kill命令。-r选项表示如果输入为空,则不执行后面的命令

kill -9 强制关闭进程

(10)卸载
activemq解压缩版,只需要删除安装目录即可。建议卸载前,先关闭进程。

rm -rf /usr/local/activemq-stand-alone/

1.2 集群方案(共有三种)

主要是基于zookeeper+replicated-leveldb-store的主从集群
  1. 基于shareFileSystem共享文件系统(KahaDB)
  2. 基于JDBC
  3. 基于可复制的LevelDB

2. 基于zookeeper+LevelDB集群

 
官网提供的集群原理图:

2.1 概述

5.9.0新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实时同步消息。因为有实时同步数据的slave的存在,master不用担心数据丢失,所以leveldb会优先采用内存存储消息,异步同步到磁盘。所以该方式的activeMQ读写性能都最好,特别是写性能能够媲美非持久化消息。

2.2 zookeeper集群搭建

由于Kafka依赖于Zk,因此搭建Kafka环境需先搭建Zk集群环境。

主机 ip
主机一 192.168.126.135
主机二 192.168.126.136
主机三 192.168.126.137

 (1)上传zookeepe压缩包,并解压:

tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz

拷贝安装包到/usr/local/目录下:

cp -r apache-zookeeper-3.7.1-bin /usr/local/zookeeper

进入到 conf 目录,看到 zoo_sample.cfg 文件,cp 复制生成 zoo.cfg 文件,如下:

 cp conf/zoo_sample.cfg conf/zoo.cfg

(3)创建data目录,并新建myid用于集群服务,里面内容填写当前主机id,我是三台服务器的集群,id分别为1,2,3

mkdir /usr/local/zookeeper/data
vim data/myid

(4)将zookeeper/conf下的zoo_sample.cfg重命名为zoo.cfg

修改内容:

dataDir=/usr/local/zookeeper/data 
#这个地方的路径就是上面创建data文件夹的地址。根据自己的实际地址填写。

并在文本最后添加节点信息:

server.1=192.168.126.135:2888:3888
server.2=192.168.126.136:2888:3888
server.3=192.168.126.137:2888:3888

节点信息里的 “server.”后面的数字就是约定该服务器的主机id。必须一致,不然集群启动会失败。

(5)启动zookeeper

/usr/local/zookeeper/bin/zkServer.sh start

(6)查看zookeeper状态

/usr/local/zookeeper/bin/zkServer.sh status

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值