ActiveMQ进阶配置
配置web管理页面的安全认证
默认的web页面用户名密码admin:admin,非常不安全,
编辑jetty-realm.properties文件,(用户:密码,组)
admin: admin123, admin
user: user123, user
配置web管理页面的绑定IP和端口
编辑jetty.xml,查找WebConsolePort
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="192.168.0.31"/>
<property name="port" value="8161"/>
</bean>
配置MQ连接的安全认证
编辑activemq.xml,在<broker>下加
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="user" password="user123" groups="users" />
</users>
</simpleAuthenticationPlugin>
</plugins>
禁用不使用的连接协议
编辑activemq.xml,在<transportConnectors>中注销或删除不使用的<transportConnector>
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<!--<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>-->
</transportConnectors>
上面我只保留了61616的openwire协议端口
绑定协议连接端口到指定IP
编辑activemq.xml,在<transportConnectors>下找到指定协议的配置,并修改0.0.0.0为要绑定的ip
<transportConnector name="openwire" uri="tcp://192.168.0.10:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
使用MySql作为持久化保存
编辑activemq.xml,在<beans>下插入如下bean配置
<bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.168.0.20/activemq?relaxAutoCommit=true" />
<property name="username" value="activemq" />
<property name="password" value="123456" />
<property name="poolPreparedStatements" value="true" />
</bean>
删除或注销掉<persistenceAdapter>下的<kahaD>,添加<jdbcPersistenceAdapter>
<persistenceAdapter>
<!--<kahaDB directory="${activemq.data}/kahadb"/>-->
<jdbcPersistenceAdapter dataDirectory="activemq-data" dataSource="#mysql-ds"/>
</persistenceAdapter>
配置基于JDBC的高可用环境
两个以上activemq使用一样的db配置,
客户端连接url为failover:(tcp:
//broker1:61616,tcp://broker2:61616)
修改内存
linux下,修改bin/env的ACTIVEMQ_OPTS_MEMORY属性,Xms=最小内存,Xmx=最大内存
ACTIVEMQ_OPTS_MEMORY="-Xms64M -Xmx1G"
window下,修改activemq.bat,在 if "%ACTIVEMQ_OPTS%" == " 前设置
set ACTIVEMQ_OPTS=-Xms1G -Xmx1G
注册为Service
linux(RedHat,Centos)下(官方参考文档),运行以下命令注册为service,并设置为开机自动启动
ln -snf bin/activemq /etc/init.d/activemq chkconfig --add activemq chkconfig activemq on
然后就可以使用如下service命令了
service activemq start|stop|status|restart

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
日处理20亿数据,实时用户行为服务系统架构实践【转】
携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统)、动态广告、用户画像、浏览历史等等。 以猜你喜欢为例,猜你喜欢为应用内用户提供潜在选项,提高成交效率。旅行是一项综合性的需求,用户往往需要不止一个产品。作为一站式的旅游服务平台,跨业务线的推荐,特别是实时推荐,能实际满足用户的需求,因此在上游提供打通各业务线之间的用户行为数据有很大的必要性。 携程原有的实时用户行为系统存在一些问题,包括:1)数据覆盖不全;2)数据输出没有统一格式,对众多使用方提高了接入成本;3)日志处理模块是web service,比较难支持多种数据处理策略和实现方便扩容应对流量洪峰的需求等。 而近几年旅游市场高速增长,数据量越来越大,并且会持续快速增长。有越来越多的使用需求,对系统的实时性,稳定性也提出了更高的要求。总的来说,当前需求对系统的实时性/可用性/性能/扩展性方面都有很高的要求。 一、架构 这样的背景下,我们按照如下结构重新设计了系统: 图1:实时用户行为系统逻辑视图 新的架构下,数据有两种流向,分别是处理流和输出流。 在处理流,行为日志会从客户端(App/Onlin...
- 下一篇
spring boot多数据源、读写分离( AOP动态)
项目地址 springboot读写分离 应用场景 读写分离,多数据源,主从库 具体实现 1、配置文件application.yml ##多数据源 datasource: #主库 master: jdbcUrl:jdbc:mysql://localhost:3306/pa_yqs_game?useUnicode=true&characterEncoding=utf-8 username:root password:root driver-class-name:com.mysql.jdbc.Driver #从库 slave: #并非url而是jdbcUrl(因为这个在获取数据源时一直报错,看了DataSource的属性才知道是jdbcUrl) jdbcUrl:jdbc:mysql://localhost:3306/data_count?useUnicode=true&characterEncoding=utf-8 username:root password:root driver-class-name:com.mysql.jdbc.Driver ##mybatis ...
相关文章
文章评论
共有0条评论来说两句吧...