Kafka学习篇(二)——Kafka环境搭建

Kafka学习篇(二)——Kafka环境搭建

安装JDK

kafka需要JDK的支持,所以第一步是安装JDK。
安装JDK1.8

yum install -y java-1.8.0-openjdk.x86_64

安装完成后可以查看JDK版本

java -version

安装Kafka

下载kafka

1、到kafka的官网,去下载想用的kafka包:http://kafka.apache.org/downloads
2、由于项目对方要求使用kafka2.0.0所以下载的是kafka_2.11-2.0.0.tgz
3、将下载好的包上传到服务器并且解压,此处路径可以自定义,解压命令:

tar -zxvf kafka_2.11-2.0.0.tgz 

4、如果是windows也是同样的,解压kafka_2.11-2.0.0.tgz包到自己想要的目录下。

启动kafka

1、解压后如果不想修改默认配置可以直接运行即可使用kafka客户端
2、启动kafka先要启动zookeeper服务,进入刚刚解压后的kafka目录
linux版本:

sh bin/zookeeper-server-start.sh config/zookeeper.properties

windows版本,进入解压后的kafka目录cmd窗口:

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

3、启动kafka服务,还在刚刚的kafka解压后的目录
linux版本:

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

windows版本,进入解压后的kafka目录cmd窗口:

bin\windows\kafka-server-start.bat config\server.properties

4、有了启动怎么可以没有关闭
关闭zookeeper命令:

sh bin/zookeeper-server-stop.sh config/zookeeper.properties

关闭kafka命令:

sh bin/kafka-server-stop.sh config/server.properties

5、为了方便启动,我们创建启动快捷脚本,vi startkafka.sh,使用这个脚本就不需要启动zookeeper再启动kafka,脚本自动把两个服务都启动好,脚本中路径需要自行定义。

#!/bin/sh
#启动zookeeper
/app/kafka/kafka_2.11-2.0.0/bin/zookeeper-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/zookeeper.properties &

sleep 5 #等5秒后执行

#启动kafka
/app/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/server.properties &

6、为了方便关闭,我们创建关闭快捷脚本,vi stopkafka.sh,脚本中路径需要自行定义。

#!/bin/sh
#启动kafka
/app/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/server.properties &

sleep 3 #等3秒后执行

#启动zookeeper
/app/kafka/kafka_2.11-2.0.0/bin/zookeeper-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/zookeeper.properties &

7、有了启动/关闭脚本后只需要执行 sh startkafka.sh或者sh stopkafka.sh即可启动/关闭kafka以及zookeeper

Kafka命令

以下命令全部在kafka根目录下执行
1、创建topic

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

2、查看topic

sh bin/kafka-topics.sh --zookeeper localhost:2181 --list

3、删除topic

sh bin/kafka-topics.sh  --delete --zookeeper localhost:2181  --topic hello

4、创建生产者producer

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

5、另起创建消费者consumer

sh bin/kafka-console-consumer.sh  --bootstrap-server localhost:9092  --topic hello --from-beginning

6、此时在生产者窗口推送的内容能被消费者窗口中接收

Kafka配置

在服务器中搭建了Kafka后使用Java开发Kafka后报错

Exception thrown when sending a message with key='null' and payload='test1' to topic hello:

经过分析后发现是由于Kafka客户端配置问题导致,需要修改Kafka客户端配置的IP地址,修改listeners的ip地址, vi config/server.properties

listeners=PLAINTEXT://172.20.240.27:9092

advertised.listeners=PLAINTEXT://172.20.240.26:9092

重启后外网可以向服务器生产以及消费。
除此外zookeeper配置可以修改config/zookeeper.properties
kafaka配置可以修改config/server.properties
具体配置可以参考官方文档。比较常见的可以修改日志地址等内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值