ubuntu18.04下Kafka安装与部署

Apache Kafka是分布式发布-订阅消息系统,Apache Kafka与传统消息系统相比,有以下不同:

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

一、安装Java
更新软件包

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

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

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)
二、安装Zookeeper
请看我这篇文章:https://blog.csdn.net/u010889616/article/details/80171307

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

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

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
修改配置文件中21、31、36和60行

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

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

 

2、启动Kafka服务,使用 kafka-server-start.sh 启动 kafka 服务
bin/kafka-server-start.sh config/server.properties
3、创建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
4、产生消息,创建消息生产者

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

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

 

6、查看Topic消息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
wzj@wzj-ThinkPad-T61:~/kafka/kafka_2.11-1.0.0$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
Topic: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
版权声明:本文为博主原创文章,转载请附上博文链接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章