kafka集群
kafka集群
安装环境前准备:
jdk1.8
zookeeper(3台集群)【以下ip为虚假ip,为了方便观看】
192.168.31.143:2181
192.168.31.144:2182
192.168.31.145:2183
kafka对与zookeeper是强依赖的,是以zookeeper作为基础的,即使不做集群,也需要zk的支持。以下是kafka中必须要填写的配置文件,id为在zk中注册的brokerid,后者为要注册到的zookeeper的host和port。
解压这个包到指定目录下
tar -zxvf kafka_2.12-2.3.1.tgz -C /usr/local
或者移动到指定的文件下
mv kafka_2.12-2.3.1 /usr/local/
2. 重命名
#切换到目录下 cd /usr/local/ #把文件名改成 kafka cp -a kafka_2.12-2.3.1 kafka #删除原来的文件 rm -rf kafka_2.12-2.3.1
3.修改配置文件
#切换到指定目录 cd /usr/local/kafka/config
#修改server.properties vi server.properties
#最好先创建文件 mkdir -p /usr/local/kafka/logs
#这里的id最好和zookeeper的myid里面的内容一致 broker.id=1 #监听当前主机的ip+端口 listeners=PLAINTEXT://192.168.31.140:9092 #日志存储路径 log.dirs=/usr/local/kafka/logs #连接节点虚拟机的ip+端口 zookeeper.connect=192.168.31.143:2181,192.168.31.144:2182,192.168.31.145:2183
4. 启动:(注意启动之前需要先启动zookeeper)
# -daemon 后台启动 [root@localhost bin]# ./kafka-server-start.sh ../config/server.properties
创建一个拥有3个副本的topic
[root@bogon bin]# ./kafka-topics.sh --create --zookeeper 192.168.31.143:2181 --replication-factor 3 --partitions 1 --topic test Created topic test.
查看创建的topic列表
[root@bogon bin]# ./kafka-topics.sh --list --zookeeper 192.168.31.143:2181 test
查看对应的节点信息
[root@bogon bin]# ./kafka-topics.sh --describe --zookeeper 192.168.31.143:2181 --topic test Topic:test PartitionCount:1 ReplicationFactor:3 Configs: Topic: test Partition: 0 Leader: 3 Replicas:
3,2,1 Isr: 3,2,1
第一行是对所有分区的一个描述,然后每个分区都会对应一行,因为我们只有一个分区所以下面就只加了一行。 leader:负责处理消息的读和写,leader是从所有节点中随机选择的. replicas:列出了所有的副本节点,不管节点是否在服务中. Isr:是正在服务中的节点.
生产者发送消息
[root@bogon bin]# ./kafka-console-producer.sh --broker-list 192.168.31.143:9092 --topic test >hellp >hello
消费者接收消息
[root@localhost bin]# ./kafka-console-consumer.sh --bootstrap-server 192.168.31.144:9092 --topic test --from-beginning >hellp >hello
至此集群搭建完成。