搭建Linux服务器kafka环境

1,062 阅读2分钟

Linux服务器安装kafka

基本概念

  • 安装kafka之前,首先要确保服务器环境中安装了JDKzookeeper

安装包下载

wget https://downloads.apache.org/kafka/2.6.0/kafka_2.13-2.6.0.tgz

创建安装目录

  • 创建kafka安装目录:
cd DATA
mkdir kafka

解压安装包

  • 将下载完成的kafka安装包保存到创建的kafka目录中
  • 解压kafka安装包到kafka目录:
tar -zxvf kafka_2.13-2.6.0.tgz

配置kafka

  • 进入kafka目录
  • 进入kafkaconfig配置目录
  • 配置kafkaserver.properties配置文件
cd kafka_2.13-2.6.0
cd config
vi server.properties
broker.id=0
# 端口号
port=9092
# 主机地址,如果是单机可以直接使用127.0.0.1
host.name=127.0.0.1
# 日志存放路径
log.dirs=/DATA/kafka/kafka_2.13-2.6.0/log
# 关联的zookeeper的地址和端口,如果是单机可以直接使用127.0.0.1
zookeeper.connect=127.0.0.1:2181
  • 配置kafkazookeeper.properties配置文件
vi zookeeper.properties
# zookeeper数据目录
dataDir=/DATA/kafka/kafka_2.13-2.6.0/zookeeper/data/dataDir
# zookeeper日志目录
dataLogDir=/DATA/kafka/kafka_2.13-2.6.0/zookeeper/data/dataLogDir
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10

启动kafka

  • 启动kafka之前需要首先启动zookeeper. 可以创建批量启动脚本:
vi startKafka.sh
# 启动zookeeper
/DATA/kafka/kafka_2.13-2.6.0/bin/zookeeper-server-start.sh /DATA/kafka/kafka_2.13-2.6.0/config/zookeeper.properties &
# 默认等待2秒
sleep 2
# 启动kafka
/DATA/kafka/kafka_2.13-2.6.0/bin/kafka-server-start.sh /DATA/kafka/kafka_2.13-2.6.0/config/server.properties &
# 添加脚本执行权限
chmod +x startKafka.sh
  • 启动zookeeper:
zkserver.sh start
  • 执行脚本,启动kafka:
startKafka.sh

验证kafka

验证主题topic

  • kafkabin目录下执行创建topic命令:
kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partion 1 --topic topic名称
  • kafkabin目录下执行查询topic的命令:
kafka-topics.sh --list --zookeeper 127.0.0.1:2181
  • kafkabin目录下执行删除topic的命令:
kafka-topics.sh --delete --zookeeper 127.0.0.1:2181 --topic topic名称

验证生产者producer

  • kafkabin目录下执行启动生产者producer的命令:
kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic topic名称

验证消费者consumer

  • kafkabin目录下执行启动消费者consumer的命令:
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic topic名称 --from-beginning

关闭kafka

  • 可以创建关闭kafka脚本:
vi stopKafka.sh
# 关闭kafka
/DATA/kafka/kafka_2.13-2.6.0/bin/kafka-server-stop.sh /DATA/kafka/kafka_2.13-2.6.0/config/server.properties &
# 关闭zookeeper
/DATA/kafka/kafka_2.13-2.6.0/bin/zookeeper-server-stop.sh /DATA/kafka/kafka_2.13-2.6.0/config/zookeeper.properties &
  • 执行脚本,关闭kafka:
stopKafka.sh
  • 一定要先关闭kafka然后再关闭zookeeper. 否则会导致kafka一直连接zookeeper服务而进入死循环
  • 如果kafka进入死循环后则无法关闭需要将kafka服务进程强制杀掉