官网:http://kafka.apache.org
下载地址:http://kafka.apache.org/downloads
选择自己想要的版本:
安装kafka之前的准备:Java 8 Zookeeper
解压安装包tar -zxvf kafka_2.12-3.1.0.tgz -C /home/app/
添加KAFKA_HOME到环境变量(~/.bash_profile)export KAFKA_HOME=/home/app/kafka_2.12-3.1.0export PATH=$KAFKA_HOME/bin:$PATH//使配置生效:source ~/.bash_profile
修改配置文件先在 /home/app/kafka_2.12-3.1.0 目录下创建 kafka-logs 文件夹
cd $KAFKA_HOME/configvi 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 不得重复
需要一台台服务器输入以下命令:
//启动Kafka:kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties//关闭kafkakafka-server-stop.sh stop
Kafka命令行操作命令//查看当前服务器中的所有 topickafka-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的端口号为9092kafka-console-consumer.sh --bootstrap-server hadoop101:9092 --topic student//使用zookeeper,则consumer的信息将会存放在zookeeper之中,而zookeper的端口号为2181kafka-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