kafka安装与集群配置

kafka简介
Kafka 是一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被广泛应用与大数据传输场景。使用Scala语言进行编写,提供了与JMS规范类似的特性,但是编写上并不是jms实现。kafka中只有topic的概念,没有队列。

kafka的应用场景
kafka 具有高吞吐量、具有分区特性、副本机制及容错性的优点(kafka 每秒可以处理几十万消息),让 kafka 成为了一个很好的大规模消息处理应用的解决方案。
1.分布式系统的日志收集。分布式系统通常一个服务部署多个实例,并且有多个服务类型,单纯查看log日志在问题出现时很难定位,因此可以把日志通过一个统一的方式收集起来,统一查看。

2.用户行为跟踪。 kafka 可以用于跟踪用户浏览页面、搜索及其他行为。通过发布-订阅模式实时记录到对应的 topic 中,通过后端大数据平台接入处理分析,并做更进一步的实时处理和监控

典型的kafka集群结构
这里写图片描述
以上是一个kafka集群的简单架构,多个broker通过zookeeper进行协同工作,多个producer向broker发送消息,多个消费者主动向broker拉取消息,这里跟别的activeMQ不一样的是kafka消费者主动拉取消息,activeMQ最终实现都是broker推送消息到消费者的本地内存。

安装kafka
1.http://kafka.apache.org/ 下载最新版的kafka压缩包
2.tar -xvzf xxxx解压缩,安装完成

启动kafka以及集群配置
在启动kafka之前,进入/config目录下,编辑server.properties文件,修改如下提示到的配置:


# The id of the broker. This must be set to a unique integer for each broker.
#brokerid,集群中唯一的brokerid
broker.id=0


# The address the socket server listens on. It will get the value returned from 
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
#配置listeners为本机的ip
listeners=PLAINTEXT://192.168.0.15:9092

# A comma separated list of directories under which to store log files
#选择配置kafka日志存储地址,也是消息持久化地址
log.dirs=/tmp/kafka-logs

############################# Zookeeper #############################

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
#配置zookeeper连接地址
zookeeper.connect=192.168.0.15:2181

# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000

上面是单机配置,如果需要集群,那么就要在另一台broker上面进行配置另一个brokerId,同时连接到同样的zookeeper集群地址。

启动方式:
1.启动zookeeper集群
2.进入kafka bin目录,./kafka-server-start.sh ../config/server.properties 指定配置文件启动kafkabroker,启动成功

怎么利用bin里面的脚本进行简单操作?

其实所有基本操作都可以在官网上面找到。。
创建一个名字为test的topic
bin/kafka-topics.sh –create –zookeeper 192.168.0.15:2181 –replication-factor 1 –partitions 1 –topic test
查看topic列表
bin/kafka-topics.sh –list –zookeeper 192.168.0.15:2181

其他什么的操作都可以在kafka官网->开始上手kafka找到,命令里面的参数暂时不介绍,后续另外介绍。

猜你喜欢

转载自blog.csdn.net/qq_20597727/article/details/81638210