Centos7 安装kafka集群

软件版本

kafka_2.12-2.1.1

下载地址:

https://kafka.apache.org/downloads

1.安装zookeeper集群

 

2.将kafka下载完成后的安装包上传机器地址(地址自己定)

我的上传地址

/usr/local/

  

3.解压Kafka

cd /usr/local/

tar -zxvf kafka_2.12-2.1.1.tgz

mv kafka_2.12-2.1.1  kafka

4.创建日志文件 (可以选做,Kafka有自己默认的日志地址) 

 cd kafka

mkdir -p kafka-logs

5.编辑Kafka启动配置文件

# 唯一标识在集群中的ID
broker.id=1
# broker 服务器要监听的地址及端口
listeners = PLAINTEXT://192.168.0.166:9092
# 处理网络请求的最大线程数
num.network.threads=3

# 处理I/O请求的线程数
num.io.threads=8

#发送缓冲区buffer大小,数据不是一下子就发送的,先会存储到缓冲区到达一定的大小后在发送,能提高性能
socket.send.buffer.bytes=102400

# kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.receive.buffer.bytes=102400

# 这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
socket.request.max.bytes=104857600

# 消息日志存放的路径
log.dirs=/usr/local/kafka/kafka-logs

# 默认的分区数,一个topic默认1个分区
num.partitions=1

# 启停时做日志恢复每个目录所需的线程数,采用RAID的时候可以增大该值
num.recovery.threads.per.data.dir=1


# 副本数或备份因子
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.segment.bytes=1073741824
log.retention.check.interval.ms=300000

############################# Zookeeper #############################

# Zookeeper 集群.
zookeeper.connect=192.168.0.166:2181,192.168.0.165:2181,192.168.0.167:2181

# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000


############################# Group Coordinator Settings #############################
# 在开发测试环境下该值设置为0,保证启动后马上可以使用。但在生产环境下,可以自己选择一个适合时间单位毫秒(推荐3000-5000) group.initial.rebalance.delay.ms=0

  我的主要配置是三项日志地址可以选做默认也可以:

broker.id=1
listeners = PLAINTEXT://192.168.0.166:9092
log.dirs=/usr/local/kafka/kafka-logs
zookeeper.connect=192.168.0.166:2181,192.168.0.165:2181,192.168.0.167:2181

  还有一些其他的配置可以设置

# 在开发测试环境下该值设置为0,保证启动后马上可以使用。但在生产环境下,默认值3秒更适合
group.initial.rebalance.delay.ms=3000
# 默认为true,启用删除主题。如果此配置已关闭,则通过管理工具删除主题将不起作用
delete.topic.enable=true
# 允许自动创建topic
auto.create.topics.enable=true
# 消息体的最大大小,单位是字节
message.max.byte=5242880
# 单个topic默认分区的replication个数,不能大于集群中broker的个数。
default.replication.factor=3
# replicas每次获取数据的最大字节数
replica.fetch.max.bytes=5242880
# 这个是对外提供的地址 , 当client请求到kafka时, 会分发这个地址
advertised.listeners=PLAINTEXT://192.168.0.166:9092

 6.将kafka拷贝到其他两台机器 (使用命令最方便使用其他的工具也可以)

scp -r /usr/local/kafka root@192.168.0.165:/usr/local

scp -r /usr/local/kafka root@192.168.0.167:/usr/local

  注意:如果是拷贝到其他两台的一定要修改的Kafka启动配置的文件

broker.id=2
listeners = PLAINTEXT://192.168.0.165:9092

broker.id=3
listeners = PLAINTEXT://192.168.0.167:9092

  7.启动(三台机器分别启动,友情提示一下zookeeper集群一定要在Kafka启动之前启动)

cd /usr/local/kafka/bin/

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

  8.验证 (有Kafka了证明启动没有问题)

[root@192 bin]# jps
3973 Jps
1958 QuorumPeerMain
2535 Kafka

  9.常使用的Kafka几个命令

查看集群状态:./kafka-topics.sh --describe --zookeeper 192.168.0.165:2181,192.168.0.166:2181,192.168.0.167:2181

查看主题列表:./kafka-topics.sh --list --zookeeper 192.168.0.165:2181,192.168.0.166:2181,192.168.0.167:2181

创建主题和消息:./kafka-console-producer.sh --broker-list 192.168.0.165:9092,192.168.0.166:9092,192.168.0.167:9092 --topic test

订阅主题和消息:./kafka-console-consumer.sh --bootstrap-server 192.168.0.165:9092,192.168.0.166:9092,192.168.0.167:9092 --topic test --from-beginning

删除主题及消息:./kafka-topics.sh  --delete --zookeeper 192.168.0.165:2181,192.168.0.166:2181,192.168.0.167:2181  --topic test

  10.安装kafka-manager(在其中一台安装执行,偏向于对kafka集群的管理,可不安装)(我没有安装)

    kafka-manager下载地址:https://github.com/yahoo/kafka-manager

 

posted @ 2022-08-13 16:37  慕容天白  阅读(97)  评论(0编辑  收藏  举报