kafka集群搭建与使用
安装前的环境准备
由于Kafka是用Scala语言开发的,运行在JVM上,因此在安装Kafka之前需要先安装JDK。
kafka依赖zookeeper,所以需要先安装zookeeper (zookpeer我上面的文章有介绍如何安装)
下载:
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/0.11.0.2/kafka_2.11-0.11.0.2.tgz
tar -zxvf kafka_2.11-1.1.0.tgz
cd kafka_2.11-1.1.0
修改配置文件 vim config/server.properties
192.30.43.180 192.30.43.181 另外两台也修改这十三个地方就行
broker.id=0 该节点为唯一 相当如,集群中的编号
listeners=PLAINTEXT://localhost:9092 监听端口 默认是9092
log.dirs=/usr/local/app/kafka_2.11/data 存储文件的路径
zookeeper 配置
启动服务(kafka-server-start.sh [-daemon] server.properties)
bin/kafka-server-start.sh -daemon config/server.properties
我们进入zookeeper目录通过zookeeper客户端查看下zookeeper的目录树
创建一个新的topic,备份因子设置为3
./kafka-topics.sh --create --zookeeper 172.30.50.214:2181 --replication-factor 3 --partitions 1 --topic topic-replica
查看broker 分区
解释:
第一行是所有分区的概要信息,之后的每一行表示每一个partition的信息。因为目前我们只有一个partition,因此关于partition的信息只有一行。
- leader节点负责给定partition的所有读写请求。
- replicas 表示某个partition在哪几个broker上存在备份。不管这个几点是不是”leader“,甚至这个节点挂了,也会列出。
- isr 是replicas的一个子集,它只列出当前还存活着的,并且备份了该partition的节点。
发送消息(producer)
./kafka-console-producer.sh --broker-list 172.30.50.214:9092 --topic topic-replica
消费消息()
./kafka-console-consumer.sh --bootstrap-server 172.30.50.214:9092 --from-beginning --topic topic-replica
至此搭建完毕,未完待续。。。。。。