系统环境

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. TZOJ 2018 SPF(连通图割点和分成的连通块)

    描述 Consider the two networks shown below. Assuming that data moves around these networks only betwee ...

  2. 无法打开这些文件internet安全设置

    在安装别人传过来的软件的时候 出现这种情况 解决: 对这个程序,右键“属性”,可以看到属性窗口下方提示:此文件来自其它的电脑,可能不安全,后面有个按钮“解除锁定”

  3. stark组件之过滤操作【模仿Django的admin】

    一.先看下django的admin是如何实现过滤操作 首先在配置类中顶一个list_filter的列表,把要过滤的字段作为元素写i进去就可以了 class testbook(admin.ModelAd ...

  4. 理解Backtracking

    Backtracking is an algorithm for finding all solutions by exploring all potential candidates. If the ...

  5. errror:[test_rig3.launch] is neither a launch file in package [svo_ros] nor is [svo_ros] a launch file name The traceback for the exception was written to the log file

    1. 打开一个终端,运行roscore 2. 打开另一个终端,运行 roslaunch svo_ros test_rig3.launch 出现errror: 忘记关键步骤了 $ cd <path ...

  6. 使用SQL语句创建数据库2——创建多个数据库文件和多个日志文件

    在matser数据库下新建查询,输入的命令如下: USE master GOCREATE DATABASE E_MarketON PRIMARY--主文件组( NAME ='E_Market_data ...

  7. Android开发之使用SwipeRefreshLayout完成下拉刷新

    SwipeRefreshLayout是V4包下的一个组件,老版本的V4包不支持这个组件功能.因此,如果发现自己的项目中无法导入SwipeRefreshLayout的包,那么说明项目中的V4包是老版本的 ...

  8. Github上Markdown基本语法

    基础写作和语法格式 本篇文章的内容来源于Github的基础写作帮助.如果在观看时有什么问题,可以直接查阅源文件.另外需要说明的是Git对Markdown的支持增加了一些扩展功能,因此在Git上可以渲染 ...

  9. Python.tornado.2.tornado.options

    记录Tornado-4.0.2源码的阅读,学习,分析 options.py 1. imports 部分 1.1 __future__ from __future__ import absolute_i ...

  10. Mybatlis SQL 注入与防范

    SQL注射原理 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令 ...