Kafka 安装及简单命令使用

本文详细介绍了Kafka单机版的安装步骤,包括环境搭建、Zookeeper启动、Kafka服务启动及基本命令使用。并通过Java实现生产者与消费者的连接测试,适合初学者快速上手。

前言

上篇文章讲解了 Kafka 的基础概念和架构,了解了基本概念之后,必须得实践一波了,所谓“实践才是检验真理的唯一办法”,后续系列关于 Kafka 的文章都以 kafka_2.11-0.9.0.0 为例;另外为了让大家快速入门,本文只提供单机版的安装实战教程,如果有想尝试集群方案的,后面在出一篇集群安装的教程,废话不多说了,直接开干。

安装

1. 下载

版本号:kafka_2.11-0.9.0.0

下载地址:http://kafka.apache.org/downloads

2. 安装

# 安装目录
$ pwd
/Users/my/software/study

# 减压
$ sudo tar -zxvf kafka_2.11-0.9.0.0.tgz

# 重命名
$ sudo mv kafka_2.11-0.9.0.0.tgz kafka-0.9

# 查看目录结构
$ cd kafka-0.9 && ls
LICENSE   NOTICE    bin       config    libs      site-docs

# 目录结构介绍:
# bin: 			存放kafka 客户端和服务端的执行脚本
# config:		存放kafka的一些配置文件
# libs:			存放kafka运行的的jar包
# site-docs:	存放kafka的配置文档说明

# 配置环境变量,方便在任意目录下运行kafka命令
# 博主使用的Mac,所以配置在了 ~/.bash_profile文件中,
# Linux中则配置在 ~/.bashrc 或者  ~/.zshrc文件中
$ vim ~/.bash_profile

export KAFKA_HOME=/Users/haikuan1/software/study/kafka-0.9
export PATH=$PATH:$JAVA_HOME:$KAFKA_HOME/bin

# 使得环境变量生效
$ source ~/.bash_profile

3.运行

3.1 启动 zookeeper
# 启动zookeeper,因为kafka的元数据需要保存到zookeeper中
$ bin/zookeeper-server-start.sh config/zookeeper.properties

# 若出现如下信息,则证明zookeeper启动成功了
[2020-04-25 16:23:44,493] INFO Server environment:user.dir=/Users/haikuan1/software/study/kafka-0.10 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,505] INFO tickTime set to 3000 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,505] INFO minSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,505] INFO maxSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,548] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
3.2 启动 Kafka server
# 以守护进程的方式启动kafka服务端,去掉 -daemon 参数则关闭当前窗口服务端自动退出
$ bin/kafka-server-start.sh -daemon config/server.properties
3.3 kafka 基础命令使用
# 1. 创建一个topic
# --replication-factor:指定副本个数
# --partition:指定partition个数
# --topic:指定topic的名字
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic mytopic

# 2. 查看创建成功的topic
$ kafka-topics.sh --list --zookeeper localhost:2181

# 3. 创建生产者和消费者

# 3.1 启动kafka消费端
# --from-beginning:从头开始消费,该特性也表明kafka消息具有持久性
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic mytopic --from-beginning

# 3.2 启动kafka生产端
# --broker-list:当前的Broker列表,即提供服务的列表
$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic

生产者消费者效果图

4.使用 Java 连接 kafka 进行测试

4.1 创建一个 maven 工程,引入如下 pom 依赖
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>0.9.0.0</version>
</dependency>

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>0.9.0.0</version>
</dependency>
4.2 消费者端代码
消费者端代码
4.3 生产者端代码
生产者端代码

4.4 消费者端效果图

5.总结

本文介绍了 kafka 单机版安装及简单命令使用,然后使用 Java 实现了生产者和消费者的简单功能,虽然内容可能比较简单,但还是强烈建议大家手动去实践一下,从而对 kafka 的架构有一个更深入的理解。下篇文章我们来介绍一下 Kafka 消息发送及其背后的原理,敬请期待。

Kafka是什么?一起来看看吧!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值