1-kafka单机环境搭建
本文介绍kafka单机环境的搭建及可视化环境配置,虽然没有java代码,但是麻雀虽小五脏俱全,让各人在团体感官上对kafka有个熟悉。在文章的最后,我介绍了几个紧张的配置参数,供各人参考。0、环境
[*]kafka:2.8.0
1、启动zookeeper
kafka本身自带了一个zookeeper,我们直接用这个就行,当然你也可以用你现成的zookeeper。下面是启动zookeeper的下令:
bin/zookeeper-server-start.sh config/zookeeper.properties
留意:zookeeper的端口默认是2181,如果你要修改,修改zookeeper.properties文件。
2、kafka配置及启动
2.1、配置
打开config/server.properties文件,找到listeners配置,修改成你想要改成的端口。
listeners=PLAINTEXT://localhost:9092
留意,如果你的zookeeper不是默认,同样在server.properties文件里,找到zookeeper.connect参数,改成你实际的地点和端口。
2.2、启动
下面咱们启动kafka:
bin/kafka-server-start.sh config/server.properties
可以大概看到kafka输出了大段的日志,在最后有提示kafka启动乐成的提示。
3、测试
3.1、创建一个topic
bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic testk --
partitions 2--replication-factor 1
创建了topic名称是testk,它有2个partition,有一个副本。留意这里的副本包罗topic本身,也就是说,此时没有副本。
下面查看一个topic的详细信息:
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic testk
https://i-blog.csdnimg.cn/direct/edf8938e4feb4f6284467583c72f79d2.png
3.2、创建producer、consumer
先创建一个producer(底子概念我就不多说了):
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testk
重新打开一个终端窗口,我们用来创建consumer:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic testk
现在有两个窗口,我们可以在producer中输入消息,可以大概在consumer窗口看到收到的消息。留意:–from-beginning:指的是从头开始消费。
4、监控工具kafka manager
上面我在当地安装并配置了一个kafka实例,并使用kafka提供的下令行工具,分别创建了一个producer和consumer。但是不直观,这里我们配置一个kafka可视化工具, 使用工具能更直观。
我们这里使用的工具是kafka manager,现在改名字了,叫CMAK。下载地点: https://github.com/yahoo/CMAK。
4.1、启动
解压后,进入conf文件夹,打开application.conf文件。这里我们要配置zookeeper的地点,如下图:
https://i-blog.csdnimg.cn/direct/da221bbd09524a1f9b8a802f79402a2a.png
好了,可以启动了。CMAK home目录下执行:
bin/cmak -Dhttp.port=9001
-Dhttp.port指定了访问端口,你也可以用默认,默认端口是9000。好了,咱们访问一下。
4.2、使用CMAK配置集群
https://i-blog.csdnimg.cn/direct/3de778ae4a8e42f686078216a0158e99.png
上图我标志的很清楚了,不多解释了,最后生存即可。这里要留意下,选了JMX Polling,我们要修改一下kafka的启动下令,指定JMX的监听端口。
JMX_PORT=9999bin/kafka-server-start.sh config/server.properties
等kafka启动完成后,咱们再看一下配置后的效果:
https://i-blog.csdnimg.cn/direct/f402206895fc4f2ba9108a90a31ca555.png
相对比力简朴,我就不多说了。最后我说几个紧张的配置参数。
5、几个紧张的kafka配置参数
[*]log.dirs:broker要使用的文件目录路径,可以多个,逗号分割。
[*]zookeeper.connect:指定了zookeeper的地点和端口,如:localhost:2181,可以多个,逗号分割。
[*]listeners:客户端毗连kafka时,使用的协议、主机名和端口。如:PLAINTEXT://localhost:9092,其中PLAINTEXT表现明文传输。用户也可以用ssl加密的方式。
[*]log.retention.{hour|minutes|ms}:一条消息生存多长时间。当数据库用就将这个值调大。
[*]log.retention.bytes:消息生存的总磁盘容量。默认值-1,表现没有上限。
[*]message.max.bytes: 最大消息的大小。默认值1000012,不到1M,实际的生产环境凌驾1M的消息太多了,建议调大点。
好了,本日就到这里了。内容不少,希望各人能明白。
//~~
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]