activemq 安装-单点

Posted 刘振川的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activemq 安装-单点相关的知识,希望对你有一定的参考价值。

一,准备工作:首先安装jdk1.7及其以上版本,此环境安装的是jdk-1.8
 
二.搭建activemq
环境:  192.168.9.25         centos6.5
              jdk-1.8
             apache-activemq-5.14.5-bin.tar.gz
 
 
三.搭建activemq
1》解压activemq
[root@localhost soft]# tar xf apache-activemq-5.14.5-bin.tar.gz
[root@localhost soft]# cp -rf apache-activemq-5.14.5 /usr/local/
 
2》启动activemq
activeMQ具有三种启动方式
1、普通启动 ./activemq start
2、启动并指定日志文件 ./activemq start >tmp/smlog
3、后台启动方式
[root@localhost bin]# nohup ./activemq start >/tmp/smlog
 
[root@localhost soft]# cd /usr/local/apache-activemq-5.14.5/
[root@localhost apache-activemq-5.14.5]# ls
activemq-all-5.14.5.jar  conf  docs      lib      NOTICE      tmp      webapps-demo
bin                      data  examples  LICENSE  README.txt  webapps
[root@localhost apache-activemq-5.14.5]# cd bin
[root@localhost bin]# ls
activemq       activemq.jar  linux-x86-32  macosx     wrapper.jar
activemq-diag  env           linux-x86-64  nohup.out
[root@localhost bin]# nohup ./activemq start //采用后台启动方式
 
3》检查启动
[root@localhost bin]# ps -ef | grep activemq
root      8740     1  1 23:20 pts/0    00:00:11 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/usr/local/apache-activemq-5.14.5//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/usr/local/apache-activemq-5.14.5//tmp -Dactivemq.classpath=/usr/local/apache-activemq-5.14.5//conf:/usr/local/apache-activemq-5.14.5//../lib/: -Dactivemq.home=/usr/local/apache-activemq-5.14.5/ -Dactivemq.base=/usr/local/apache-activemq-5.14.5/ -Dactivemq.conf=/usr/local/apache-activemq-5.14.5//conf -Dactivemq.data=/usr/local/apache-activemq-5.14.5//data -jar /usr/local/apache-activemq-5.14.5//bin/activemq.jar start
root      8860  8839  0 23:39 pts/2    00:00:00 grep activemq
 
[root@localhost conf]# netstat -lnpt | grep 8161
tcp        0      0 :::8161                     :::*                        LISTEN      8740/java 
 
 
四.登陆activemq控制台
[root@localhost bin]# cd ../
[root@localhost apache-activemq-5.14.5]# ls
activemq-all-5.14.5.jar  conf  docs      lib      NOTICE      tmp      webapps-demo
bin                      data  examples  LICENSE  README.txt  webapps
[root@localhost apache-activemq-5.14.5]# cd conf/
 
[root@localhost conf]# ll
总用量 80
-rw-r--r--. 1 root root 5911 3月  20 23:09 activemq.xml
-rw-r--r--. 1 root root 1370 3月  20 23:09 broker.ks
-rw-r--r--. 1 root root  592 3月  20 23:09 broker-localhost.cert
-rw-r--r--. 1 root root  665 3月  20 23:09 broker.ts
-rw-r--r--. 1 root root 1357 3月  20 23:09 client.ks
-rw-r--r--. 1 root root  665 3月  20 23:09 client.ts
-rw-r--r--. 1 root root 1172 3月  20 23:09 credentials-enc.properties
-rw-r--r--. 1 root root 1121 3月  20 23:09 credentials.properties
-rw-r--r--. 1 root root  962 3月  20 23:09 groups.properties
-rw-r--r--. 1 root root 1011 3月  20 23:09 java.security
-rw-r--r--. 1 root root 1087 3月  20 23:09 jetty-realm.properties
-rw-r--r--. 1 root root 7795 3月  20 23:09 jetty.xml
-rw-r--r--. 1 root root  965 3月  20 23:09 jmx.access
-rw-r--r--. 1 root root  964 3月  20 23:09 jmx.password
-rw-r--r--. 1 root root 3084 3月  20 23:09 log4j.properties
-rw-r--r--. 1 root root 1207 3月  20 23:09 logging.properties
-rw-r--r--. 1 root root 1016 3月  20 23:09 login.config
-rw-r--r--. 1 root root  961 3月  20 23:09 users.properties
 
查看broker连接端口
[root@localhost conf]# vim activemq.xml   
 
        <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&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
 
61616就是我们的broker连接端口
 
 
查看amq控制台的端口
[root@localhost conf]# vim jetty.xml
        <property name="host" value="0.0.0.0"/>
        <property name="port" value="8161"/>
 
 
 
五。浏览器进入控制台
username:admin
passwd:admin
六,修改activemq控制台登陆端口
[root@localhost conf]# vim jetty.xml
。。。。。。。。。。。。。。
109         <property name="host" value="0.0.0.0"/>
110         <property name="port" value="9766"/>    //控制台端口修改成9766
。。。。。。。。。。。。。。。。。
 
[root@localhost bin]# nohup ./activemq restart    //重启activemq服务
[root@localhost bin]# ps -ef | grep activemq
root      8992     1 54 00:05 pts/0    00:00:06 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/usr/local/apache-activemq-5.14.5//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/usr/local/apache-activemq-5.14.5//tmp -Dactivemq.classpath=/usr/local/apache-activemq-5.14.5//conf:/usr/local/apache-activemq-5.14.5//../lib/: -Dactivemq.home=/usr/local/apache-activemq-5.14.5/ -Dactivemq.base=/usr/local/apache-activemq-5.14.5/ -Dactivemq.conf=/usr/local/apache-activemq-5.14.5//conf -Dactivemq.data=/usr/local/apache-activemq-5.14.5//data -jar /usr/local/apache-activemq-5.14.5//bin/activemq.jar start
root      9036  8289  0 00:05 pts/0    00:00:00 grep activemq
 
