文档章节

kafka安装配置

halbert918
 halbert918
发布于 2016/01/22 10:31
字数 1095
阅读 229
收藏 1
  •     Kafka主要构成:

    

    1、Broker:集群中的每一个对应的服务器被称之为broker。

    2、Topic 用于区别消息的类别,每个topic中包含多个Partition;Partition主要可以减少每个日志的数据量,也可以增加请求的并发量。

    3、Producer 消息的生产者,可通过配置partitioner.class设置消息发送到那个Partition上。

    4、Consumer 消息的消费者,可以订阅需要的topics。

    其中更多的其他术语可以参考kafka官方文档


  •     Kafka配置:通过官网下载并安装,通过文件config下的相关properties进行配置;

    

     server.properties启动服务时的相关配置,可拷贝多个配置多个broker服务(单台服务器上配置多个broker服务的方式),如server-1.properties

    console-xxxx.properties启动相关控制台的配置。

    1、server.properties配置文件,启动命令

kafka:bin/kafka-server-start.sh config/server.properties


# broker_id,集群环境下不能重复
broker.id=0
# broker 开放的端口
port=9092
# broker 绑定的主机名
host.name=localhost

# producers、consumers连接的地址. 若没配置,则使用host.name
# 但是在编码过程中发现如不配置这项的话,系统无法启动,比较费解
advertised.host.name=192.168.52.128
 
# 同advertised.host.name类似
#advertised.port=<port accessible by clients>

#存放消息文件的目录
log.dirs=/tmp/kafka-logs
#topic默认的分区数量,数量多少可以影响并发量
num.partitions=1

##zookeeper的配置
zookeeper.connect=192.168.52.128:2181

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

   其它配置属性可参考server内部自行配置。

    2、producer.properties配置文件

# list of brokers used for bootstrapping knowledge about the rest of the cluster
# format: host1:port1,host2:port2 ...
# 配置broker节点数据信息,用于获取元数据信息
metadata.broker.list=192.168.52.128:9092

# name of the partitioner class for partitioning events; default partition spreads data randomly
# 消息发送到那个分区的配置,默认使用org.apache.kafka.clients.producer.internals.DefaultPartitioner
#partitioner.class=

# specifies whether the messages are sent asynchronously (async) or synchronously (sync)
producer.type=sync

# specify the compression codec for all data generated: none, gzip, snappy, lz4.
# the old config values work as well: 0, 1, 2, 3 for none, gzip, snappy, lz4, respectively
compression.codec=none

# message encoder
serializer.class=kafka.serializer.DefaultEncoder
# allow topic level compression
# 压缩方式
#compressed.topics=

    3、consumer.properties配置文件v

# Zookeeper connection string
# 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"
# 监控的zookeeper链接,消费者主要通过zookeeper获取数据
zookeeper.connect=192.168.52.128:2181

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

#consumer group id
#消费者分组信息,每个消息只能被分组中的某个消费者消费
group.id=test-consumer-group

#consumer timeout
#consumer.timeout.ms=5000

    4、connect-xxxx.properties配置文件主要对kafka 0.9的新版特性的相关配置,connect可以对大数据量的源数据拷贝到目标系统中。

       connect-standalone.properties和connect-distributed.properties两个为单机和分布式下的connect启动配置文件,配置详细信息可见具体文件。其启动命令:

bin/connect-distributed.sh config/connect-distributed.properties

     connect-file-source.properties配置源系统的connector:

#connector唯一的名称
name=local-console-source
#connector的实现
connector.class=org.apache.kafka.connect.file.FileStreamSourceConnector
#connector需要创建的最大任务数
tasks.max=1
#需要处理的topic类别
topic=connect-test

    connect-file-sink.properties配置目标系统的connector(和以上配置类似):   

name=local-file-sink
connector.class=org.apache.kafka.connect.file.FileStreamSinkConnector
tasks.max=1
file=test.sink.txt
#接收topic类别列表
topics=connect-test
  •     kafka相关命令

    1、topic相关命令

#创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic mykafka

