不多说,咱们直接进入主题,那么我这里介绍一下我的环境。我用的是mac本,没有往本机装虚拟机,所以我用的是我的阿里云主机,穷滴很,就单节点吧咳咳。
那么首先说一下,由于我们的Kafka需要zookeeper的支持,所以在安装kafka之前我强烈建议先安装一下zookeeper,虽然kafka有个内带的很low的zookeeper方便调试,但是建议不要用,为啥?因为low,不用!那么又因为zookeeper需要java环境,那么我这就从java开始说起。我的三个包如下:
当然如果你想用其他的版本没问题,个人爱好而已。
把三个包导入到我们的linux上,我这里放入到/usr/local目录下,然后分别解压,使用命令如下:
$ tar -zxvf xxxx
然后把压缩包删除,现在有三个解压的文件夹如下图所示:
首先在你的环境里面数据java -version看是否有信息,如果有版本信息输出证明你的本机含有java,要么卸载重新装,要么不装新的,使用旧的。如果使用旧的,那么下面这个步骤你可以省略。
接着我们要给java配置环境变量,在/etc/profile这个文件中,打开,在最后我们输入加入如下图所示:
保存退出(:x),然后使用命令 srouce /etc/profile。这之后我们关闭控制台,然后重新打开一个,输入java -version,如图:
这证明我们配置java环境变量成功,那么没啥问题了,开始搞zookeeper。首先我们cd到zookeeper的目录下,然后我们编辑文件zoo.cfg文件,文件内容如下图所示:
然后我们进入bin文件夹下,然后启动:
如果出现如上页面证明我们启动zookeeper已经成功。那么此时可以配置kafka了,首先我们进入kafka目录,进入config文件夹,我们可以看到很多配置文件,我们首先配置server.properties文件。由于文件太大,我这里不全部贴出来,只说几个重点,首先就是关于broker.id这个在之前的翻译中谈到过,必须确保唯一性。下一个port指定端口,一般默认都是9092。zookeeper.connect 这里写上的的所有zookeeper的主机地址和端口。最后的host.name是自己这台机器的ip地址(内网),不要写localhost。
完成如上配置,我们启动kafka,进入到bin文件夹中。然后启动server,命令如下,正常输出内容很多,这里只截取部分图像:
这样我们就启动了kafka,这里之前碰到了一个问题,就是提示内存不够,很简单,加内存,至少保证2G。那么现在我们算是正式的启动了Kafka,接下来我们创建一个topic吧,这里克隆一个session会话,然后进入kafka的bin目录下,然后我们创建一个新的topic :test3如图:
这样之后我们就成功的创建了topic,仔细看条件不难发现,除了操作create外,我们只修附带四个参数:zookeeper用来存放topic,replication-factor副本元素个数,分区个数partition还有最后的topic名字。然后我们运行命令可以查看目前所有的topic:
那么我们刚才的已经列了出来。
那么此时我们尝试使用生产者发布消息到topic中了,那么我们启动消费者:
kafka-console-producer.sh --broker-list localhost:9092 --topic test3
然后我们启动消费者(另外开一个会话):
kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning -topic test3
在生产者的对话口我们输入内容:
那么在消费者端我们可以看到消费的信息:
这证明了我们的实验已经成功了,这里建议写broker 的时候按照你的hostname填写,不要写localhost,不然容易出现消息接受不到,同时注意权限和防火墙问题,这都有可能导致接收不到消息。
好了,这次就讲到这里,希望对大家有帮助,知识是用来分享的,知道硅谷为什么中国人混的比印度人差,因为我们不分享,因为我们不团结,分享也是种收获,感谢开源,感恩分享。