ZooKeeper:它是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等!
二、zookeeper集群搭建 1.基础环境| IP/名称 | 操作系统 | 服务端口 | 集群通信端口 | 节点目录 | 应用版本 |
|---|---|---|---|---|---|
| 192.168.100.106/zk1 | centos7.8 | 2181 | 2881:3881 | /usr/local/zookeeper | zookeeper-3.4.5.tar.gz |
| 192.168.100.107zk2 | centos7.8 | 2181 | 2881:3881 | /usr/local/zookeeper | zookeeper-3.4.5.tar.gz |
| 192.168.100.108/zk3 | centos7.8 | 2181 | 2881:3881 | /usr/local/zookeeper | zookeeper-3.4.5.tar.gz |
本次演示jdk安装为方便,用yum安装,三个节点一样
[root@zk1 ~]# yum install -y java-1.8.0-openjdk-devel3.解压安装
[root@zk1 ~]# tar xf zookeeper-3.4.5.tar.gz -C /usr/local/ [root@zk1 ~]# mv /usr/local/zookeeper-3.4.5 /usr/local/zookeeper [root@zk1 ~]# cd /usr/local/zookeeper/conf/ [root@zk1 ~]# mv zoo_sample.cfg zoo.cfg4.修改配置
[root@zk1 ~]# vi zoo.cfg #修改数据存储目录与添加日志存储目录,添加完成后创建该目录 dataDir=/usr/local/zookeeper/data dataLogDir=/usr/local/zookeeper/log #服务端口,根据实际情况修改 clientPort=2181 #末尾添加zk集群之间通讯端口 server.1=192.168.100.106:2881:3881 server.2=192.168.100.107:2881:3881 server.3=192.168.100.108:2881:38815.创建zk1 myid文件
#进入zookeeper目录中 [root@zk1 ~]# cd /usr/local/zookeeper/ [root@zk1 zookeeper]# mkdir data #创建数据存储目录 [root@zk1 zookeeper]# mkdir log #创建日志存储目录 [root@zk1 zookeeper]# cd data #进入数据存储目录 [root@zk1 data]# vi myid #添加server id #演示为192.168.100.106,为zk1所以添加1,以此类推zk2为2,zk3为3 16.启动并查看
[root@zk1 data]# /usr/local/zookeeper/bin/zkServer.sh start [root@zk1 data]# /usr/local/zookeeper/bin/zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: leader #集群启动成功后有一个为master节点 [root@zk2 ~]# /usr/local/zookeeper/bin/zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower #集群启动成功后为slave节点 [root@zk3 ~]# /usr/local/zookeeper/bin/zkServer.sh status JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower #集群启动成功后为slave节点三、activemq介绍
MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。
特点:
1、支持多种语言编写客户端
2、对spring的支持,很容易和spring整合
3、支持多种传输协议:TCP,SSL,NIO,UDP等
4、支持AJAX
优点:提高数据的安全性,提高资源的使用率
四、activemq搭建 1.基础环境| IP/名称 | 操作系统 | 服务端口 | jetty控制台端口 | 节点目录 | 应用版本 |
|---|---|---|---|---|---|
| 192.168.100.106/zk1 | centos7.8 | 61616 | 8161 | /usr/local/activemq | apache-activemq-5.11.1-bin.tar.gz |
| 192.168.100.107zk2 | centos7.8 | 61616 | 8161 | /usr/local/activemq | apache-activemq-5.11.1-bin.tar.gz |
| 192.168.100.108/zk3 | centos7.8 | 61616 | 8161 | /usr/local/activemq | apache-activemq-5.11.1-bin.tar.gz |
[root@zk1 ~]# tar xf apache-activemq-5.11.1-bin.tar.gz -C /usr/local/
[root@zk1 ~]# mv /usr/local/apache-activemq-5.11.1 /usr/local/activemq
[root@zk1 ~]# cd /usr/local/activemq/conf/ [root@zk1 conf]# vi activemq.xml #根据实际情况修改默认端口4.修改控制台端口jetty.xml#修改持久化策略 #ActiveMQ实例安装的实际linux主机名,可以在/etc/hosts配置文件中设置
[root@zk1 conf]# vi jetty.xml5.启动并验证
ActiveMQ的主从模型,是一种高可用的解决方案,在zookeeper中注册若干的ActiveMQ Broker,其中只有一台作为主机master对外提供服务,其他作为备份slave保持待机。当master出现问题导致宕机不能正常提供服务的时候,zookeeper通过内部选举,在众多slave中推举出一台作为master继续对外提供服务。
activemq集群最多支持损坏一个节点,若损坏2台,集群所有节点将停止运行。
集群中只有master对外提供服务,其他两个slave不对外提供服务,当访问activemq管理后台时,可以用netstat -uanpt|grep 端口,查看哪个节点端口运行,就可以使用哪个节点。 [root@zk1 conf]# /usr/local/activemq/bin/activemq start [root@zk1 conf]# netstat -antup | grep 8161 tcp 0 0 0.0.0.0:8161 0.0.0.0:* LISTEN 15629/java6.查看data下日志状态
[root@zk1 data]# tail -100f activemq.log
master启动
slave启动
网页验证IP+master端口



