集群搭建软件环境:
- JDK: java version 1.8.0_121
- https://blog.csdn.net/weixin_42253523/article/details/103106684
- zookeeper:zookeeper-3.4.9
- https://blog.csdn.net/weixin_42253523/article/details/103106909
- kafka: kafka-2.10-0.10.2.0
首先,在zookeeper安装完成后,登录官方网站下载搭建环境所需的压缩包kafka-2.10-0.10.2.0.tgz:
http://kafka.apache.org/downloads
然后将该包解压到你需要安装的目录下:
tar -zxvf kafka-2.10-0.10.2.0.tgz
解压完成需要修改kafka配置文件
kafka_2.12-1.0.0/config/server.properties
配置内容如下:
############################# Server Basics #############################
broker.id=0
# 在启动broker时候开启删除topic的开关,默认是关闭(false)的
delete.topic.enable=true
############################# Socket Server Settings #############################
# 地址配kafka安装本机IP(比如192.168.3.117)
listeners=PLAINTEXT://192.168.3.117:9092
# 地址配kafka安装本机IP(比如192.168.3.117)
advertised.listeners=PLAINTEXT://192.168.3.117:9092
# 地址配kafka安装本机IP(比如192.168.3.117)
host.name=127.0.0.1
port=9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
############################# Log Basics #############################
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings #############################
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
############################# Log Retention Policy #############################
log.retention.hours=168
log.retention.hours.
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
############################# Zookeeper #############################
zookeeper.connect=127.0.0.1:2181
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0
其中,主要修改:
- broker.id 该参数是kafka集群中每一个broker的唯一标识,用int型表示;
- delete.topic.enable: 该选项用来表示对topic进行删除操作时是否立刻生效,如果设置为true则立刻生效。默认该选项被注销;
- host.name: 配置broker的IP地址,即该台服务器的IP地址;
- port:配置该broker与客户端、与其他broker、与zookeeper通信的端口地址;
- log.dirs: 配置broker日志存储地址;
- zookeeper.connect: broker需要向zookeeper注册自己的信息,以便整个集群知道自己的存在;
- zookeeper.connection.timeout.ms:与zookeeper连接时间,如果在该时间内没有与zookeeper连接成功,则该broker就不会被添加到kafka集群中。
- listeners=PLAINTEXT://192.168.3.117:9092
到这里kafka就搭建完成。
然后启动kafka,在启动kafka前先启动zookeeper,还有就是设置kafka,bin目录下文件的可执行权限
chmod 777 文件
进入kafka安装目录
启动kafka :bin/kafka-server-start.sh config/server.properties &
查看启动端口zookeeper和kafka:netstat -tunlp|egrep "(2181|9092)"
然后创建topic(goods)
./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --topic goods --partitions 1 --replication-factor 1
用自带的客户端发送消息:
./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic my-first-topic
tist 1
使用自带的客户端就是消息:
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic my-first-topic --from-beginning
提示,先打开接收消息对列,后发送消息。
关闭kafka
kill -s TERM $(jps -l | grep 'kafka\.Kafka' | awk '{print $1}')
kafka官网文档: