kafka安装

kafka单机安装

下载地址:
记住 千万不能下载源码,下载编译过的
在这里插入图片描述

将kafka上传到 Linux里面并解压,kafka需要JDK的环境。

解压kafka
tar -zxvf kafka_2.12-2.2.0.tgz

重命名
mv kafka_2.12-2.2.0 kafka

配置config下面的server.properties文件

broker.id=1    改为1

增加ip映射,如果不增加就是locahost。这样没办法使用java连接
host.name=192.168.100.129

在这里插入图片描述

kafka的一些基本命令

#启动zk
bin/zookeeper-server-start.sh  config/zookeeper.properties 

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

#启动Producer
bin/kafka-console-producer.sh --broker-list 192.168.100.129:9092 --topic test

#启动Consumer
bin/kafka-console-consumer.sh --bootstrap-server 192.168.100.129:9092 --topic test --from-beginning


#创建topic
bin/kafka-topics.sh --create --zookeeper 192.168.100.129:2181 --replication-factor 1 --partitions 1 --topic test

bin/kafka-topics.sh --create --zookeeper 192.168.100.129:2181 --replication-factor 1 --partitions 3 --topic test1 --config max.message.bytes=1048576 --config     segment.bytes=10485760

#查看topic列表
bin/kafka-topics.sh --list --zookeeper 192.168.100.129:2181

#topic的信息
bin/kafka-topics.sh --describe --zookeeper 192.168.100.129:2181 --topic test
bin/kafka-topics.sh --describe --topics-with-overrides --zookeeper 192.168.100.129:2181 --topic test

#修改主题
bin/kafka-topics.sh --zookeeper 192.168.100.129:2181  --alter --topic test  --config max.message.bytes=1048576

#增加分区  主题的分区只能增加、不能减少
bin/kafka-topics.sh --zookeeper 192.168.100.129:2181 --alter --topic test --partitions 2

#删除主题
bin/kafka-topics.sh --zookeeper 192.168.100.129:2181 --delete --topic test

在这里插入图片描述
在这里插入图片描述

docker安装kafka

//安装zookeeper
docker pull wurstmeister/zookeeper 
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
//docker exec -it zookeeper /bin/sh
//zookeeper的启动脚本都在bin目录
    
 //安装kafka
docker pull wurstmeister/kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=IP:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
//IP为虚拟机的IP地址
//-e KAFKA_BROKER_ID=0  在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
//-e KAFKA_ZOOKEEPER_CONNECT=IP:2181/kafka 配置zookeeper管理kafka的路径
//-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092  把kafka的地址端口注册给zookeeper
//-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
//-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

//验证是否成功
//进入容器
docker exec -it kafka /bin/bash
//进入路径/opt/kafka/bin 创建topic
kafka-topics.sh --create --zookeeper IP:2181/kafka --topic test --replication-factor 1 --partitions 2

集群安装

  1. zookeeper集群
  2. kafak下载
  3. 解压、复制
tar -zvxf kafka_2.11-2.3.0.tgz
mv kafka_2.11-2.3.0/ kafka1/
cp -r kafka1/   kafka2/
cp -r kafka1/   kafka3/

4.kakfa配置参数详解

参数说明
delete.topic.enable=true是否允许删除topic,默认false不能手动删除
broker.id=0当前机器在集群中的唯一标识,和zookeeper的myid性质一样
listeners = PLAINTEXT://192.168.100.151:9092当前kafka服务侦听的地址和端口,端口默认是9092
num.network.threads=3这个是borker进行网络处理的线程数
num.io.threads=8这个是borker进行I/O处理的线程数
socket.send.buffer.bytes=102400发送缓冲区buffer大小,数据不是一下子就发送的,先会存储到缓冲区到达一定的大小后在发送,能提高性能
socket.receive.buffer.bytes=102400kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.request.max.bytes=104857600这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
log.dirs=消息日志存放的路径
num.partitions=1默认的分区数,一个topic默认1个分区数
num.recovery.threads.per.data.dir=1每个数据目录用来日志恢复的线程数目
log.retention.hours=168默认消息的最大持久化时间,168小时,7天
log.segment.bytes=1073741824这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.retention.check.interval.ms=300000每隔300000毫秒去检查上面配置的log失效时间
log.cleaner.enable=false是否启用log压缩,一般不用启用,启用的话可以提高性能
zookeeper.connect=node1:2181,node2:2181,node3:2181设置zookeeper的连接端口
broker.id=0当前机器在集群中的唯一标识,和zookeeper的myid性质一样
zookeeper.connection.timeout.ms=6000设置zookeeper的连接超时时间

5.修改kafka的配置文件

节点1
broker.id=0
listeners=PLAINTEXT://192.168.100.151:9092
log.dirs=/yangk/kafka/kafka1/logs
zookeeper.connect=192.168.100.151:2181,192.168.100.151:2182,192.168.100.151:2183

节点2
broker.id=1
listeners=PLAINTEXT://192.168.100.151:9093
log.dirs=/yangk/kafka/kafka2/logs
zookeeper.connect=192.168.100.151:2181,192.168.100.151:2182,192.168.100.151:2183

节点3
broker.id=2
listeners=PLAINTEXT://192.168.100.151:9094
log.dirs=/yangk/kafka/kafka3/logs
zookeeper.connect=192.168.100.151:2181,192.168.100.151:2182,192.168.100.151:2183

6.启动kafka
先启动zookeeper集群。然后到每个kafka的目录下启动kafka

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值