基于sharedFileSystem + kahaDB 的activemq集群搭建

3 篇文章 0 订阅
1 篇文章 0 订阅

基于sharedFileSystem + kahaDB 的activemq集群搭建

官网说明 https://activemq.apache.org/shared-file-system-master-slave

假设有三台机器172.16.1.130 172.16.1.131 172.16.1.221

下文省略了activemq的安装过程

一. 搭建linux(Centos) 跨机器共享目录 NFS

  1. 选择172.16.1.130机器作为 NFS的服务端
  • 安装软件包

    实际上需要安装两个包nfs-utils和rpcbind, 不过当使用yum安装nfs-utils时会把rpcbind一起安装上

    # 查看机器上是否已经安装nfs相关软件包
    rpm -qa|grep nfs
    # 安装 nfs-utils   
    yum -y install nfs-utils   
    
  • 修改配置文件,配置从机(客户端)

    mkdir /home/node_activemq/data/kahaDB

    vim /etc/exports

    #这一行分为三个部分:
    ##第一部分:/opt/nfs ,这个是本地要共享出去的目录。
    
    ##第二部分:允许访问的主机,可以是一个IP:192.168.1.250,也可以是一个IP段:192.168.1.0/24
    
    ##第三部分:括号中部分
    
    ###rw表示可读写,ro只读;
    ###sync :同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中;
    ###no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
    ###root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
    ###all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
    ###anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
    ###fsid=0表示将/opt/nfs整个目录包装成根目录
    
    /home/node_activemq/data/kahaDB 172.16.1.131(rw,sync,no_root_squash) 172.16.1.221(rw,sync,no_root_squash) 
    
  • 配置端口

    nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口,以下配置将定义这些端口,以便配置防火墙

    vim /etc/sysconfig/nfs

    # vim /etc/sysconfig/nfs
    #追加端口配置
    MOUNT_PORT=4001  
    STATD_PORT=4002
    LOCKD_TCPPORT=4003
    LOCKD_UDPPORT=4004
    RQUOTAD_PORT=4005
    

    非云服务器查看防火墙状态(cnetos 6.*)

    /etc/init.d/iptables status
    

    ​ 如果防火墙开启

    非云服务器配置防火墙

    vim /etc/sysconfig/iptables

    # vim /etc/sysconfig/iptables
    -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
    -A INPUT -p udp -m udp --dport 111 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
    -A INPUT -p udp -m udp --dport 2049 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 4001:4005 -j ACCEPT
    -A INPUT -p udp -m udp --dport 4001:4005 -j ACCEPT
    

    非云服务器重启服务和防火墙

    service nfs restart
    service iptables restart  #或reload
    

    云服务器的话就配置下安全组

  • 启动172.16.1.130机器上的NFS服务

    • 配置开机启动
    chkconfig --list rpcbind
    
    chkconfig --list nfs
    
    chkconfig nfs on
    
    • 启动
    service rpcbind start
    service nfs start
    
    • 确认NFS服务器启动成功:
    rpcinfo -p |grep nfs
    

    ​ 存在则启动成功

    • 查看共享的目录和可以访问的ip
    showmount -e 172.16.1.130
    

    例如请添加图片描述

  1. 在 172.16.1.131 172.16.1.221机上配置clinet端

    • 安装nfs,并启动服务。

      yum install -y nfs-utils
      
      service  rpcbind start
      service nfs start
      
    • 检查 NFS 服务器端是否有目录共享

      [root@localhost etc]# showmount -e  172.16.1.130
      Export list for 172.16.1.130:
      /home/node_activemq/data/kahaDB 172.16.1.131,172.16.1.221
      
    • 使用 mount 挂载172.16.1.130服务器端的目录/home/activemq/data/kahaDB到客户端172.16.1.131 172.16.1.221的目录/home/activemq/data/kahaDB下(在172.16.1.131 172.16.1.221上执行)

      mkdir -p /home/node_activemq/data/kahaDB
      mount -t nfs 172.16.1.130:/home/node_activemq/data/kahaDB /home/node_activemq/data/kahaDB    
      

      检查是否挂载成功

      df -h
      

