学习目录
初识
1.1 解压,启动
浏览器查看
2.特性
事务;
消息的签收;
不一定能按照优先级的顺序执行;
消息过滤,消费符合条件的消息;
消息持久化到数据库;
消息订阅;
3.列子
activeMQ 整合 spring,异步发邮件demo;
4.集群搭建
首先每台机器都安装有jdk
https://www.cnblogs.com/shihaiming/p/5809553.html
0.下载jdk8
登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上)
1. 登录Linux,切换到root用户
su root 获取root用户权限,当前工作目录不变(需要root密码)
或
sudo -i 不需要root密码直接切换成root(需要当前用户密码)
2. 在usr目录下建立java安装目录
cd /usr
mkdir java
3.将jdk-8u60-linux-x64.tar.gz拷贝到java目录下
cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/
4.解压jdk到当前目录
tar -zxvf jdk-8u60-linux-x64.tar.gz
得到文件夹 jdk1.8.0_60
5.安装完毕为他建立一个链接以节省目录长度
(我没用这一步)
ln -s /usr/java/jdk1.8.0_60/ /usr/jdk
6.编辑配置文件,配置环境变量
vim /etc/profile
添加如下内容:JAVA_HOME根据实际目录来
JAVA_HOME=/usr/local/jdk/jdk_1.7
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
7.重启机器或执行命令 :source /etc/profile
sudo shutdown -r now
8.查看安装情况
java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)
文件上传到3个节点
解压
tar -zxvf zookeeper-3.4.5.tar.gz
[root@localhost zookeeper]# cd conf
[root@localhost conf]# ll
total 12
-rw-r--r--. 1 501 games 535 Sep 30 2012 configuration.xsl
-rw-r--r--. 1 501 games 2161 Sep 30 2012 log4j.properties
-rw-r--r--. 1 501 games 808 Sep 30 2012 zoo_sample.cfg
添加zookeeper的环境
[root@localhost conf]# cd /etc
[root@localhost etc]# vim profile
JAVA_HOME=/usr/local/jdk/jdk_1.7
ZOOKEEPER_HOME=/usr/local/zookeeper
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin
export PATH JAVA_HOME CLASSPATH
修改配置文件
[root@localhost conf]# vim zoo.cfg
dataDir=/usr/local/zookeeper/data
server.0=10.10.1.46:2888:3888
server.1=10.10.1.145:2888:3888
server.2=10.10.1.59:2888:3888
对应id
[root@localhost zookeeper]# mkdir data
[root@localhost zookeeper]# cd data
[root@localhost data]# touch myid
3台机器分别对应0.1。2
[root@localhost data]# vim myid
2
端口过滤
firewall-cmd --add-port=2888/tcp
firewall-cmd --add-port=3888/tcp
启动客户端
[root@localhost data]# source /etc/profile
[root@localhost local]# zkServer.sh start
结果
[root@localhost data]# zkServer.sh status
以上为zookeeper的搭建
===================================================================
mq 的主从
[root@localhost mq]# tar -zxvf apache-activemq-5.11.1-bin.tar.gz -C /usr/local/activemq-cluster/
[root@localhost mq]# cd ..
[root@localhost local]# cd activemq-cluster/
[root@localhost activemq-cluster]# mv apache-activemq-5.11.1/ node2
[root@localhost activemq-cluster]# ll
total 0
drwxr-xr-x. 10 root root 193 Feb 13 2015 node1
drwxr-xr-x. 10 root root 193 Feb 13 2015 node2
[root@localhost node2]# vim conf/jetty.xml 8161 ,8162, 8163
修改 activemq.xml
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
<persistenceAdapter>
<!--kahaDB directory="${activemq.data}/kahadb"/ -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62622"
zkAddress="10.10.1.145:2181,10.10.1.59:2181,10.10.1.46:2181"
hostname="145"
zkPath="/activemq/leveldb-stores"
/>
</persistenceAdapter>
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:51512?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
[root@localhost local]# jps
11643 QuorumPeerMain
11842 Jps
[root@localhost local]#
端口:
firewall-cmd --add-port=62621/tcp
firewall-cmd --add-port=62622/tcp
firewall-cmd --add-port=62623/tcp
firewall-cmd --add-port=2181/tcp
firewall-cmd --add-port=8161/tcp
firewall-cmd --add-port=8162/tcp
firewall-cmd --add-port=8163/tcp
[root@localhost local]# /usr/local/activemq-cluster/node3/bin/activemq start
[root@localhost local]# zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /
[activemq, zookeeper]
/usr/local/activemq-cluster/node3/bin/activemq start
如果出来3个节点,那么就搭建成功了