ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 >> ActiveMQ私有云、公有云以及Docker环境高可用集群方案汇总

ActiveMQ私有云、公有云以及Docker环境高可用集群方案汇总(4/5)

来源:网络整理     时间:2016-03-11     关键词:

本篇文章主要介绍了"ActiveMQ私有云、公有云以及Docker环境高可用集群方案汇总",主要涉及到方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: ActiveMQ软件概述ActiveMQ提供消息队列服务。ActiveMQ高可用原理ActiveMQ高可用由三部分组成。1.ActiveMQ的master-sl...

在Docker的加入后就有很大的不同了。首先Docker的配置文件(如/etc/hosts)中必须灵活的指定主机名称与IP地址的映射关系,这样使得ActiveMQ的配置文件更加灵活,不依赖于IP地址、具有更好的应用范围。其次要解决主机间容器通信的问题,每一个主机上运行的Docker容器之间必须能相互访问。    
如果想使用Docker,建议使用Linux 3.10版本以上的内核的操作系统,这样的Linux内核在CentOS7、Ubuntu14以上都支持。    
此处以CentOS7 1511为例,跨主机网络互通靠docker native plugin中的overlay实现。此方案中会用到一个kv存储,这个kv存储可以使用Consul、etcd等实现,此处用Consul实现。    
yum -y update    
history -c && shutdown -r now    
uname -a    
# Linux localhost.localdomain 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux    
# set FQDN hostname use edit file or hostname command or nmtui command    
vim /etc/hostname    
setenforce 0    
# for service docker    
# Refer: https://www.docker.com/    
# Refer: https://docs.docker.com/linux/step_one/    
which curl 2>/dev/null || yum -y -q install curl    
curl -fsSL https://get.docker.com/gpg | gpg --import    
curl -fsSL https://get.docker.com/ | sh    
# for program docker-enter    
# Refer: http://dockerpool.com/static/books/docker_practice/container/enter.html    
which curl > /dev/null || apt-get -qq install -y curl    
# # cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24;    
# cd /tmp; wget -q https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz; tar xzvf util-linux-2.24.tar.gz    
# cd util-linux-2.24    
# ./configure --without-ncurses && make nsenter    
# cp nsenter '/usr/local/bin'    
which nsenter    
cd    
which wget 2>/dev/null || yum -y -q install wget    
wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;    
echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc    
service docker start    
docker version    
rpm -ql docker-engine    
# if there are only two docker hosts commmunicated each other, then nameserver set to each other    
# if there are more than 3 docker hosts, then first node's nameserver set to last one, second set to first one, third set to second one    
vim /etc/resolv.conf    
vim /usr/lib/systemd/system/docker.service    
-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store=consul://consul.service.dc1.consul.:8500 --cluster-advertise=eno16777728:2376    
systemctl daemon-reload    
systemctl restart docker    
systemctl status docker -l    
docker network create -d overlay interconnection    
docker network ls    
# after this, start a docker container with "--net interconnection", then containers running on different hosts can communited each other.    
mkdir -p /data/docker/activemq/data    
mkdir -p /data/docker/activemq/data/kahadb    
mkdir -p /data/docker/activemq/log-master    
mkdir -p /data/docker/activemq/log-slave    
mkdir -p /data/docker/activemq/conf

vim /data/docker/activemq/conf/activemq.xml


  
    
      file:${activemq.conf}/credentials.properties

  
   

    
      
        
          
            
              
            

        
      
    
    
      

    
      
        
          
        
        
          
        
        
          
        
      
    
    
      
      
      
      
      
    
    
      
    

  

docker run --restart="always" --name='server1-activemq-01-master' --net interconnection -d --hostname=server1-activemq-01-master \    
-e 'ACTIVEMQ_NAME=amqp-srv1-master' \    
-e 'ACTIVEMQ_REMOVE_DEFAULT_ACCOUNT=true' \    
-e 'ACTIVEMQ_ADMIN_LOGIN=admin' -e 'ACTIVEMQ_ADMIN_PASSWORD=your_password' \    
-e 'ACTIVEMQ_WRITE_LOGIN=producer_login' -e 'ACTIVEMQ_WRITE_PASSWORD=producer_password' \    
-e 'ACTIVEMQ_READ_LOGIN=consumer_login' -e 'ACTIVEMQ_READ_PASSWORD=consumer_password' \    
-e 'ACTIVEMQ_JMX_LOGIN=jmx_login' -e 'ACTIVEMQ_JMX_PASSWORD=jmx_password' \    
-e 'ACTIVEMQ_STATIC_TOPICS=topic1;topic2;topic3' \    
-e 'ACTIVEMQ_STATIC_QUEUES=queue1;queue2;queue3' \    
-e 'ACTIVEMQ_MIN_MEMORY=1024' -e  'ACTIVEMQ_MAX_MEMORY=4096' \    
-e 'ACTIVEMQ_ENABLED_SCHEDULER=true' \    
-v /data/docker/activemq/data:/data/activemq \    
-v /data/docker/activemq/data/kahadb:/data/activemq/kahadb \    
-v /data/docker/activemq/log-master:/var/log/activemq \    
-v /data/docker/activemq/conf/activemq.xml:/opt/activemq/conf/activemq.xml \    
-p 8161:8161 \    
-p 61616:61616 \    
-p 61613:61613 \    
webcenter/activemq

