消息队列( Kafka)

使用场景
日志处理:
大并发量时 ,将日志写入消息队列
消息通讯
点对点消息队列
产品
目前生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等
**将要介绍的:

  • Kafka**

优势
高吞吐:非常普通的硬件Kafka也可以支持每秒数百万的消息
支持通过Kafka服务器和消费集群来区分消息
支持Hadoop并行数据加载

相关概念
Broker : Kafa集群中的一台或多台服努器统称为broker。
Topic : Kafka处理的消息源(feeds of messages )的不同分类0
Partition : Topic物理上的分组,一个topic可以分为多个 partition ,每个partition是一个有序的队列。partition中的每条 消息都会被分配一个有序的id ( offset)。
Message :消息,是通信的基本单位,每个producer可以向一个 topic (主题)发布一些消息。
Producers :消息和数据生产者,向Kafka的一个topic发布消息的 过程叫做producers。
Consumers :消息和数据消费者,订阅topics并处理其发布的消息 的过程叫做consumers。

kafka官方
http://kafka.apache.org
在服务器上进行下载安装
wget http://mirrors.hust.edu.cn/apache/kafka/2.1.1/kafka_2.11-2.1.1.tgz

解压

tar xvf  kafka_2.11-2.1.1.tgz
移动到常用目录
mv ./kafka_2.11-2.1.1/*  /usr/local/kafka
进行配置
cd config
先配置zookeeper.properties(kafka是基于zookeeper管理集群的)
vim zookeeper.properties (可以使用默认值,主要看使用端口)

在配置server.properties
开启监听端口 listeners:PLANTEXT://localhost:9092 (指定监听的地址)
zookeeper.connect=localhost:2181  (和zookeeper.properties配置一致)

进入到bin目录,
①启动zookeeper-server-start.sh
使用 bin/zookeeper-server-start.sh config/zookeeper.properties 启动,(关联配置文件)
②然后启动kafka-server-start.sh
使用 bin/kafka-server-start.sh config/server.properties 启动,(关联配置文件)

注意启动时候需要结合java环境

安装java环境如下

下载地址
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
解压 
 tar -zxvf   jdk-8u201-linux-i586.tar;
移动存放位置
mv  jdk1.8.0_201 /usr/local/java
设置环境变量
vim /etc/profile
在最前面添加:
export JAVA_HOME=/usr/lib/java  
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export  PATH=${JAVA_HOME}/bin:$PATH
刷新配置文件
source /etc/profile
检查java 版本
java -version

猜你喜欢

转载自blog.csdn.net/u010505805/article/details/87924812