Kafka 集群部署之前需要部署Zookeeper集群,关于Zookeeper集群的部署前面已经介绍过并且写了博客,需要了解的出门左拐就能看到 上篇文件介绍了Kafka的单机部署,讲了Kafka 集成Zookeeper部署及Zookeeper + Kafka 部署,还讲了Kafka的基本命令,本章节我们将一下 Kafka的集群部署。
1. 集群规划 ?? ?主机规划: ?? ??? ?10.200.3.85 ? Kafka-01 ?? ??? ?10.200.3.86 ? Kafka-02 ?? ??? ?10.200.3.87 ?Kafka-03 ?? ?软件下载:
#wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
#wget http://mirror.bit.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz
2. 基础配置 ?? ?2.1 配置hosts
?vi /etc/hosts
??? ?10.200.3.85 Kafka-01?
??? ?10.200.3.86 Kafka-02
??? ?10.200.3.87 Kafka-03
? ? 2.2 配置/etc/profile
vi /etc/profile
?? ?export KAFKA_HOME=/root/software/kafka_2.11-2.0.0
?? ?export PATH=$PATH:$KAFKA_HOME/bin
? ? 2.3 同步hosts及profile文件到其他机器节点 ?? ?2.4 使配置生效? ? ? ??
source /etc/profile
3. 集群安装 ?? ?1. 解压kafka ?? ?2. 修改server.properties
?vi server.properties
??? ?broker.id=154
??? ?host.name=10.200.3.85
??? ?listeners = PLAINTEXT://master:9092
??? ?log.dirs=/root/log/kafka ?? ??? ??? ??? ??? ??? ??? ??? ?//消息存放目录,并不是kafka系统日志
??? ?num.partitions=1
??? ?zookeeper.connect=master:2181,slave2:2181,slave3:2181?? ?//此处的master,slaver为zk集群的名称,zk集群可以同
kafka部署环境相同 ?? ?3. 同步kafka及配置文件到其他俩个节点,并且修改配置文件,修改方式与上面类似
scp -r kafka_2.12-1.1.0/ 10.200.3.86:/usr/local/
scp -r kafka_2.12-1.1.0/ 10.200.3.87:/usr/local/
4. 集群操作命令 ?? ?kafka单机和集群命令操作有少许不同,不过只要理解了kafka单机命令,集群的自然而然就熟悉了 ?? ?启动服务? ? ? ??
bin/kafka-server-start.sh config/server.properties &
? ? 停止服务? ? ? ??
bin/kafka-server-stop.sh
? ? 创建topic? ? ? ??
bin/kafka-topics.sh --create --zookeeper Kafka-01:2181, Kafka-02:2181, Kafka-03:2181 --replication-factor 3 --partitions 3 --topic test
? ? 显示topic? ? ? ?
?bin/kafka-topics.sh --describe --zookeeper Kafka-01:2181, Kafka-02:2181, Kafka-03:2181 --topic test
? ? 列出topic? ? ? ??
bin/kafka-topics.sh --list --zookeeper Kafka-01:2181, Kafka-02:2181, Kafka-03:2181
? ? 创建生产者? ? ? ??
bin/kafka-console-producer.sh --broker-list Kafka-01:9092 -topic test
? ? 创建消费者? ? ? ?
?bin/kafka-console-consumer.sh --zookeeper Kafka-01:2181, Kafka-02:2181, Kafka-03:2181 -topic test --from-beginning
? ? 删除topic? ? ? ??
bin/kafka-topics.sh --delete --zookeeper Kafka-01:2181, Kafka-02:2181, Kafka-03:2181 --topic test