二. 配置activemq的kahaDB配置并重启

vim /home/activemq/conf/activemq.xml

关键配置

     <persistenceAdapter>
        	<mKahaDB directory="${activemq.base}/data/kahaDB">
        	    <filteredPersistenceAdapters>
        	      <!-- kahaDB per destinations -->
    		        <filteredKahaDB perDestination="true">
    		          <persistenceAdapter>
    		           		  <kahaDB journalMaxFileLength="32mb"/>
    		          </persistenceAdapter>
    		        </filteredKahaDB>
    		      </filteredPersistenceAdapters>
    		   </mKahaDB>
     </persistenceAdapter>
/home/activemq/bin/activemq stop

启动顺序 172.16.1.130 172.16.1.131 172.16.1.221

/home/activemq/bin/activemq start
/home/activemq/bin/activemq status

查看日志:
主节点:

| main
2021-12-14 20:20:46,424 | INFO  | Apache ActiveMQ 5.15.2 (jtMQ, ID:T-001-46126-1639484446242-1:1) is starting | org.apache.activemq.broker.BrokerService | main
2021-12-14 20:20:46,427 | INFO  | pending local transactions: [] | org.apache.activemq.store.kahadb.MultiKahaDBTransactionStore | main
2021-12-14 20:20:46,464 | INFO  | Listening for connections at: tcp://T-001:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2021-12-14 20:20:46,465 | INFO  | Connector openwire started | org.apache.activemq.broker.TransportConnector | main
2021-12-14 20:20:46,466 | INFO  | Apache ActiveMQ 5.15.2 (jtMQ, ID:T-001-46126-1639484446242-1:1) started | org.apache.activemq.broker.BrokerService | main

从节点:

2021-12-14 19:59:15,212 | INFO  | Database /home/activemq/data/kahaDB/lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired | org.apache.activemq.store.SharedFileLocker | main

三. sharedFileSystem + kahaDB 的activemq集群的主从原理

https://activemq.apache.org/shared-file-system-master-slave

四. NFS详解

原文链接:https://blog.csdn.net/xiaolong1126626497/article/details/118917826

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要搭建ActiveMQ 5.18集群,你需要按照以下步骤进行操作: 1. 下载ActiveMQ 5.18版本的压缩包,并解压到不同的文件夹中。 2. 配置主节点: - 进入第一个解压后的ActiveMQ文件夹,找到 `conf` 目录下的 `activemq.xml` 文件。 - 打开 `activemq.xml`,找到 `<broker>` 标签,并添加以下配置: ``` <broker xmlns="http://activemq.apache.org/schema/core" brokerName="master" useJmx="true" persistent="true"> <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter> <networkConnectors> <networkConnector uri="static:(tcp://localhost:61616)"/> </networkConnectors> </broker> ``` - 保存并关闭文件。 3. 配置从节点: - 进入第二个解压后的ActiveMQ文件夹,找到 `conf` 目录下的 `activemq.xml` 文件。 - 打开 `activemq.xml`,找到 `<broker>` 标签,并添加以下配置: ``` <broker xmlns="http://activemq.apache.org/schema/core" brokerName="slave" useJmx="true" persistent="true"> <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter> <networkConnectors> <networkConnector uri="static:(tcp://localhost:61616)"/> </networkConnectors> </broker> ``` - 保存并关闭文件。 4. 启动主节点: - 进入第一个解压后的ActiveMQ文件夹,执行 `bin/activemq start` 命令启动主节点。 5. 启动从节点: - 进入第二个解压后的ActiveMQ文件夹,执行 `bin/activemq start` 命令启动从节点。 6. 验证集群是否正常工作: - 打开浏览器,访问 `http://localhost:8161/admin`,进入ActiveMQ管理界面。 - 在管理界面上,可以看到主节点和从节点的连接状态,以及其他相关信息。 通过以上步骤,你就可以成功搭建ActiveMQ 5.18集群了。请注意,这只是一个简单的示例配置,实际部署时可能需要根据具体需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时长河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值