docker run --restart="always" --name='server1-activemq-01-slave' --net interconnection -d --hostname=server1-activemq-01-slave \    
-e 'ACTIVEMQ_NAME=amqp-srv1-slave' \    
-e 'ACTIVEMQ_REMOVE_DEFAULT_ACCOUNT=true' \    
-e 'ACTIVEMQ_ADMIN_LOGIN=admin' -e 'ACTIVEMQ_ADMIN_PASSWORD=your_password' \    
-e 'ACTIVEMQ_WRITE_LOGIN=producer_login' -e 'ACTIVEMQ_WRITE_PASSWORD=producer_password' \    
-e 'ACTIVEMQ_READ_LOGIN=consumer_login' -e 'ACTIVEMQ_READ_PASSWORD=consumer_password' \    
-e 'ACTIVEMQ_JMX_LOGIN=jmx_login' -e 'ACTIVEMQ_JMX_PASSWORD=jmx_password' \    
-e 'ACTIVEMQ_STATIC_TOPICS=topic1;topic2;topic3' \    
-e 'ACTIVEMQ_STATIC_QUEUES=queue1;queue2;queue3' \    
-e 'ACTIVEMQ_MIN_MEMORY=1024' -e  'ACTIVEMQ_MAX_MEMORY=4096' \    
-e 'ACTIVEMQ_ENABLED_SCHEDULER=true' \    
-v /data/docker/activemq/data:/data/activemq \    
-v /data/docker/activemq/data/kahadb:/data/activemq/kahadb \    
-v /data/docker/activemq/log-slave:/var/log/activemq \    
-v /data/docker/activemq/conf/activemq.xml:/opt/activemq/conf/activemq.xml \    
-p 8171:8161 \    
-p 61626:61616 \    
-p 61623:61613 \    
webcenter/activemq

rm -rf /data/docker/activemq    
docker stop server1-activemq-01-master && docker rm server1-activemq-01-master    
docker stop server1-activemq-01-slave && docker rm server1-activemq-01-slave    
    
mkdir -p /data/docker/activemq/data    
mkdir -p /data/docker/activemq/data/kahadb    
mkdir -p /data/docker/activemq/log-master    
mkdir -p /data/docker/activemq/log-slave    
mkdir -p /data/docker/activemq/conf

docker run --restart="always" --name='server2-activemq-02-master' -d --hostname=server2-activemq-02-master \    
-e 'ACTIVEMQ_NAME=amqp-srv2-master' \    
-e 'ACTIVEMQ_REMOVE_DEFAULT_ACCOUNT=true' \    
-e 'ACTIVEMQ_ADMIN_LOGIN=admin' -e 'ACTIVEMQ_ADMIN_PASSWORD=your_password' \    
-e 'ACTIVEMQ_WRITE_LOGIN=producer_login' -e 'ACTIVEMQ_WRITE_PASSWORD=producer_password' \    
-e 'ACTIVEMQ_READ_LOGIN=consumer_login' -e 'ACTIVEMQ_READ_PASSWORD=consumer_password' \    
-e 'ACTIVEMQ_JMX_LOGIN=jmx_login' -e 'ACTIVEMQ_JMX_PASSWORD=jmx_password' \    
-e 'ACTIVEMQ_STATIC_TOPICS=topic1;topic2;topic3' \    
-e 'ACTIVEMQ_STATIC_QUEUES=queue1;queue2;queue3' \    
-e 'ACTIVEMQ_MIN_MEMORY=1024' -e  'ACTIVEMQ_MAX_MEMORY=4096' \    
-e 'ACTIVEMQ_ENABLED_SCHEDULER=true' \    
-v /data/docker/activemq/data:/data/activemq \    
-v /data/docker/activemq/data/kahadb:/data/activemq/kahadb \    
-v /data/docker/activemq/log-master:/var/log/activemq \    
-v /data/docker/activemq/conf/activemq.xml:/opt/activemq/conf/activemq.xml \    
-p 8161:8161 \    
-p 61616:61616 \    
-p 61613:61613 \    
webcenter/activemq

docker run --restart="always" --name='server2-activemq-02-slave' -d --hostname=server2-activemq-02-slave \    
-e 'ACTIVEMQ_NAME=amqp-srv2-slave' \    
-e 'ACTIVEMQ_REMOVE_DEFAULT_ACCOUNT=true' \    
-e 'ACTIVEMQ_ADMIN_LOGIN=admin' -e 'ACTIVEMQ_ADMIN_PASSWORD=your_password' \    
-e 'ACTIVEMQ_WRITE_LOGIN=producer_login' -e 'ACTIVEMQ_WRITE_PASSWORD=producer_password' \    
-e 'ACTIVEMQ_READ_LOGIN=consumer_login' -e 'ACTIVEMQ_READ_PASSWORD=consumer_password' \    
-e 'ACTIVEMQ_JMX_LOGIN=jmx_login' -e 'ACTIVEMQ_JMX_PASSWORD=jmx_password' \    
-e 'ACTIVEMQ_STATIC_TOPICS=topic1;topic2;topic3' \    
-e 'ACTIVEMQ_STATIC_QUEUES=queue1;queue2;queue3' \    
-e 'ACTIVEMQ_MIN_MEMORY=1024' -e  'ACTIVEMQ_MAX_MEMORY=4096' \    
-e 'ACTIVEMQ_ENABLED_SCHEDULER=true' \    
-v /data/docker/activemq/data:/data/activemq \    
-v /data/docker/activemq/data/kahadb:/data/activemq/kahadb \    
-v /data/docker/activemq/log-slave:/var/log/activemq \    
-v /data/docker/activemq/conf/activemq.xml:/opt/activemq/conf/activemq.xml \    
-p 8171:8161 \    
-p 61626:61616 \    
-p 61623:61613 \    
webcenter/activemq

rm -rf /data/docker/activemq    
docker stop server2-activemq-02-master && docker rm server2-activemq-02-master    
docker stop server2-activemq-02-slave && docker rm server2-activemq-02-slave    

相关图片

相关文章