#查看topic
topic:bin/kafka-topics.sh --list --zookeeper localhost:2181

    2、producer发送消息

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka

    3、customer消费消息

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic mykafka --from-beginning

    以上是对kafka简单的配置及命令操作。

  •     Kafka的优缺点:

    kafka相较于其他mq而言,消费者采用主动poll的模式,poll模式有利于customer根据自身处理能力获取数据。

    kafka的容错性,kafka提供对partitioner的备份到其他broker服务器上;如有服务器挂掉,则zookeeper会重新选择leader处理消息信息。

    配置多个partitioner可提高并发,但不能保证消息的顺序性;若要保证消息的顺序,则只需配置一个分区即可。

    不支持消息的事务性,消息发送包括三种情况(可配置重试次数):

    1、最多只发送一次,消息有可能会丢失,但不会再重发。

    2、至少发送一次,消息不会丢失,但有可能会出现重复发送。

    3、保证消息会且仅会发送一次。

     更多的信息可以查看http://www.infoq.com/cn/articles/kafka-analysis-part-1或者

     官网文档http://kafka.apache.org/documentation.html

© 著作权归作者所有

halbert918
粉丝 2
博文 18
码字总数 14700
作品 0
九龙坡
程序员
私信 提问
Kafka源码环境搭建

本文主要讲述的是如何搭建Kafka的源码环境,主要针对的Windows操作系统下IntelliJ IDEA编译器,其余操作系统或者IDE可以类推。 1.安装和配置JDK 确认JDK版本至少为1.7,最好是1.8及以上。使用...

u013256816
2017/11/14
0
0
【kafka】Centos7安装kafka

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kisscatforever/article/details/86091136 一、前言 前一段时间在通知系统中,用到了kafka,刚开始的时候是通...

AresCarry
01/08
0
0
Splunk集成Kafka配置方法

Splunk是业界赫赫有名的数据分析工具,比较擅长BI和安全日志分析,我司很多部门都有购买其产品和服务。最近有个需求要把Splunk和分布式消息队列Kafka做个集成,Splunk官方提供的一个Kafka的插...

半夜菊花茶
2017/11/24
0
0
windows下kafka环境搭建

之前在windows上安装老是失败原因是 电脑上原来装有IBMMQ,启动kafka报'此时不应有IBMWebSphere' 错. 1.首先要准备好jdk环境 2.安装zookeeper ,配置下日志存放位置,端口等(测试使用,默认就好...

不道归来
2016/05/30
1K
0
使用Kafka Manager管理Kafka集群

公司使用到了Kafka,想借助一套可视化的工具更好地管理Kafka。笔者将目光瞄准了Kafka Manager。 安装Kafka 一、下载Kafka 前往http://kafka.apache.org/downloads ,根据自己的需要,下载合适...

周立_itmuch
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

带你了解 Java内存模型

Java内存模型的规定: 1、所有变量存储在主内存中; 2、每个线程都有自己的工作内存,且对变量的操作都是在工作内存中进行; 3、不同线程之间无法直接访问彼此工作内存中的变量,要想访问只能...

linux-tao
5分钟前
1
0
.net c# datetime转string 时间转字符串

.net c# datetime转string 时间转字符串 .net c# datetime转string 时间转字符串 刚开始接触net 时间转换字符串 一搜索出来的全是 字符串转时间,要么就是系统当前时间转字符串 就没有一个指...

青峰Jun19er
7分钟前
1
0
hbase demo

HbaseDao public class HbaseDao {@Testpublic void insertTest() throws Exception {Configuration conf = HBaseConfiguration.create();conf.set("hbase.zookeeper.qu......

Garphy
16分钟前
1
0
IT兄弟连 HTML5教程 HTML5表单 多样的输入类型2

4 range range类型用于包含一定范围内数字值的输入域,跟number一样,我们还可以对数值设置限定,range类型显示为滑动条用法如下: 上述代码使用了range类型输入框,为该类型设置了数值范围为...

老码农的一亩三分地
16分钟前
1
0
对比不同的数据库连接的异同

博主在学习和使用数据库连接时,遇到的问题, 这个几个数据库连接究竟有什么不同? 到底什么时候该使用哪个会更好一点? 带着这个问题我们先去了解常见的数据库连接 1. 常见的数据库连接有哪些?...

理性思考
18分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部