本次kafka 集群搭建的服务器,是从阿里云购买的服务器。记好自己的公网IP
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写,是一种高吞吐量的分布式发布订阅消息系统。由于负载能力高,存储容量大,通常被我们用在大规模的日志收集和处理上,下面就来说说如何构建Kafka集群。
由于kafka强依赖于zookeeper,所以需先搭建好zookeeper集群。由于zookeeper是由java编写的,需运行在jvm上,所以首先应具备java环境。
1.下载kafka
在自己指定目录下执行命令:
wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz
下载成功之后解压:
tar -zxvf kafka_2.11-1.1.0.tgz
2.配置kafka
进入kafka的config目录
修改server.properties内容如下
broker.id=0
log.dirs=/tmp/kafka-logs
listeners=PLAINTEXT://0.0.0.0:9092
advertised.host.name=公网IP
advertised.port=9092
复制server.properties重命名为server2.properties
修改server2.properties内容如下
broker.id=1
log.dirs=/tmp/kafka-logs2
listeners=PLAINTEXT://0.0.0.0:9093
advertised.host.name=公网IP
advertised.port=9093
复制server.properties重命名为server3.properties
修改server3.properties内容如下
broker.id=2
log.dirs=/tmp/kafka-logs3
listeners=PLAINTEXT://0.0.0.0:9094
advertised.host.name=公网IP
advertised.port=9094
3.启动kafka
编写脚本 start
cd kafka全路径/bin/
./kafka-server-start.sh ../config/server.properties &
./kafka-server-start.sh ../config/server2.properties &
./kafka-server-start.sh ../config/server3.properties &
执行start
执行jps 出现以下情况说明执行成功
8868 Kafka
1350 QuorumPeerMain
10679 QuorumPeerMain
11880 Kafka
10649 QuorumPeerMain
12793 Kafka
14511 Jps
4.测试
创建Topic
sh kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-topic
查看kafka状态
sh kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
出现以下情况说明成功:
Topic:my-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-topic Partition: 0 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2
启动生产者
sh kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic
hello world!
启动消费者
sh kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-topic
出现了上面写的hello world! 执行成功
[root@iZ2ze4wjj6hoeha056v84yZ bin]# sh kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-topic
hello world!