activemq笔记3-zookeeper和mq实现主从

1、Zookeeper准备

1、解压zookeeper
2、Zookeeper目录中创建data目录
(1)目录中创建一个标记文件(用于区分不同zookeeper)
(2)echo 1 >> myid
3、在conf配置文件件中复制zoo模板,并创建zoo.cfg(默认zookeeper读取zoo.cfg)
4、修改zoo.cfg配置文件
在这里插入图片描述
zookeeper主从端口分配
在这里插入图片描述
5、复制zookeeper02、zookeeper03
6、启动zookeeper
(1)启动命令:/usr/local/zookeeper01/bin/zkServer.sh start
(2)关闭命令:/usr/local/zookeeper01/bin/zkServer.sh stop
(3)查看状态:/usr/local/zookeeper01/bin/zkServer.sh status
(4)要至少启动两个 Zookeeper 启动. 启动单一 Zookeeper,无法正常提供服务.

2、activemq主从安装(单一主机多mq)

1、在同一个 Linux 中安装三个 ActiveMQ 实例,使用不同端口实现同时启动,分配如下
主机 Ms端口 服务端口 Jetty端口
192.168.111.128 62626 61616 8161
192.168.111.128 62627 61617 8162
192.168.111.128 62628 61618 8163

2、修改jetty端口
(1)Activemq/conf/jetty.xml中修改
(2)Jetty是activemq的图形化界面服务,默认端口为8161
3、修改activemq的brokerName
(1)统一各个节点的brokerName命名
4、持久化配置
(1)修改 conf/activemq.xml 文件。
(2)修改 broker 标签中子标签 persistenceAdapter 相关内容。

  • replicas 属性代表当前主从模型中的节点数量。按需配置。

  • bind 属性中的端口为主从实例之间的通讯端口。代表当前实例对外开放端口是什么,三 个实例分别使用62626、62627、62628
    端口。

  • zkAddress 属性代表 ZooKeeper 安装位置,安装具体情况设置。

  • zkPath 是 ActiveMQ 主从信息保存到 ZooKeeper 中的什么目录内。

  • hostname 为 ActiveMQ 实例安装 Linux 的主机名,可以在/etc/hosts 配置文件中设置。设 置格式为:IP
    主机名。 如: 127.0.0.1 mq-server

<persistenceAdapter> 
	<replicatedLevelDB 
		directory="${activemq.data}/levelDB" 
		replicas="3" 
		bind="tcp://0.0.0.0:62626" 
		zkAddress="192.168.159.130:2181,192.168.159.130:2182,192.168.159.130:2183" 
		zkPath="/activemq/leveldb-stores" 
		hostname="mq-server" /> 
</persistenceAdapter>

5、服务端口配置
(1)服务端口即activemq对外提供的访问端口,默认为61616;端口分配见上述列表。

3、启动主从

1、命令:mq01/bin/activemq start
在这里插入图片描述
2、查看状态
(1)Jps
在这里插入图片描述
(2)zookeeper客户端查看
①zookeeper01/bin/zkCli.sh 进入zookeeper客户端
②ls /activemq/leveldb-stores 访问activemq保存在zookeeper的目录
③get /activemq/leveldb-stores/00000000000
在这里插入图片描述
(3)查看activemq主从节点
①命令 get/activemq/leveldb-stores/00000000000
②elected 不是null的则为主节点;否则为从节点
在这里插入图片描述
(4)说明
①控制台只有主机才可以访问
②主机宕机后从机转成主机
③主机宕机后会转移相应数据至新主机中
④从机宕机后恢复主机会将该从机未接受指令发送至从机

4、多主机多mq主从

1、统一activemq.xml中brokerName
2、persistenceAdapter配置

<persistenceAdapter>
        <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
		<replicatedLevelDB 
			directory="${activemq.data}/levelDB" 
			replicas="3" 
			bind="tcp://0.0.0.0:62626" 
			zkAddress="192.168.111.128:2181,192.168.111.128:2182,192.168.111.128:2183" 
			zkPath="/activemq/leveldb-stores" 
			hostname=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值