1.安装java

2.安装zookeeper

3.安装kafka Broker

测试:发布消息

测试:读取消息

4,broker配置

  常规配置:

    broker.id: 默认0  每个broker都需要一个标识符,使用broker.id标识,在kafka集群里必须唯一

    port 默认监听9092端口,使用1024以下的端口,需要root权限启动Kafka,不建议

    zookeeper.connect  用于保存broker元数据的zookeeper地址,格式: hostname:port/path

        hostname zookeeper服务器的IP地址或机器名

        port zookeeper客户端连接端口

        /path   可选的zookeeper路径,作为kafka集群chroot环境,默认根路径

    log.dirs 存放Kafka所有消息的日志片段的路径      注意:broker会向拥有最少数目分区的路径新增分区,而不是往最小磁盘空间的路径新增分区

    num.recovery.threads.per.data.dir

       对于如下3种情况,Kafka使用可配置的线程池来处理日志片段

        服务器正常启动,用于打开每个分区的日志片段

        服务器崩溃后重启,用于检查和截短每个分区的日志片段

        服务器正常关闭,用于关闭日志片段

      默认每个日志目录(log.dirs)只使用一个线程

      如果num.recovery.threads.per.data.dir=8,log.dir指定了3个路径,则一共需要24个线程

    auto.create.topic.enable

      默认情况下Kafka会在如下情形自动创建主题:

        当一个生产者开始往主题写入消息时

        当一个消费者开始从主题读取消息时

        当任意一个客户端向主题发送元数据请求时

   主题的默认配置参数:

      num.partitions 参数指定新创建主题将包含多少分区,默认1 注意:可以增加主题分区的个数,但是不可以减少,若要少于该参数值,只能手动创建主题

        分区的参考计算:每秒从主题读取/写入1G数据,每个消费者处理50M数据,那么分区的个数> 1G/50M=20个

        根据经验,分区的大小限制在25GB以内较理想

      log.retention.ms  指定Kafka数据可以保留多长时间 ,除此之外还有参数log.retention.minutes   log.retention.hour; kafka优先使用具有最小值的参数

      log.retention.bytes  决定Kafka每个分区数据过期的字节数阈值

      log.segment.bytes  日志片段关闭的阈值   当分区上的日志片段到达log.segment.bytes指定的上限时,当前日志片段就会关闭,开启新的日志片段,同时关闭的日志片段也会开始等待过期

      log.segment.ms  指定多长时间后日志片段开始关闭

      message.max.bytes  限制单个消息大小 默认1M,该参数是指压缩后消息的大小

        消费者客户端设置的fetch.message.max.bytes必须与服务端设置的消息大小协调;若fetch.message.max.bytes < message.max.bytes 那么消费者无法读取比较大的消息,导致出现消费者被阻塞情形,在为集群broker设置replica.fetch.max.bytes参数时,也遵循同样原则

硬件上的选择:

  磁盘吞吐量:

    生产者客户端性能受到服务器端磁盘吞吐量影响

  磁盘容量

  内存

    服务器端可用的内存容量是影响客户端性能的主要因素,磁盘性能影响生产者,内存影响消费者

    Kafka会使用页面缓存,如果和其他应用共享页面缓存会降低Kafka消费者的性能

  网络

    网络吞吐量决定Kafka能处理的最大数据流量

  CPU

    Kafka对数据的压缩和解压缩会用到计算能力

KafKa集群:  可以实现负载均衡/避免单点故障

需要多少broker:  集群需要保留10T数据,每个broker可以保存2T,则至少需要5个broker,若果开启复制,则还需要扩大一倍即10个

新加一个broker至集群种,修改2个参数: 1)配置相同的zookeeper.connect   2) 设置唯一的broker.id

Kafka笔记2(安装)的更多相关文章

  1. Kafka笔记整理(三):消费形式验证与性能测试

    Kafka消费形式验证 前面的<Kafka笔记整理(一)>中有提到消费者的消费形式,说明如下: .每个consumer属于一个consumer group,可以指定组id.group.id ...

  2. kafka集群安装部署

    kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...

  3. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  4. (转)ZooKeeper 笔记(1) 安装部署及hello world

    ZooKeeper 笔记(1) 安装部署及hello world   先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.or ...

  5. LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载

    LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载 2014/11/27 教程笔记 4,743 14     WordPress 精品主机推荐:恒创主机 | 阿里云(本站目前所用云主机) 倡萌 ...

  6. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  7. zookeeper+kafka集群安装之一

    zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames ...

  8. Kafka和的安装与配置

    本文主要介绍Kafka的安装与配置: 集群规划 datanode1 datanode2 datanode3 zk zk zk kafka kafka kafka kafka jar包下载地址 http ...

  9. zookeeper+kafka集群安装之中的一个

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...

  10. Kafka介绍及安装部署

    本节内容: 消息中间件 消息中间件特点 消息中间件的传递模型 Kafka介绍 安装部署Kafka集群 安装Yahoo kafka manager kafka-manager添加kafka cluste ...

随机推荐

  1. Git 子模块 - submodule(转)

    原文地址: http://www.cnblogs.com/kelsen/p/5918672.html 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开 ...

  2. [转]剑指offer之Java源代码

    一.引言 <剑指offer>可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题.但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学 ...

  3. FasterRCNN 提升分类精度(转)

    近年来,随着深度学习的崛起,计算机视觉得到飞速发展.目标检测作为计算机视觉的基础算法,也搭上了深度学习的快车.基于Proposal的检测框架,从R-CNN到Faster R-CNN,算法性能越来越高, ...

  4. 从一次线上故障思考Java问题定位思路

    问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后,现网机器出现了Full GC告警,同时CPU飙高99%.在优先恢复现网服务正常后,开始着手定位Full GC的问题.在现场只能够 ...

  5. HAWQ配置之HDFS HA

    一.在ambari管理界面启用HDFS HA 在ambari中这步很简单,在所有安装的服务都正常之后,在HDFS的服务界面中,点击下拉菜单“Actions”,选择启用HDFS HA项 “Enable ...

  6. Flask-SQLAlchemy 中多表链接查询(不使用外键)

    SQLAlchemy 是一个功能强大的 ORM . Flask-SQLAlchemy 是一个 Flask 插件,它让我们在 Flask 框架中使用 SQLAlchemy 变得更容易. 本篇介绍我在使用 ...

  7. linux shell的here document用法(cat << EOF)

    什么是Here Document?Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下cmd << delimiter  Here Docu ...

  8. Git文件常见下标符号说明

    Git文件常见下标符号说明 git是一种分布式的版本控制工具.     不用联网也能实现版本控制,很实用. 它是一款现在比较流行的版本控制工具. git的文件上的图标,可以反映出当前文件或者文件夹的状 ...

  9. windows上,任务管理器中,进程命令行太长怎么办

    一.前言 在windows上,有时候需要查看进程命令行,但是有的进程的命令行太长了,很难看全 此时,可以使用下面的方法解决(红框改为自己要查看的进程即可): C:\Users\Gaoyu>wmi ...

  10. Timeline Storyteller 现已加入自定义图表库

    前言 下载地址: https://store.office.com/en-us/app.aspx?assetid=WA104381136&sourcecorrid=328f5e2b-e973- ...