粒子物理后传之:消息队列Kafka搭建

粒子物理后传之:消息队列组件Kafka搭建


这里写图片描述
这里写图片描述


消息队列的意义

继上周的Geant4数据模拟之后,需要考虑完善一步步那个系统:第一步就是构建消息队列组件。
粒子物理研究涉及大规模数据模拟、收集和分析,建立在一个实验环境的粒子物理硬件涉及到传感器、服务器数据接口、客户端数据分析。消息队列扮演的角色就是数据接口(接收、缓存、广播通知)。它本身不能完成什么,但是想完成这个”数据流”链条绝不能缺少它。


服务器环境搭建

服务器已有环境:

  • centos 7 64位
  • java jdk环境
  • maven环境(本篇文章内不使用它,但之后的开发会使用)

需要搭建的环境:

  • zookeeper
  • kafka

下载安装:

[root@master ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
[root@master ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.11.0.2/kafka_2.11-0.11.0.2.tgz

事实上现在kafka的新版本内部集成了zookeeper,所以本文不再赘述zookeeper的配置和启动。
kafka的配置和启动

[root@master ~]# tar -zvxf kafka_2.11-0.11.0.2.tgz
[root@master ~]# mv kafka_2.11-0.11.0.2/ /usr/lib/kafka
[root@master ~]# vi /etc/profile
export KAFKA_HOME=/usr/lib/kafka
[root@master ~]# source /etc/profile
[root@master ~]# $KAFKA_HOME/bin/zookeeper-server-start.sh -daemon $KAFKA_HOME/config/zookeeper.properties
[root@master ~]# $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties &

新增主题和生产消费

[root@master ~]# $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2182 --replication-factor 1 --partitions 1 --topic EnergyInfo
[root@master ~]# $KAFKA_HOME/bin/kafka-topics.sh --list --zookeeper localhost:2181
[root@master ~]# $KAFKA_HOME/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic EnergyInfo
>12.7 Mev
>22.3 Mev
[root@master ~]# $KAFKA_HOME/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic EnergyInfo --from-beginning
12.7 Mev
22.3 Mev

上文命令中我们增加了一个”EnergyInfo”的消息主题,并发布了两个能量值的消息,最后消费者订阅获取消息。


关闭服务

[root@master ~]# $KAFKA_HOME/bin/kafka-server-stop.sh $KAFKA_HOME/config/server.properties &
[root@master ~]# $KAFKA_HOME/bin/zookeeper-server-stop.sh -daemon $KAFKA_HOME/config/zookeeper.properties

经常关闭那个kafka服务会关不了,所以直接ps查看其id再kill -9整死:

[root@master ~]# ps -aux | grep kafka
[root@master ~]# kill -9 id_of_kafka

接下来

我们将开发一个接口来实现粒子束的能量数据消息队列。

猜你喜欢

转载自blog.csdn.net/hanss2/article/details/78582804
今日推荐