kafka 单机版

下载安装

  • 下载 最新版的kafka软件
wget http://apache.opencas.org/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz
  • 解压缩
tar -xzf kafka_2.11-0.9.0.0.tgz

启动

首先要进入kafka目录

  • 启动zookeeper server(kafka自带的zookeeper)
bin/zookeeper-server-start.sh config/zookeeper.properties &

注意 & 号的使用:命令结尾添加 & 号,可以在执行完命令后退出当前命令环境却不会结束进程

  • 启动kafka server
bin/kafka-server-start.sh config/server.properties & 

创建主题

kafka生产和消费数据,必须基于主题topic。主题其实就是对消息的分类。

  • 创建主题:名称为“test”、复制数目为1、partitions为1的topic主题
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

replication-factor复制数目,提供failover机制;1代表只在一个broker上有数据记录,一般值都大于1,代表一份数据会自动同步到其他的多个broker,防止某个broker宕机后数据丢失。
partitions一个topic可以被切分成多个partitions,一个消费者可以消费多个partitions,但一个partitions只能被一个消费者消费,所以增加partitions可以增加消费者的吞吐量。kafka只保证一个partitions内的消息是有序的,多个一个partitions之间的数据是无序的。

  • 查看已经创建的主题
bin/kafka-topics.sh --list --zookeeper localhost:2181

启动生产者和消费者

生产者产生(输入)数据,消费者消费(输出)数据

  • 启动生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

启动后,在命令行下每输入一些字符串按下回车时,就作为一个消息并发送的kafka

  • 启动消费者
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

启动消费者时,建议另开一个ssh窗口,方便一遍通过生产者命令行输入消息,一遍观察消费者消费的数据

当在生产者下输入消息并回车后,在消费者窗口下就能立即看到对应的消息,这就说明环境搭建成功。

链接:https://www.jianshu.com/p/d310a7628852
 

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

百度网盘下载
链接:https://pan.baidu.com/s/1i-PviRc4im4Osa23EPRkqA
提取码:obr1

zookeeper下载(高版本的kafka安装包里面已经集成了zookeeper,本文还是采用外部的zookeeper)
https://zookeeper.apache.org/releases.html

百度网盘下载
链接:https://pan.baidu.com/s/1mOmiI0UXsPaeOBfv9tYFBg
提取码:b7zs

Zookeeper配置和启动

把安装包上传到opt目录并解压

  • tar zxvf kafka_2.12-2.5.0.tgz

  • tar zxvf apache-zookeeper-3.6.1-bin.tar.gz

Zookeeper配置和启动

  • 进入zookeeper的conf目录,将zoo-samples.cfg文件重命名为zoo.cfg:
    mv zoo-samples.cfg zoo.cfg

  • 编辑zoo.cfg文件:
    vi zoo.cfg

  • 我就直接贴出我的配置了

# zookeeper服务器心跳时间,单位为ms
tickTime=2000

# 投票选举新leader的初始化时间
initLimit=10

# leader与follower心跳检测最大容忍时间,响应超过tickTime * syncLimit, leader认为follower死掉, 从服务器列表中剔除该follower
syncLimit=5

# 数据目录
dataDir=/tmp/zookeeper/data

# 日志目录
dataLogDir=/tmp/zookeeper/log

# zookeeper对外服务端口
clientPort=2181

其中dataDir和dataLogDir分别配置数据目录和日志目录,这两个目录需要事先建好

  • 启动zookeeper
    ./bin/zkServer.sh start

  • 查看zookeeper状态
    ./bin/zkServer.sh status

Kafka配置和启动

进入kafka的config目录,编辑server.properties文件

主要需要配置的有:

  • broker.id

如果是集群的话,保证每个kafka实例的broker.id唯一

  • listeners

配置kafka对外提供服务的地址

  • log.dirs

kafka日志地址,需要先把目录建好

  • zookeeper.connect

kafka注册的zookeeper地址

启动kafka

./bin/kafka-server-start.sh -daemon config/server.properties

测试kafka启动没有

创建一个topic并制定分区和副本集

./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic topic-example --replication-factor 1 --partitions 1

创建消费者

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-example

创建生产者

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic-example

测试输入一些内容:

然后查看消费者是否有收到消息

ok,消费者也收到消息了!

查看topic详情

./bin/kafka-topics.sh --zookeeper localhost:2181/kafka --describe --topic topic-example

可以看到很多信息,比如分区数,分区副本数,ISR集合,是否leader等。。。

参考

https://weread.qq.com/web/reader/e9a32a0071848698e9a39b8k8f132430178f14e45fce0f7
https://www.cnblogs.com/alinainai/p/12951619.html
https://www.cnblogs.com/alinainai/p/12952227.html


链接:https://www.jianshu.com/p/ae259efbbc9b
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值