系统环境

IP

salt-master-1:192.168.0.156

salt-master-2:192.168.0.157

node-test-1:192.168.0.158

node-test-2:192.168.0.159

系统版本

CentOS release 5.9 (Final)

内核版本

2.6.18-348.el5 x86_64

软件版本

JDK

1.7.79

activemq

5.5.1

软件安装

源码安装

JDK

wget http://192.168.0.155/soft/java/jdk-7u79-linux-x64.gz

tar xzf jdk-7u79-linux-x64.gz -C /usr/local/

vim /etc/profile

#JAVA ENV

export JAVA_HOME=/usr/local/jdk1.7.0_79

export CLASSPATH=:.${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

export PATH=${JAVA_HOME}/bin:${PATH}

source /etc/profile

java –version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

activemq

wget http://archive.apache.org/dist/activemq/apache-activemq/5.5.1/apache-activemq-5.5.1-bin.tar.gz

tar xzf apache-activemq-5.5.1-bin.tar.gz -C /usr/local/

cd /usr/local/apache-activemq-5.5.1/

bin/activemq start

http://192.168.0.158:8161/admin/

bin/activemq stop

activemq主从

Shared File System Master Slave

NFS服务
  1. 在192.168.0.156上搭建NFS服务

yum -y install nfs-utils nfs-utils-lib-devel

vim /etc/exports

/data/kahadb 192.168.0.0/24(rw,no_root_squash,sync)

mkdir -p /data/kahadb

service nfs start

  1. 将NFS共享盘分别挂载到192.168.0.158和192.168.0.159

mkdir -p /data/kahadb

mount 192.168.0.156:/data/kahadb /data/kahadb

  1. 测试NFS服务和挂载是否正常
    1. 在192.168.0.156上创建test.txt

touch /data/kahadb/test.txt

  1. 分别在192.168.0.158和192.168.0.159上查看是否有test.txt文件

ll /data/kahadb/

activemq配置

vim /usr/local/apache-activemq-5.5.1/conf/activemq.xml

<persistenceAdapter>

<!--    <kahaDB directory="${activemq.base}/data/kahadb"/> -->

<kahaDB directory="/data/kahadb"/>

</persistenceAdapter>

重启activemq

/usr/local/apache-activemq-5.5.1/bin/activemq restart

activemq主从测试
  1. 只关闭192.168.0.157的activemq

/usr/local/apache-activemq-5.5.1/bin/activemq stop

  1. 开启192.168.0.157的activemq

/usr/local/apache-activemq-5.5.1/bin/activemq start

  1. 关闭192.168.0.159的activemq

/usr/local/apache-activemq-5.5.1/bin/activemq stop

  1. 开启192.168.0.159的activemq

/usr/local/apache-activemq-5.5.1/bin/activemq start

  1. 关闭192.168.0.158和192.168.0.159的activemq
  1. 开启192.168.0.158和192.168.0.159的activemq
  1. 停用192.168.0.156的NFS服务
  1. 停用192.168.0.156的NFS并重启activemq
  1. 打192.168.0.156的NFS服务并重启activemq

JDBC Master Slave

mysql安装配置

1           在192.168.0.156上安装mysql

yum -y install mysql mysql-devel mysql-server

2           启动mysql

service mysqld start

3           创建activemq数据库

mysql> create database activemq default character set utf8;

mysql> grant all on activemq.* to "activemq"@"192.168.0.%" identified by "activemq@test";

mysql> flush privileges;

activemq配置

5.9和5.14测试失败

vim /usr/local/apache-activemq-5.5.1/conf/activemq.xml

<destinationPolicy>

<policyMap><policyEntries>

<policyEntry topic="FOO.>">

<dispatchPolicy>

<strictOrderDispatchPolicy />

</dispatchPolicy>

<subscriptionRecoveryPolicy>

<lastImageSubscriptionRecoveryPolicy />

</subscriptionRecoveryPolicy>

</policyEntry>

</policyEntries></policyMap>

</destinationPolicy>

<persistenceAdapter>

<jdbcPersistenceAdapter         dataDirectory="activemq-data"

dataSource="#mysql-ds"

createTablesOnStartup="false"/> (第一次启动时设置为true,建三张表)

</persistenceAdapter>

<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="com.mysql.jdbc.Driver"/>

<property name="url" value="jdbc:mysql://192.168.0.156:3306/activemq?relaxAutoCommit=true"/>

<property name="username" value="activemq"/>

<property name="password" value="activemq@test"/>

<property name="poolPreparedStatements" value="true"/>

</bean>

主从测试

测试方法未知

Replicated LevelDB Store

该功能从5.9.0开始支持,5.9.0之前版本不支持

zookeeper安装配置

wget http://192.168.0.155/soft/apache/zookeeper/zookeeper-3.3.6.tar.gz

tar xzf zookeeper-3.3.6.tar.gz -C /usr/local/

cp /usr/local/zookeeper-3.3.6/conf/zoo_sample.cfg /usr/local/zookeeper-3.3.6/conf/zoo.cfg

vim /usr/local/zookeeper-3.3.6/conf/zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

dataDir=/usr/local/zookeeper-3.3.6/data

# the port at which the clients will connect

clientPort=2181

server.1=192.168.0.157:2888:3888

server.2=192.168.0.158:2888:3888

server.3=192.168.0.159:2888:3888

mkdir -p /usr/local/zookeeper-3.3.6/data

l  192.168.0.157添加myid

echo "1" > /usr/local/zookeeper-3.3.6/data/myid

l  192.168.0.158添加myid

echo "2" > /usr/local/zookeeper-3.3.6/data/myid

l  192.168.0.159添加myid

echo "3" > /usr/local/zookeeper-3.3.6/data/myid

/usr/local/zookeeper-3.3.6/bin/zkServer.sh start

activemq配置

vim /usr/local/apache-activemq-5.9.1/conf/activemq.xml

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="uce-core" dataDirectory="${activemq.data}">

<persistenceAdapter>

<replicatedLevelDB

directory="/data/kahadb"

replicas="3"

bind="tcp://0.0.0.0:0"

zkAddress="192.168.0.157:2181,192.168.0.158:2181,192.168.0.159:2181"

zkPath="/data/leveldb-stores"

hostname="192.168.0.157"

/>

</persistenceAdapter>

官网标准配置:

<broker brokerName="broker" ... >

...

<persistenceAdapter>

<replicatedLevelDB

directory="activemq-data"(可自定义)

replicas="3"(必须3台,1主+2备)

bind="tcp://0.0.0.0:0"(默认设置即可)

zkAddress="zoo1.example.org:2181,zoo2.example.org:2181,zoo3.example.org:2181"

zkPassword="password"(可设置也不可设置,设置值三台必须一致)

zkPath="/activemq/leveldb-stores"(可自定义)

hostname="broker1.example.org"(必须跟本机地址一致)

/>

</persistenceAdapter>

...

</broker>

主从测试

只要停用master,而另两台可自动运行

activemq部署的更多相关文章

  1. ActiveMQ部署步骤和后台管理网站Service Unavailable问题解决笔记

    最近部署ActiveMQ的时候,发现有的服务器可以打开后台管理网址,有的服务器无法打开,Jetty报503 Service Unavailable. 搞了很久终于发现了问题,现将部署和解决过程做笔记如 ...

  2. ActiveMQ部署和503的错误

    最近部署ActiveMQ的时候,发现有的服务器可以打开后台管理网址,有的服务器无法打开,Jetty报503 Service Unavailable. 搞了很久终于发现了问题,现将部署和解决过程做笔记如 ...

  3. ActiveMQ部署和代码尝试(二)

    部署和代码尝试 1. 部署在linux 上的acvtiveMQ 要可以通过前台windows 的页面访问,必须把linux 的IP和 windows的 IP 地址配置到同一个网关下 .这种情况一般都是 ...

  4. ActiveMQ安装部署(Windows)

    JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生.发送.接收消息的接口简化企业 ...

  5. ActiveMQ(七)_伪集群和主从高可用使用

      一.本文目的         介绍如何在同一台虚拟机上搭建高可用的Activemq服务,集群数量包含3个Activemq,当Activemq可用数>=2时,整个集群可用.         本 ...

  6. php 利用activeMq+stomp实现消息队列

    php 利用activeMq+stomp实现消息队列 一.activeMq概述 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J ...

  7. ActiveMQ(七)_伪集群和主从高可用使用(转)

    本文转自: https://www.cnblogs.com/gossip/p/5977489.html 一.本文目的         介绍如何在同一台虚拟机上搭建高可用的Activemq服务,集群数量 ...

  8. Hello Activemq

    0. 如果永远是localhost 可能一直low下去 1.下载安装 activemq 1.1 从官网下载activemq.tar.gz 并上传(rz)到linux系统 并解压 tar zxvf /* ...

  9. ActiveMQ学习总结

    一.消息中间件的产生的背景 1.在网络通讯中,Http请求默认采用同步请求方式,基于请求与响应模式 2.在客户端与服务器进行通讯时,客户端调用服务端接口后,必须等待服务端完成处理后返回结果给客户端才能 ...

随机推荐

  1. f5主备切换演练

    1.准备工作: 1)保证主备机同步 2)备份主备机配置 2.切换:所有操作均在主机 方法1:shutdown主机上联的核心交换机的端口: 此方法在主备切换过程中会丢1个包 方法2:命令行下reboot ...

  2. Linux系统声卡问题

    问题:Linux系统中有声卡设备,但是听不到声音 一.声卡驱动没有安装 1.通过插拔声卡查出声卡驱动 2.在相应的kernel中编译内核 修改保存.config文件,然后进行编译 make -j ma ...

  3. GridView创建菜单栏

    GridView(网格视图)可以用来做九宫图.表格(行列)的视图,因其是网格状的,不用去调整权重,而且单个item可以自定义,因此也可以用来创建菜单栏(图标加文字形式),布局就一个GridView. ...

  4. C语言中简单的for循环和浮点型变量

    浮点型变量:常数中带有小数点的叫做浮点型 以下用for循环写一个摄氏度和华氏度的转换的C程序 [见 http://www.linuxidc.com/Linux/2013-08/88513.htm ] ...

  5. Excel上传找到错误数据类型

    一:查询数据库表中字段的类型语句 SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名, col.colorder AS ...

  6. devexpress 如何读demo源码 总结

    对于初学这个庞大的控件集合的程序猿来讲应该是有些难度的.今天就devexpress  demo 里边一些东西就本人的所学做一下引导吧. dev 有个帮助文件 DevExpress 中文帮助文档 和每个 ...

  7. 在myeclipse中修改发布到tomcat的项目目录名称

    在项目上右键-->Properties 搜索web-->Project Facets(Web) 更改右侧Web Content-root的信息

  8. C++中的set

    总结一下: vector:封装了数组  list:封装了列表  map,set:封装了二叉树 set:用来存储同一类型的数据类型 非关联容器相对关联型容器插入效率高,原因是:不需要内存拷贝和内存移动, ...

  9. iOS.Crash.Case-[__NSArrayM objectForKeyedSubscript:]

    1. [__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance - source code and s ...

  10. python提取分析表格数据

    #/bin/python3.4# -*- coding: utf-8 -*- import xlrd def open_excel(file="file.xls"): try: d ...