参考博文:kafka 配置文件参数详解

参考博文:Kafka【第一篇】Kafka集群搭建

参考博文:如何为Kafka集群选择合适的Partitions数量

参考博文:Kafka Server.properties

参考博文:kafka常用配置【重要】

参考博文:kafka常用配置

1. 主机规划

主机名称

IP信息

内网IP

操作系统

安装软件

备注:运行程序

mini01

10.0.0.11

172.16.1.11

CentOS 7.4

jdk、zookeeper、kafka

QuorumPeerMain、Kafka

mini02

10.0.0.12

172.16.1.12

CentOS 7.4

jdk、zookeeper、kafka

QuorumPeerMain、Kafka

mini03

10.0.0.13

172.16.1.13

CentOS 7.4

jdk、zookeeper、kafka

QuorumPeerMain、Kafka

mini04

10.0.0.14

172.16.1.14

CentOS 7.4

jdk、zookeeper

QuorumPeerMain

mini05

10.0.0.15

172.16.1.15

CentOS 7.4

jdk、zookeeper

QuorumPeerMain

其中zookeeper的安装可参见:Hbase-2.0.0_01_安装部署

添加hosts信息,保证每台Linux都可以相互ping通

 [root@mini01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.11 mini01
172.16.1.12 mini02
172.16.1.13 mini03
172.16.1.14 mini04
172.16.1.15 mini05

windows的hosts文件也追加如下信息

 c:\windows\system32\drivers\etc
########################################## 追加信息如下:
10.0.0.11 mini01
10.0.0.12 mini02
10.0.0.13 mini03
10.0.0.14 mini04
10.0.0.15 mini05

2. Kafka的部署与配置修改

2.1. 软件部署

 [yun@mini01 software]$ pwd
/app/software
[yun@mini01 software]$ tar xf kafka_2.-2.0..tgz
[yun@mini01 software]$ mv kafka_2.-2.0. /app/
[yun@mini01 software]$ cd /app/
[yun@mini01 ~]$ ln -s kafka_2.-2.0./ kafka
[yun@mini01 ~]$ ll -d kafka*
lrwxrwxrwx yun yun Sep : kafka -> kafka_2.-2.0./
drwxr-xr-x yun yun Jul : kafka_2.-2.0.

2.2. 环境变量

需要使用root权限

 [root@mini01 ~]# tail /etc/profile
done unset i
unset -f pathmunge # kafka
export KAFKA_HOME=/app/kafka
export PATH=$KAFKA_HOME/bin:$PATH [root@mini01 profile.d]# logout
[yun@mini01 hbase]$ source /etc/profile # 使用yun用户,并重新加载环境变量

2.3. 配置修改

 [yun@mini01 config]$ pwd
/app/kafka/config
[yun@mini01 config]$ vim server.properties
############################# Server Basics #############################
# 每一个broker在集群中的唯一标示★★★
# 比如mini01 为0 mini02 为1 mini03 为2
broker.id= ############################# Socket Server Settings #############################
# 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
# 启动kafka服务监听的ip和端口,默认为java.net.InetAddress.getCanonicalHostName()获取的ip
#listeners=PLAINTEXT://:9092 # broker通知到producers和consumers的主机地址和端口号
# 如果未设置,使用listeners的配置。否则,使用java.net.InetAddress.getCanonicalHostName()返回的值
# 对于ipv4,基本就是localhost了 127.0.0.1 最后就是访问失败
#advertised.listeners=PLAINTEXT://your.host.name:9092
# 在不同的机器,名称不同 如mini01、mini02、mini03★★★
advertised.listeners=PLAINTEXT://mini01:9092 # broker 处理消息的最大线程数,一般情况下不需要去修改
num.network.threads= # broker处理磁盘IO 的线程数 ,数值应该大于你的硬盘数
num.io.threads= # 发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
socket.send.buffer.bytes= # kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.receive.buffer.bytes= # 这个参数是向kafka请求消息或者向kafka发送消息的请求的最大数,这个值不能超过java的堆栈大小
socket.request.max.bytes= ############################# Log Basics #############################
# kafka数据的存放地址,多个地址的话用逗号分割 /tmp/kafka-logs-,/tmp/kafka-logs-
log.dirs=/app/kafka/logs # 默认的分区数,一个topic默认1个分区数
num.partitions= # 每个数据目录在启动时用于日志恢复和关闭时用于刷新的线程数。
num.recovery.threads.per.data.dir= ############################# Internal Topic Settings #############################
# 组元数据内部主题“__consumer_offset”和“__transaction_state”的复制因子
# 对于开发测试之外的任何内容,建议使用大于1的值来确保可用性,比如3。
offsets.topic.replication.factor=
transaction.state.log.replication.factor=
transaction.state.log.min.isr= ############################# Log Flush Policy #############################
# 在持久化到磁盘前message最大接收条数
#log.flush.interval.messages=
log.flush.interval.messages= # 持久化的最大时间间隔
#log.flush.interval.ms=
log.flush.interval.ms= ############################# Log Retention Policy #############################
# 默认消息的最大持久化时间,168小时,7天
# segment 文件保留的最长时间,超时则被删除
log.retention.hours= # 当分片的大小超过该值时,就会被删除。该功能不依赖于log.retention.hours。为 -1没有大小限制
#log.retention.bytes=
log.retention.bytes=- # 滚动生成新的segment文件的最大时间
log.roll.hours= # 单个分片的上限,达到该大小后会生成新的日志分片 1G
log.segment.bytes= # 日志分片的检测时间间隔,每隔该时间会根据log保留策略决定是否删除log分片
log.retention.check.interval.ms= # 默认为true 启用日志清理器进程在服务器上运行
log.cleaner.enable=true # 默认为true 【当前版本】 启用删除主题。 如果此配置已关闭,则通过管理工具删除主题将不起作用
delete.topic.enable=true
############################# 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.connect=mini01:,mini02:,mini03:,mini04:,mini05: # Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms= ############################# Group Coordinator Settings #############################
# 在开发测试环境下该值设置为0,保证启动后马上可以使用。但在生产环境下,默认值3秒更适合
group.initial.rebalance.delay.ms=

2.4. 其他配置修改

 [yun@mini01 config]$ pwd
/app/kafka/config
[yun@mini01 config]$ vim producer.properties
………………
# 用于建立到Kafka集群的初始连接的主机/端口对列表。客户机将使用所有服务器,而不管这里为引导绑定指定了哪些服务器——此列表只影响用于发现完整服务器集的初始主机。
# 由于这些服务器仅用于初始连接,以发现完整的集群成员关系(可能会动态更改),因此这个列表不需要包含完整的服务器集(但是,如果服务器宕机,您可能需要多个服务器)。
bootstrap.servers=mini01:,mini02:,mini03:
………………
[yun@mini01 config]$ vim consumer.properties
………………
bootstrap.servers=mini01:,mini02:,mini03:
………………

2.5. 启动/停止kafka

 [yun@mini01 ~]$ kafka-server-start.sh -daemon /app/kafka/config/server.properties  # -daemon 可选参数,后台运行
# 如果是后台运行,则控制台没有下面日志信息
[-- ::,] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[-- ::,] INFO starting (kafka.server.KafkaServer)
……………………
[yun@mini01 ~]$ kafka-server-stop.sh # 停止kafka

2.6. zookeeper命令行查看

 [zk: localhost:(CONNECTED) ] ls /
[cluster, controller, brokers, zookeeper, admin, isr_change_notification, log_dir_event_notification, controller_epoch, zhang01, consumers, latest_producer_id_block, config, hbase]
[zk: localhost:(CONNECTED) ] ls /brokers
[ids, topics, seqid]
[zk: localhost:(CONNECTED) ] ls /brokers/ids
[, , ]

kafka_2.11-2.0.0_安装部署的更多相关文章

  1. Storm-0.9.0.1安装部署 指导

    可以带着下面问题来阅读本文章: 1.Storm只支持什么传输 2.通过什么配置,可以更改Zookeeper默认端口 3.Storm UI必须和Storm Nimbus部署在同一台机器上,UI无法正常工 ...

  2. 大数据篇:DolphinScheduler-1.2.0.release安装部署

    大数据篇:DolphinScheduler-1.2.0.release安装部署 1 配置jdk #查看命令 rpm -qa | grep java #删除命令 rpm -e --nodeps xxx ...

  3. zabbix4.0.1 安装部署

    zabbix安装部署 目录 一.环境准备... 3 1.1.版本:... 3 1.2.部署环境... 3 二.安装部署... 3 2.1.zabbix安装... 3 2.1.1.下载zabbix的rp ...

  4. RAC 11.2.0.4 安装 遇到 INS-06001

    今天安装11.2.0.4的grid软件,在配置passwordless SSH的时候,点击setup 出现此错误 开始网上搜了一把.说什么的都有,什么系统bug啊什么的 但是我另外一套rac却很正常就 ...

  5. Oracle Grid 11.2.0.4 安装是出现“[INS-41112] Specified network interface doesnt maintain connectivity across cluster”错误

    最新文章:Virson's Blog 安装Oracle 11.2.0.4 的RAC,在Grid 安装时报错: [INS-41112]Specified network interface doesnt ...

  6. [DPI][suricata] suricata-4.0.3 安装部署

    suricata 很值得借鉴.但是首先还是要安装使用,作为第一步的熟悉. 安装文档:https://redmine.openinfosecfoundation.org/projects/suricat ...

  7. PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 安装

    PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 1.首先在安装好环境下安装 zabbix3.0情况下 2. yum install mysql-devel ...

  8. presto 0.166安装部署

    系统:linux java:jdk 8,64-bit Connector:hive 分布式,node1-3 node1:Coordinator . Discovery service node2-3: ...

  9. Hbase-2.0.0_01_安装部署

    该文章是基于 Hadoop2.7.6_01_部署 进行的 1. 主机规划 主机名称 IP信息 内网IP 操作系统 安装软件 备注:运行程序 mini01 10.0.0.11 172.16.1.11 C ...

随机推荐

  1. Hive环境搭建及测试

     前提条件:已经安装好如下软件 Eclipse4.5 hadoop-2.7.3 jdk1.7.0_79 此篇文章基于上一篇文章:zookeeper高可用集群搭建 什么是Hive? 1.Hive是一个基 ...

  2. golang的字符串拼接

    常用拼接方法 字符串拼接在日常开发中是很常见的需求,目前有两种普遍做法: 一种是直接用 += 来拼接 s1 := "Hello" s2 := "World" s ...

  3. @property详解,@property修饰符以及各个修饰符区别(上)

    相信很多参加过面试的人员很多都会被问到:weak与assign的区别,copy与strong的区别.如果你仅仅说一点点copy一般对NSString,weak对于控件的修饰,assign对于基本类型, ...

  4. 设置防火强开机自启,以及没有成功的tomcat开机自启

    防火墙 如果你的系统上没有安装使用命令安装 #yum install firewalld //安装firewalld 防火墙 开启服务 # systemctl start firewalld.serv ...

  5. .Net NPOI 根据excel模板导出excel、直接生成excel

    一.根据Excel模板导出excel 1.导入NPOI.dll  2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...

  6. ABP框架 sql语句(转载)

    ABP.Core实现SQL语句仓储,支持EF.Core兼容的数据库  来源:https://blog.csdn.net/qq_28699537/article/details/80522680?tds ...

  7. [PHP]算法-旋转数组的最小值的PHP实现

    把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组 ...

  8. 【Java每日一题】20170306

    20170303问题解析请点击今日问题下方的“[Java每日一题]20170306”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...

  9. 【Java并发编程】23、ConcurrentHashMap原理分析(1.7和1.8版本对比)

    jdk 1.8版本 ConcurrentHashMap在1.8中的实现,相比于1.7的版本基本上全部都变掉了.首先,取消了Segment分段锁的数据结构,取而代之的是数组+链表(红黑树)的结构.而对于 ...

  10. Docker 系列二(操作镜像).

    一.镜像管理 1.拉取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] -- Docker 镜像仓库地址 :一般是 域名或者IP[:端口号 ...