[root@localhost bin]# netstat -lnpt | grep 9766      //查看9766端口
tcp        0      0 :::9766                     :::*                        LISTEN      8992/java
 
浏览器登录测试:
username:admin
passwd:admin
 
 
 
七,修改activemq控制台登陆用户名和密码
[root@localhost conf]# vim jetty.xml
30         <property name="roles" value="user,admin" />
31         <!-- set authenticate=false to disable login -->
32         <property name="authenticate" value="true" />     //确认次数为“true”,说明在web登陆时会开启认证。若此处更改为“flash”,在web登陆时不需要认证
 
activemq用户名密码存放的位置
[root@localhost conf]# vim jetty-realm.properties
## ---------------------------------------------------------------------------
## Licensed to the Apache Software Foundation (ASF) under one or more
## contributor license agreements.  See the NOTICE file distributed with
## this work for additional information regarding copyright ownership.
## The ASF licenses this file to You under the Apache License, Version 2.0
## (the "License"); you may not use this file except in compliance with
## the License.  You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
 
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
#admin: admin, admin
#user: user, user
zxjr: zxjr123, admin         //此处用户名修改成“zxjr”     密码修改成“zxjr123”。值得注意的是用户名和密码的格式是:用户名 : 密码 ,角色名。
user: user, user
 
重启activemq 服务
[root@localhost conf]# ps -ef | grep activemq
root      9188     1  1 00:07 pts/0    00:00:10 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/usr/local/apache-activemq-5.14.5//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/usr/local/apache-activemq-5.14.5//tmp -Dactivemq.classpath=/usr/local/apache-activemq-5.14.5//conf:/usr/local/apache-activemq-5.14.5//../lib/: -Dactivemq.home=/usr/local/apache-activemq-5.14.5/ -Dactivemq.base=/usr/local/apache-activemq-5.14.5/ -Dactivemq.conf=/usr/local/apache-activemq-5.14.5//conf -Dactivemq.data=/usr/local/apache-activemq-5.14.5//data -jar /usr/local/apache-activemq-5.14.5//bin/activemq.jar start
root      9303  8289  0 00:17 pts/0    00:00:00 grep activemq
[root@localhost conf]# kill 9188
[root@localhost bin]# nohup ./activemq start     //后台启动activemq服务
[root@localhost bin]# netstat -lnpt | grep 9766
tcp        0      0 :::9766                     :::*                        LISTEN      9347/java
 
web网页登陆测试:
username:zxjr
passwd:zxjr123
 
 八,在搭建过程中可能会出现的问题
问题1:当在同一台机器上安装activemq和rabbitmq时,如果是先安装rabbitmq,后安装activmq,在启动activemq时会报错,查看activemq日志,报错内容为: Error creating bean with name \'org.apache.activemq.xbean.XBeanBrokerService#0\' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.io.IOException: Transport Connector could not be registered in JMX: java.io.IOException: Failed to bind to server socket: amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600 due to: java.net.BindException: 地址已在使用 (Bind failed) | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
次报错信息为activmq 5672的端口被占用,更改5672的端口即可
[root@bongo conf]#vim  /usr/local/apache-activemq-5.14.4/conf/activemq.xml
111         <transportConnectors>
112             <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
113             <transportConnector name="openwire" uri="tcp://127.0.0.1:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104    857600"/>
114             <transportConnector name="amqp" uri="amqp://127.0.0.1:9766?  
maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576    00"/>  //5672的端口更改为9766
115             <transportConnector name="stomp" uri="stomp://127.0.0.1:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048    57600"/>
116             <transportConnector name="mqtt" uri="mqtt://127.0.0.1:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=1048576    00"/>
117             <transportConnector name="ws" uri="ws://127.0.0.1:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"    /> 
118         </transportConnectors>
 
重启启动activemq:
[root@bongo conf]# cd ../bin/
[root@bongo bin]# nohup ./activemq restart
[root@bongo bin]# ps -ef | grep activemq
root     14617 14196  0 14:46 pts/2    00:00:00 tail -f activemq.log
root     15196     1 61 15:01 pts/0    00:00:06 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/usr/local/apache-activemq-5.14.4//conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/usr/local/apache-activemq-5.14.4//tmp -Dactivemq.classpath=/usr/local/apache-activemq-5.14.4//conf:/usr/local/apache-activemq-5.14.4//../lib/: -Dactivemq.home=/usr/local/apache-activemq-5.14.4/ -Dactivemq.base=/usr/local/apache-activemq-5.14.4/ -Dactivemq.conf=/usr/local/apache-activemq-5.14.4//conf -Dactivemq.data=/usr/local/apache-activemq-5.14.4//data -jar /usr/local/apache-activemq-5.14.4//bin/activemq.jar start
 
 
问题2:Error creating bean with name \'org.apache.activemq.xbean.XBeanBrokerService#0\' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: port out of range:-1 | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
报次错误时,可以把[root@bongo conf]#vim  /usr/local/apache-activemq-5.14.4/conf/activemq.xml,的ip地址修改为127.0.0.1,如上错误已被修改。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于activemq 安装-单点的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMQ集群整体认识

activeMQ集群的安装

ActiveMQ——ActiveMQ的安装和基本使用

activemq安装及配置

ActiveMQ入门:认识并安装ActiveMQ(Windows下)

烂泥:ActiveMQ的集群安装与配置