kafka下载及集群配置创建
介绍
官网:http://kafka.apache.org/
Kafka用于构建实时数据管道和流应用程序。它是横向可扩展的,容错的,
镜像地址: http://mirrors.aliyun.com/apache/kafka/2.5.0/
2.单机
随机选择一台服务器把kafka传上去:node7-2
命令列表:
解压: tar -xzf kafka_2.12-2.5.0.tgz
重命名:mv kafka_2.12-2.5.0 kafka
删除tar包:rm -rf kafka_2.12-2.5.0.tgz
3.启动zookeeper:
4.启动服务器:nohup bin/kafka-server-start.sh config/server.properties &
5.创建一个主题:bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic kafka-hw
6.查看主题列表:bin/kafka-topics.sh --list --bootstrap-server localhost:9092
7.描述主题:bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic kafka-hw
8.创建生产者:bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic kafka-hw
9.创建一个消费者:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafka-hw
10.从头开始读:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafka-hw --from-beginning
3.集群
- 先启动zookeeper
- 在四台机器上分别都装上kafka
-
把node7-1上的kafka复制到三台电脑上
-
配置文件:config/server.properties
(1)#第一台kafa的broderid都不能一样 broker.id=0
(2)# 日志的目录千万不要写到tmp下面;
log.dirs=/data/kafka/data/kafka-logs
(3)# zookeepr;要配置上自己的zookeeper集群
zookeeper.connect=node7-1:2181,node7-2:2181,node7-3:2181
5.在四台电脑上同时启动4个kafka:nohup bin/kafka-server-start.sh config/server.properties &
6.先创建一个主题:bin/kafka-topics.sh --create --zookeeper node7-1:2181,node7-2:2181,node7-3:2181 --replication-factor 1 --partitions 1 --topic test
bin/kafka-topics.sh --create --bootstrap-server node7-1:9092,node7-2:9092,node7-3:9092,node7-4:9092 --replication-factor 1 --partitions 1 --topic test1
7.查看主题:bin/kafka-topics.sh --list --bootstrap-server node-1:9092,node-2:9092,node-3:9092,node-4:9092
8.发送一些消息(生产者):bin/kafka-console-producer.sh --broker-list node7-1:9092,node7-2:9092,node7-3:9092,node7-4:9092 --topic test-clus
9.再启动一个消费者:bin/kafka-console-consumer.sh --bootstrap-server node7-1:9092,node7-2:9092,node7-3:9092,node7-4:9092 --topic test
10.从头开始读:bin/kafka-console-consumer.sh --bootstrap-server node7-1:9092,node7-2:9092,node7-3:9092,node7-4:9092 --topic test1 --from-beginning
11.描述主题:bin/kafka-topics.sh --describe --zookeeper node7-1:2181,node7-2:2181,node7-3:2181 --topic test
12.删除一个topic:bin/kafka-topics.sh --delete --zookeeper node7-1:2181,node7-2:2181,node7-3:2181
其他
- 创建主题--多分区多副本:bin/kafka-topics.sh --create --zookeeper node-1:2181,node-2:2181,node-3:2181 --replication-factor 3 --partitions 2 --topic multi-test
- 描述主题:bin/kafka-topics.sh --describe --zookeeper node-1:2181,node-2:2181,node-3:2181 --topic multi-test
4.创建的主题一定得是多个分区,多个副本数,
- 描述主题:bin/kafka-topics.sh --describe --zookeeper node-1:2181,node-2:2181,node-3:2181 --topic multi-test
启动生产者和消费者:bin/kafka-console-producer.sh --broker-list node-1:9092,node-2:9092,node-3:9092,node-4:9092 --topic multi-testbin/kafka-console-consumer.sh --bootstrap-server node-1:9092,node-2:9092,node-3:9092,node-4:9092 --topic multi-test --from-beginning
bin/kafka-console-consumer.sh --bootstrap-server node-1:9092,node-2:9092,node-3:9092,node-4:9092 --topic multi-test --from-beginning
杀死领导者,leader会变成另外一个,不影响我们的使用