kafka集群部署
1、下载kafka的bin包
下载地址:http://kafka.apache.org/downloads
kafka_2.12-0.10.2.0.tgz
2.12代表的是scala的版本(kafka是scala编写,目前编译有2.11、2.12两个版本)
0.10.2.0代表的是kafka的版本
2、解压tar包
tar xvf kafka_2.12-0.10.2.0.tgz
现在部署3个kafka伪集群节点,先复制3份出来
cp kafka_2.12-0.10.2.0 kafka1
cp kafka_2.12-0.10.2.0 kafka2
cp kafka_2.12-0.10.2.0 kafka3
3、单点启动:
默认启动端口为9092
zookeeper.connect=zk的地址
./kafka-server-start.sh ../config/server.properties
4、集群配置
kafka1配置修改如下配置:
broker.id=0
listeners=PLAINTEXT://172.21.10.136:9092
log.dirs=/crmpdpp/sgwadm/work/zhangtaoa/mykafka/kafka1/logs
zookeeper.connect=172.21.10.136:20001,172.21.10.136:20002,172.21.10.136:20003
kafka2配置修改如下配置:
broker.id=1
listeners=PLAINTEXT://172.21.10.136:9093
log.dirs=/crmpdpp/sgwadm/work/zhangtaoa/mykafka/kafka2/logs
zookeeper.connect=172.21.10.136:20001,172.21.10.136:20002,172.21.10.136:20003
kafka3配置修改如下配置:
broker.id=1
listeners=PLAINTEXT://172.21.10.136:9094
log.dirs=/crmpdpp/sgwadm/work/zhangtaoa/mykafka/kafka3/logs
zookeeper.connect=172.21.10.136:20001,172.21.10.136:20002,172.21.10.136:20003
5、分别启动3个kafka节点
./kafka-server-start.sh ../config/server.properties
6、创建主题
./kafka-topics.sh --create --zookeeper 172.21.10.136:20001,172.21.10.136:20002,172.21.10.136:20003 --replication-factor 1 --partitions 1 --topic test
>>>1个副本、1个分区
查看主题列表
./kafka-topics.sh --list --zookeeper 172.21.10.136:20001,172.21.10.136:20002,172.21.10.136:20003
7、生产消息
./kafka-console-producer.sh --broker-list 172.21.10.136:9092,172.21.10.136:9093,172.21.10.136:9094 --topic test
8、消费消息
./kafka-console-consumer.sh --bootstrap-server 172.21.10.136:9092,172.21.10.136:9093,172.21.10.136:9094 --topic test --from-beginning
问题:
1、Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka : Unsupported major.minor version 52.0
>>>修改jdk版本为1.8以上
2、FATAL [Kafka Server 0], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.OutOfMemoryError: Java heap space
>>>修改kafka-server-start.sh启动脚本中的export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
之前设置的是126,现在全部设置为512