首页 > 学院 > 开发设计 > 正文

kafak集群搭建与使用

2019-11-06 09:00:49
字体:
来源:转载
供稿:网友

kafak集群搭建与使用

1. kafka下载和依赖

官网下载地址:[KAFKA]: http://kafka.apache.org/downloads.html

下载kafka_2.11-0.8.2.2.tgz 依赖编译环境JDK7+

2.解压和配置

tar -zxvf kafka_2.11-0.8.2.2.tgz

cd kafka_2.11-0.8.2.2

kafka目录结构和说明

bin 操作kafka的可执行脚本,也包含windows下bat脚本

config 配置文件所在目录

libs 依赖库目录

logs 服务日志数据目录

配置zookeeper(假设已经搭建了zookeeper服务)

cd kafka_2.11-0.8.2.2

vim config/server.PRoperties

修改属性zookeeper.connect=ip1:2181,ip2:2181说明:默认元数据信息存储在zk的consumer目录下,如果需要指定可zookeeper.connect=ip1:2181,ip2:2181/kafka

kafka 主要的四个配置:broker.id、log.dir、zookeeper.connect、port

broker.id 节点唯一ID标识,设置为自然数(从0开始递增即可)

log.dir log数据路径指定 默认路径:/tmp/kafka-logs

可指定磁盘 如:/opt/kafka/kafka-logs

zookeeper.connect 所依赖的zk服务连接地址

port kafka server端口,默认9092

log.retention.hours=168 说明kafka上元数据的保存时间 可以看做是TTL

其他参数可根据业务需求自行调试优化,可参考[Kafka Doc]:http://kafka.apache.org/documentation.html 说明

节点分发,组建kafka集群服务

scp kafka_2.11-0.8.2.2 目录到其他节点

3.kafka server服务启动与停止

启动服务: bin/kafka-server-start.sh config/server.properties &

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

停止服务: bin/kafka-server-stop.shps aux | grep kafka | awk '{print $2}' | xargs kill -9

4.kafka服务使用说明

创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 5 --topic test

说明: 创建了一个topic名字为:test replication为:2 partitions为:5

验证topic是否创建成功

bin/kafka-topics.sh --list --zookeeper localhost:2181

说明:列出集群中已经创建的所以topic

查看topic属性情况:

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

说明: 可查看topic 的分区和副本信息

命令行生产数据测试:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

命令行消费数据测试:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic test

修改topic参数:

bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic test --partitions 8 说明:增加 topic test的分区数量,kafka目前只接受分区数量增加,不支持减少,请合理慎重设置。

删除topic

./kafka-topics.sh --zookeeper localhost:2181 --delete --topic test 说明:topic 删除功能启动 需要server.properties 中设置: delete.topic.enable=true 重启kafka才会生效。此时并没有完全删除只是把相应topic的状态改为marked for deletion永久删除某个topic及数据: 删除kafka存储目录(server.properties文件log.dirs配置,默认为”/tmp/kafka-logs”)相关topic目录 删除zookeeper “/brokers/topics/”目录下相关topic节点 cd zookeeper安装目录 bin/zkCli.sh ls /brokers/topics/test rmr /brokers/topics/test rmr /admin/delete_topics/test

————– 更多高级玩法和扩展请看后续分解 —————–


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表