最近在搞分布式项目,要搭建服务器,写分布式项目一定少不了消息中间件吧,那么kafka中间件的佼佼者肯定要有滴啦,所以在云服务上搞了好久的kafka,也遇到了好多问题,不过再最后的小编还是青出于蓝解决了该死的问题。
kafka简介
Apache Kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成为Apache的主要项目之一。Kafka使用Scala和Java进行编写。Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。
安装步骤
kafka的安装需要依赖于jdk,和zookeeper。(zk在这里就不多做介绍啦)
JDK安装
jdk最好选用1.8以上的版本,小编这里用的是1.8的
采用xftp5将jdk1.8与kafka2.12拷贝至服务器。(因为只做了测试,所有目录规范没有整理,大家不要像我一样喔)
tar -zxvf ******* 将jdk解压
接下来配置环境变量 输入vi ~/.bash_profile进入配置jdk环境变量
将jdk放置目录拷贝编写JAVA_HOME=${jdk.home}
在PATH目录后追加:$JAVA_HOME/bin
操作完成后保存退出~
退出记得重新保存环境,让新配置的环境生效 输入source ~/.bash_profile
接下来输入java -version 查看jdk版本也能确保jdk是否安装成功~(如果没有反应代表安装失败)
这样JDK就大功告成了~
Kafka安装
首先按老办法用Xftp5将kafka远程复制到linux下并解压。
然后进入config/server.properties下添加(这一步尤为重要)
broker.id主要做集群时区别的编号
port 默认kafka端口号
host.name 设置为阿里云内网地址
advertised.host.name 设置为阿里云外网映射地址
接下打开config/zookeeper.properties(新版本kafka自带zookeeper所以没有安装zookeeper)
配置如下:
启动之前大家可以创建一些topic使用,参考官网命令 http://kafka.apache.org/quickstart
在启动时可以加上nohup ........ & 让kafka在后台运行,这样我们就可以关闭远程窗口,在IDE中随心所欲的使用kafka不用担心每次还需要启动kafka
注:如果想关闭可以通过kill 9 进程id 杀死进程重新kafka
然后就先启动zk
nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties &
zk启动成功后,这也窗口不要关,另起一个窗口启动kafka
nohup ./bin/kafka-server-start.sh ./config/server.properties &
接下来启动你的IDE
IDE配置如下:
注意:本例子小编采用spring-cloud-stream集成kafka 来测试的
运行后:
以上kafka日志已经打印并运行成功~