Skip to content
SRE运维进阶之路SRE运维进阶之路
github icon

    activemq5.15.9集群搭建步骤

    author iconClaycalendar icon2021年5月11日category icon
    • 常见服务的搭建
    tag icon
    • activemq
    timer icon大约 2 分钟

    此页内容
    • 下载解压软件
    • 修改主机名
    • 修改配置文件
    • 开放防火墙端口
    • 启动&停止
    • 验证ActiveMQ集群高可用

    # activemq5.15.9集群搭建步骤

    # 下载解压软件

    cd /opt
    wget https://www-eu.apache.org/dist/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz
    tar -xvf apache-activemq-5.15.9-bin.tar.gz
    
    1
    2
    3

    # 修改主机名

    三台主机三分别操作

    hostnamectl set-hostname activemq01.csp
    hostnamectl set-hostname activemq02.csp
    hostnamectl set-hostname activemq03.csp
    
    1
    2
    3

    注意主机名的设置,不能带下划线,否则会报错

    # 修改配置文件

    cd /opt/apache-activemq-5.15.9/conf/
    vim activemq.xml 
    
    1
    2

    修改以下文件

    brokerName="activemqCluster"
    
    1

    brokaerName三台主机名称必须一致

            <persistenceAdapter>
                <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
                <replicatedLevelDB
                directory="${activemq.data}/leveldb"
                replicas="3"
                bind="tcp://0.0.0.0:62222"
                zkAddress="192.168.165.29:2181,192.168.165.30:2181,192.168.165.31:2181"
                hostname="192.168.165.33"
                zkPath="/activemq/leveldb-stores"
                sync="local_disk"/>
            </persistenceAdapter>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    注释掉<kahaDB directory="${activemq.data}/kahadb"/>这一行

    新增下面内容

    directory="${activemq.data}/leveldb" 集群方式

    replicas="3" 集群结点个数

    bind activemq集群通信端口

    zkAddress zookeeper集群地址

    hostname 本机IP

    zkPath activemq集群在zookeeper集群交互文件存储位置

    sync:在消息被消费完成前,同步信息所存贮的策略。如果有多种策略用逗号隔开,ActiveMQ会选择较强的策略。而如果有local_mem, local_disk这两种策略的话,那么ActiveMQ则优先选择local_disk策略,存储在本地硬盘。

    # 开放防火墙端口

    # cat /etc/sysconfig/iptables
    *filter
    :INPUT ACCEPT [0systemctl restart iptables.service:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8161 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 61616 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 62222 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    
    # systemctl restart iptables.service
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18

    # 启动&停止

    /opt/apache-activemq-5.15.9/bin/activemq start
    /opt/apache-activemq-5.15.9/bin/activemq stop
    
    1
    2

    # 验证ActiveMQ集群高可用

    要验证ActiveMQ集群的高可用,我们只需要关闭能访问http://ip:8161/admin/的ActiveMQ服务,然后访问其他两个。

    如果其中有一个能访问,那就说明ActiveMQ+ZooKeeper集群高可用已经配置成功

    当一个ActiveMQ节点挂掉,或者一个ZooKeeper节点挂掉,ActiveMQ服务依然正常运转。如果仅剩一个ActiveMQ节点,因为不能选举Master,ActiveMQ不能正常运转;同样的,如果ZooKeeper仅剩一个节点活动,不管ActiveMQ各节点是否存活,ActiveMQ也不能正常提供服务。 (ActiveMQ集群的高可用,依赖于ZooKeeper集群的高可用。)

    edit icon编辑此页open in new window
    上次编辑于: 2022/4/27 15:33:00
    贡献者: clay-wangzhi
    备案号:冀ICP备2021007336号
    Copyright © 2023 Clay