Artemis集群搭建与ssl配置

Artemis集群安装过程

1.安装libaio(使用AIO进行持久化日志需要用到)

  • yum install libaio
  • yum install libtool gcc-c++ gcc libaio libaio-devel cmake

2.下载artemis安装包到路径:/var/local下,解压(下载路径http://mirrors.hust.edu.cn/apache/activemq/activemq-artemis/2.6.2/)

3.下载artemis源码到路径:/var/local/artemis-sources,解压(下载路径http://mirrors.hust.edu.cn/apache/activemq/activemq-artemis/2.6.2/)

4.进入源码路径下的artemis-native/目录,运行compile-native.sh脚本

5.编译完后,进入./bin目录,用编译好的库替换安装包中旧的库

cp libartemis-native.so /var/local/apache-artemis-2.6.2/bin/lib/linux-x86_64/libartemis-native-64.so

6.进入安装包目录下,创建broker实例:

./bin/artemis create --aio --clustered --cluster-user 'XXX' --cluster-password 'XXXXXX'  --data '/var/local/artemis-broker/data' --default-port 服务端口 --encoding 'UTF-8' --global-max-size 30G --home '/var/local/apache-artemis-2.6.2' --host '127.0.0.1' --http-host '127.0.0.1' --http-port web端口号 --password 'XXXX' --require-login --role 'XX' --use-client-auth --user 'XXXX' '/var/local/artemis-broker/broker'

7.创建成功后,进入实例配置目录/var/local/artemis-broker/broker/etc,修改artemis.profile环境配置中JVM内存参数为:-Xms5G -Xmx5G -Xmn2g -Xss512k。(视服务器硬件条件而定)

8.进入实例broker的目录下,修改broker.xml:

  1. 用物理机的ip替换文件中的ip(:%s/127.0.0.2/127.0.0.1/g )
  2. <cluster-user>字段替换成集群名
  3. <cluster-password>字段替换成集群密码

9.修改mqtt的日志级别(用于跟踪mqtt连接信息)

  • 打开/etc/目录下的logging.properties
  • 在"loggers"字段下增加“,org.apache.activemq.artemis.core.protocol.mqtt”
  • 添加“logger.org.apache.activemq.artemis.core.protocol.mqtt.level=TRACE”
  • 修改“handler.CONSOLE.level”为trace
  • 修改“handler.FILE.level”为trace

10.启动broker

artemis集群配置ssl

1.采用keytool生成所需文件

2.将artemiscert.cer、artemiskeystore.jks、artemistruststore.jks3个文件拷贝到服务器的“/etc/artemis_ssl”路径下。

3.修改broker实例路径下etc目录内的broker.xml。

<acceptor name="artemis">tcp://0.0.0.0:{port1}?remotingThreads=200;sslEnabled=true;keyStorePath=/etc/artemis_ssl/artemiskeystore.jks;keyStorePassword=artemis;trustStorePath=/etc/artemis_ssl/artemistruststore.jks;trustStorePassword=artemis;directDeliver=false;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,MQTT,OPENWIRE;useEpoll=true;producerMaxRate=5;anycastPrefix=anycast://;multicastPrefix=multicast://</acceptor>

4.重启服务,就能提供ssl服务。但是artemis集群间也是通过{port1}端口来建连的,集群建连时会出现连接不上的现象(估计是客户端没有证书,所以连不上),因此,考虑重新开设一个CORE端口{port2},专门用于集群的连接。修改broker.xml:

<connector name="artemis">tcp://127.0.0.1:{port2}?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;useEpoll=true</connector>

<!-- Core Acceptor. Listens on default CORE port for cluseter.-->

<acceptor name="cluster">tcp://127.0.0.1:{port2}?remotingThreads=200;sslEnabled=false;directDeliver=false;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE;useEpoll=true;producerMaxRate=5;anycastPrefix=anycast://;multicastPrefix=multicast://</acceptor>

5.重启服务即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值