kafka_2.11-2.0.0_安装部署
参考博文:kafka 配置文件参数详解
参考博文:Kafka【第一篇】Kafka集群搭建
参考博文:如何为Kafka集群选择合适的Partitions数量
参考博文: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_安装部署的更多相关文章
- Storm-0.9.0.1安装部署 指导
可以带着下面问题来阅读本文章: 1.Storm只支持什么传输 2.通过什么配置,可以更改Zookeeper默认端口 3.Storm UI必须和Storm Nimbus部署在同一台机器上,UI无法正常工 ...
- 大数据篇:DolphinScheduler-1.2.0.release安装部署
大数据篇:DolphinScheduler-1.2.0.release安装部署 1 配置jdk #查看命令 rpm -qa | grep java #删除命令 rpm -e --nodeps xxx ...
- zabbix4.0.1 安装部署
zabbix安装部署 目录 一.环境准备... 3 1.1.版本:... 3 1.2.部署环境... 3 二.安装部署... 3 2.1.zabbix安装... 3 2.1.1.下载zabbix的rp ...
- RAC 11.2.0.4 安装 遇到 INS-06001
今天安装11.2.0.4的grid软件,在配置passwordless SSH的时候,点击setup 出现此错误 开始网上搜了一把.说什么的都有,什么系统bug啊什么的 但是我另外一套rac却很正常就 ...
- 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 ...
- [DPI][suricata] suricata-4.0.3 安装部署
suricata 很值得借鉴.但是首先还是要安装使用,作为第一步的熟悉. 安装文档:https://redmine.openinfosecfoundation.org/projects/suricat ...
- 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 ...
- presto 0.166安装部署
系统:linux java:jdk 8,64-bit Connector:hive 分布式,node1-3 node1:Coordinator . Discovery service node2-3: ...
- Hbase-2.0.0_01_安装部署
该文章是基于 Hadoop2.7.6_01_部署 进行的 1. 主机规划 主机名称 IP信息 内网IP 操作系统 安装软件 备注:运行程序 mini01 10.0.0.11 172.16.1.11 C ...
随机推荐
- B树与B+详解
承接上篇SQLite采用B树结构使得SQLite内存占用资源较少,本篇将讲述B树的具体操作(建树,插入,删除等操作).在看博客时,建议拿支笔和纸,一点一点操作,毕竟知识是自己的,自己也要消化的.本篇通 ...
- [转]C#串口通信 SerialPort类
本文转自:https://blog.csdn.net/weixin_41415541/article/details/80921956 因为公司项目需要将USB扫码枪改为串口扫码枪,串口扫码的好处在于 ...
- 微信公众号授权,支付,退款总结【shoucang】
1.支付前准备 1.1首先两个平台接入账户. 商户平台:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F 公众平台: ...
- mssqlserver on linux - Linux下尝鲜MSSQL-SERVER【微软大法棒棒哒】
微软的开源精神真是无敌了,接下来体验下Linux安装与使用MSSQL-SERVER! 安装说明 目前支持的平台: Red Hat Enterprise Linux 7.2 Get RHEL 7.2 U ...
- [leetcode](4.21)1. 有序数组中的缺失元素
给出一个有序数组 A,数组中的每个数字都是 独一无二的,找出从数组最左边开始的第 K 个缺失数字. 示例 1: 输入:A = [4,7,9,10], K = 1 输出:5 解释: 第一个缺失数字为 5 ...
- 1. volatale 关键字 -内存可见性
package com.gf.demo01; /** * 一.volatile 关键字:但多个线程进行操作共享数据时,可以保证内存中数据可见性. * */ public class TestVolat ...
- GET和POST两种基本请求方法的区别(转)
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- 使用JSDoc自动生成代码文档
译者按: 代码要有规范的注释,遵从jsDoc规则来注释可以生成有用的文档. 原文: Generate docs and host it with JSDoc and GitHub Pages 译者: ...
- 继续封装个 Volley 组件
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 前面已经封装了很多常用.基础的组件了:base-module, 包括了: crash 处理 常用工具类 apk 升级处理 log 组 ...
- 洛谷P4170 [CQOI2007]涂色(区间dp)
题意 题目链接 Sol 震惊,某知名竞赛网站竟照搬省选原题! 裸的区间dp,\(f[l][r]\)表示干掉\([l, r]\)的最小花费,昨天写的时候比较困于是就把能想到的转移都写了.. // luo ...