一起探讨学习
每天给大家提供技术干货
博主技术笔记 https://notes.xiyankt.com
博主开源微服架构前后端分离技术博客项目源码地址,欢迎各位star https://gitee.com/bright-boy/xiyan-blog
不要docker安装kafka(推荐
)
1.下载kafka安装包
(未安装wget请先安装)
yum -y install wget
wget https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz
2.解压kafka
tar -zxvf kafka_2.13-2.5.0.tgz
3.进入配置目录
cd kafka_2.13-2.5.0/config/
4.修改配置文件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
5.编写脚本
vim zookeeper_start.sh
启动zookeeper
/usr/local/kafka_2.13-2.5.0/bin/zookeeper-server-start.sh /usr/local/kafka_2.13-2.5.0/config/zookeeper.properties &
编写kafka启动脚本
vim kafka_start.sh
启动kafaka
/usr/local/kafka_2.13-2.5.0/bin/kafka-server-start.sh/usr/local/kafka_2.13-2.5.0/config/server.properties &
编写zookeeper停止脚本
vim zookeeper_stop.sh
停止zookeeper
/usr/local/kafka_2.13-2.5.0/bin/zookeeper-server-stop.sh /usr/local/kafka_2.13-2.5.0/config/zookeeper.properties &
编写kafka停止脚本
vim kafka_stop.sh
停止kafka
/usr/local/kafka_2.13-2.5.0/bin/kafka-server-stop.sh /usr/local/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
7.先启动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写入
8测试:
重新打开一个终端,创建一个主题
创建主题
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
Docker安装Kafka
1.启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
2.启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.28.128:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.28.128:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka:2.11-0.11.0.3
3.验证kafka是否可以使用
3.1 进入容器
docker exec -it kafka /bin/sh
3.2 进入路径
cd /opt/kafka_2.11-0.11.0.3/bin
3.3运行kafka生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic sun