1.安装环境
- 本文所安装的Kafka为2.50版本,Linux系统版本为CentOS 7.4,使用Zookeeper是Kafka自带的。Kafka是依赖Java环境运行,所以需要在Linux系统内安装Java环境。
- kafka官网地址:http://kafka.apache.org/
2.kafka安装
下载kafka安装包
- yum -y install wget----------------------------(未安装wget请先安装)
- wget https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz
解压kafka
- tar -zxvf kafka_2.13-2.5.0.tgz
进入配置目录
- cd kafka_2.13-2.5.0/config/
修改配置文件server.properties,添加下面内容
- vim server.properties
broker.id=0 port=9092 #端口号 host.name=172.30.0.9 #服务器IP地址,修改为自己的服务器IP log.dirs=/usr/local/logs/kafka #日志存放路径,上面创建的目录 zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
修改kafka的启动脚本(PS:不然机器内存小会报内存不足)
- vim kafka-server-start.sh
- export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
编写zookeeper启动脚本
- vim zookeeper_start.sh
# 启动zookeeper /home/kafka/kafka_2.13-2.5.0/bin/zookeeper-server-start.sh /home/kafka/kafka_2.13-2.5.0/config/zookeeper.properties &
编写kafka启动脚本
- vim kafka_start.sh
# 启动kafaka /home/kafka/kafka_2.13-2.5.0/bin/kafka-server-start.sh /home/kafka/kafka_2.13-2.5.0/config/server.properties &
编写zookeeper停止脚本
- vim zookeeper_stop.sh
# 停止zookeeper /home/kafka/kafka_2.13-2.5.0/bin/zookeeper-server-stop.sh /home/kafka/kafka_2.13-2.5.0/config/zookeeper.properties &
编写kafka停止脚本
- vim kafka_stop.sh
# 停止kafka /home/kafka/kafka_2.13-2.5.0/bin/kafka-server-stop.sh /home/kafka/kafka_2.13-2.5.0/config/server.properties &
启动关闭脚本赋予权限
- chmod 777 kafka_start.sh
- chmod 777 kafka_stop.sh
- chmod 777 zookeeper_start.sh
- chmod 777 zookeeper_stop.sh
先启动zookeeper在启动kafka
- ./zookeeper_start.sh---------------------------------------------启动zookeeper
- ./kafka_start.sh----------------------------------------------------启动kafka
- ps -ef | grep zookeeper------------------------------------------查看zookeeper进程状态
- ps -ef | grep kafka-------------------------------------------------查看kafka进程状态
若出现kafka.common.InconsistentClusterIdException: The Cluster ID MoJxXReIRgeVz8GaoglyXw doesn't match stored clusterId Some(t4eUcr1HTVC_VjB6h-vjyA) in meta.properties异常解决方法
意思是集群id跟元数据meta.properties中存储的不一致,导致启动失败。因此去查看meta.properties文件中的元数据信息。这个文件的存储路径是通过/config/server.properties配置文件中的log.dirs属性配置的。所以通过配置文件找到meta.properties,修改里面的cluster.id即可。
将异常信息中的Cluster ID MoJxXReIRgeVz8GaoglyXw写入
3.测试:
重新打开一个终端,创建一个主题
- bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test(创建)
- bin/kafka-topics.sh --list --zookeeper localhost:2181(查看创建的主题列表)
启动生产者(发送消息)
- bin/kafka-console-producer.sh --broker-list 172.19.2.198:9092 --topic test
重新打开一个终端,启动消费者(接收消息)
- bin/kafka-console-consumer.sh --bootstrap-server 172.19.2.198:9092 --topic test --from-beginning