Kafka安装部署(快速上手)

官网:http://kafka.apache.org
下载地址:http://kafka.apache.org/downloads
选择自己想要的版本:
Kafka安装部署(快速上手)_第1张图片

集群安装

安装kafka之前的准备:Java 8 Zookeeper

  1. 解压安装包
tar -zxvf  kafka_2.12-3.1.0.tgz -C /home/app/
  1. 添加KAFKA_HOME到环境变量(~/.bash_profile)
export KAFKA_HOME=/home/app/kafka_2.12-3.1.0
export PATH=$KAFKA_HOME/bin:$PATH
//使配置生效:
source ~/.bash_profile
  1. 修改配置文件
    先在 /home/app/kafka_2.12-3.1.0 目录下创建 kafka-logs 文件夹
cd $KAFKA_HOME/config
vi server.properties  

以下是 server.properties 文件内容,有的需要自己改

//broker 的全局唯一编号,不能重复
broker.id=0
//删除 topic 功能使能
delete.topic.enable=true
//处理网络请求的线程数量
num.network.threads=3
//用来处理磁盘 IO 的现成数量
num.io.threads=8
//发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
//接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
//请求套接字的缓冲区大小
socket.request.max.bytes=104857600
//kafka 运行日志存放的路径
log.dirs=/home/app/kafka_2.12-3.1.0/kafka-logs
//topic 在当前 broker 上的分区个数
num.partitions=1
//用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
//segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
//配置连接 Zookeeper 集群地址
zookeeper.connect=hadoop101:2181,hadoop102:2181,hadoop103:2181 //这里可以看我的Zookeeper集群配置 https://blog.csdn.net/weixin_43330944/article/details/122928816

分别在 hadoop102 和 hadoop103 上修改配置文件/home/app/kafka_2.12-3.1.0/config/server.properties
中的 broker.id=1、broker.id=2
注:broker.id 不得重复

  1. 开启/停止kafka
    需要一台台服务器输入以下命令:
//启动Kafka:
kafka-server-start.sh  -daemon $KAFKA_HOME/config/server.properties
//关闭kafka
kafka-server-stop.sh stop
  1. Kafka命令行操作命令
//查看当前服务器中的所有 topic
kafka-topics.sh --zookeeper hadoop102:2181 --list

//创建Topic:
kafka-topics.sh --create --zookeeper hadoop101:2181 --replication-factor 1 --partitions 1 --topic student
//选项说明:
--topic  定义 topic 名
--replication-factor    定义副本数
--partitions    定义分区数
//删除Topic 需要 server.properties中设置 delete.topic.enable=true 否则只是标记删除。
kafka-topics.sh --delete --zookeeper hadoop102:2181 --topic student

//创建生产者(发送消息):
kafka-console-producer.sh --broker-list hadoop101:9092 --topic student
//创建消费者:
//使用bootstrap-server,则consumer的信息将会存放在kafka之中,而kafka的端口号为9092
kafka-console-consumer.sh --bootstrap-server hadoop101:9092 --topic student
//使用zookeeper,则consumer的信息将会存放在zookeeper之中,而zookeper的端口号为2181
kafka-console-consumer.sh --zookeeper hadoop101:2181 --topic student
//--from-beginning:会把主题中以往所有的数据都读取出来。
kafka-console-consumer.sh --bootstrap-server hadoop101:9092 --from-beginning --topic student

//查看某个Topic的详情
kafka-topics.sh --zookeeper hadoop101:2181 --describe --topic student
//修改分区数
kafka-topics.sh --zookeeper hadoop101:2181 --alter --topic student --partitions 6

你可能感兴趣的:(环境安装,kafka,java,zookeeper)