赞
踩
tar -xzvf kafka_2.12-2.0.0.tgz
# 解压后修改名称
mv kafka_2.12-2.0.0 kafka
cd /usr/local/kafka/config
# 修改配置文件
vim server.properties
#broker是全局唯一编号,不可重复,为正整数
broker.id=0
#删除 topic功能,默认为false
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=/tmp/kafka-logs
#topic在当前broker上的分区数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留最长时间,超时将被删除
log.retention.hours=168
#配置连接zookeeper集群地址
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
vim /etc/profile
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
可以参考xsync集群分发,当然也可以自己手动复制
cd /usr/local
xsync kafka/
#分发后记得修改/etc/profile配置文件
启动zookeeper集群步骤省略
可以在root目录下写一个群起脚本kafka-st.sh,代码如下:
#!/bin/bash case $1 in "start"){ for i in hadoop1 hadoop2 hadoop3 do echo "**************$i*************start" ssh $i "/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties" done };; "stop"){ for i in hadoop1 hadoop2 hadoop3 do echo "**************$i*************stop" ssh $i "/usr/local/kafka/bin/kafka-server-stop.sh" done };; esac
将文件赋权限,然后直接运行该文件即可
chmod 777 kafka-st.sh
./kafka-st.sh start
1)查看topic列表
[root@hadoop1 kafka]# bin/kafka-topics.sh --list --zookeeper hadoop1:2181
2)创建topic命令,依赖于zk,主题名称topicName,分区数2,副本数2
[root@hadoop1 kafka]# bin/kafka-topics.sh --create --zookeeper hadoop1:2181 --topic topicName --partitions 2 --replication-factor 2
3)查看某个topic详情
[root@hadoop1 kafka]# bin/kafka-topics.sh --describe --topic topicName --zookeeper hadoop1:2181
4)删除某个topic,注意如果要删除成功需要手动开启config/server.properties中删除主题的配置
[root@hadoop1 kafka]# bin/kafka-topics.sh --delete --zookeeper hadoop1:2181 --topic topicName
5)测试生产消费:启动生产者,消息者。demo中使用hadoop1服务生产消息,hadoop3服务消费消息
# hadoop1生产消息
[root@hadoop1 kafka]# bin/kafka-console-producer.sh --topic topicName --broker-list hadoop1:9092
# hadoop3消费消息(kafka版本0.9以前用此命令)
[root@hadoop3 kafka]# bin/kafka-console-consumer.sh --topic topicName --zookeeper hadoop1:9092
# hadoop3消费消息(kafka版本0.9以前用此命令)
[root@hadoop3 kafka]# bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092,hadoop2:9092,hadoop3:9092 --topic topicName --from-beginning
到这里kafka集群的安装搭建,基本使用就完成了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。