ubuntu18.04下Kafka安装与部署

Apache Kafka是分布式发布-订阅消息系统,Apache Kafka与传统消息系统相比,有如下不一样:java

它被设计为一个分布式系统,易于向外扩展;
它同时为发布和订阅提供高吞吐量;
它支持多订阅者,当失败时能自动平衡消费者;
它将消息持久化到磁盘,所以可用于批量消费;
本篇文章是基于Ubuntu18.04来安装Kafka。apache

1、安装Java
更新软件包bootstrap

sudo apt-get update
安装openjdk-8-jdkubuntu

sudo apt-get install openjdk-8-jdk
查看java版本,看看是否安装成功vim

wzj@wzj-ThinkPad-T61:~$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
2、安装Zookeeper
请看我这篇文章:https://blog.csdn.net/u010889616/article/details/80171307分布式

3、安装Kafka
下载地址:https://kafka.apache.org/downloads,ubuntu下能够用wget直接下载,我是下载到了/home/wzj/kafka目录ui

wget http://mirrors.shuosc.org/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz
解压.net

tar -zxvf kafka_2.11-1.0.0.tgz
建立日志存储目录设计

wzj@wzj-ThinkPad-T61:~$ cd kafka/
wzj@wzj-ThinkPad-T61:~/kafka$ mkdir logs-1
进入kafka解压目录,修改kafka-server 的配置文件日志

vim config/server.properties
修改配置文件中2一、3一、36和60行

broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://host_ip:9092
log.dirs=/home/wzj/kafka/logs-1
4、功能验证
一、启动Zookeeper,Zookeeper部署的是单点的。

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
查看是否启动成功

 

二、启动Kafka服务,使用 kafka-server-start.sh 启动 kafka 服务
bin/kafka-server-start.sh config/server.properties
三、建立topic

使用 kafka-topics.sh 建立单分区单副本的 topic test

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看 topic 列表

bin/kafka-topics.sh --list --zookeeper localhost:2181
四、产生消息,建立消息生产者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
五、消费消息,建立消息消费者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
在生产消息的窗口,输入内容,在消费窗口就能够打印出来

 

六、查看Topic消息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic testwzj@wzj-ThinkPad-T61:~/kafka/kafka_2.11-1.0.0$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic testTopic:test PartitionCount:1 ReplicationFactor:1 Configs: Topic: test Partition: 0 Leader: 1 Replicas: 1 Isr: 1第一行给出了全部分区的摘要,每一个附加行给出了关于一个分区的信息。 因为咱们只有一个分区,因此只有一行。    “Leader”: 是负责给定分区的全部读取和写入的节点。 每一个节点将成为分区随机选择部分的领导者。    “Replicas”: 是复制此分区日志的节点列表,不管它们是不是领导者,或者即便他们当前处于活动状态。    “Isr”: 是一组“同步”副本。这是复制品列表的子集,当前活着并被引导到领导者。--------------------- 做者:dmfrm 来源:CSDN 原文:https://blog.csdn.net/u010889616/article/details/80641922 版权声明:本文为博主原创文章,转载请附上博文连接!

相关文章
相关标签/搜索