萌新篇 —从零开始搭建自己的大数据环境---kafka篇

萌新篇 —从零开始搭建自己的大数据环境

萌新篇 —从零开始搭建自己的大数据环境


前言

我事先创建好了opt文件,该文件里包含data,modules,software,tools,一般我把安装包存放在sofeware解压生成在modules。可以按照我这个方式去做,后期以便文件好找。zookeeper安装参考我前面的文章,这里就不是范例,过程使用的软件Notepad++(在这里修改配置文件比较方便)MobaXterm_Personal_20.2(远程登录linux)FlashFPX(把文件发送到linux上)。

一、kafka简介

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
1、通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
2、高吞吐量 :即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
3、支持通过Kafka服务器和消费机集群来分区消息。
4、支持Hadoop并行数据加载。
详细讲解点击

二、Kafka配置

1.下载地址

https://kafka.apachecn.org/downloads.html

2.server.properties文件参数

1、broker.id :每一个broker在集群中的唯一标示,要求是正数。在改变IP地址,不改变broker.id的话不会影响consumers。
2、port:提供给客户端响应的端口。
3:、num.network.threads:broker 处理消息的最大线程数,一般情况下不需要去修改。
4、num.io.threads:broker处理磁盘IO 的线程数 ,数值应该大于你的硬盘数。
5、socket.send.buffer.bytes:socket的发送缓冲区,socket的调优参数SO_SNDBUFF。
6、socket.receive.buffer.bytes:socket的接受缓冲区,socket的调优参数SO_RCVBUFF。
7、socket.request.max.bytes:socket请求的最大数值,防止serverOOM,message.max.bytes必然要小于socket.request.max.bytes,会被topic创建时的指定参数覆盖。
8、log.dirs:kafka数据的存放地址。
9、zookeeper.connect:zookeeper集群的地址,可以是多个,多个之间用逗号分割hostname1:port1,hostname2:port2,hostname3:port3
10、zookeeper.connection.timeout.ms:ZooKeeper的连接超时时间。

3.server.properties配置

1、host.name=panda-pro01.xiong.com                         修改主机名,注意分发到其他机器要修改对应主机名
2、log.dirs=/opt/modules/kafka_2.11-0.8.2.1/kafka-logs     kafka数据的存放地址,kafka-logs自行创建
3、zookeeper.connect=panda-pro01.xiong.com:2181,panda-pro02.xiong.com:2181,panda-pro03.xiong.com:2181                zookeeper集群的地址
4、broker.id=0                                             三台机器分别对应0,1,2

这里我说明一下kafka基于zookeeper,zookeeper一般要配制三台机器,所以再配置kafka前要提前把zookeeper配制好。

4.producer.properties配置

metadata.broker.list=panda-pro01.xiong.com:9092     改成自己主机名

5.启动服务

先把zookeeper全部启动起俩

bin/kafka-server-start.sh config/server.properties               启动服务器

bin/kafka-topics.sh --create --zookeeper panda-pro01.xiong.com:2181,panda-pro02.xiong.com:2181,panda-pro03.xiong.com:2181 --replication-factor 1 --partitions 1 --topic test        创建一个 topic
     

bin/kafka-console-producer.sh --broker-list panda-pro01.xiong.com:9092,panda-pro02.xiong.com:9092,panda-pro01.xiong.com:9092,panda-pro03.xiong.com:9092 --topic test    发送端


bin/kafka-console-consumer.sh --zookeeper panda-pro01.xiong.com:2181,panda-pro02.xiong.com:2181, panda-pro03.xiong.com:2181  --topic test --from-beginning             接收端

启动服务器在这里插入图片描述
创建一个 topic
在这里插入图片描述

发送端输入内容在这里插入图片描述
接收端接收的内容
在这里插入图片描述

注意

在这里插入图片描述
上图报的错误是topic文件已经存在了,可能是我创建过一次,没注意,在此运行时报了这个错误,找了好多解决办法试了好久,最后发现文件已经存在,只需要修改重新换一个名字就可以解决了。

总结

关于kafka基本配置就到这里了,萌新一位,若有不足之处,还请指正。😎😎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Panda°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值