阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下Kafka集群安装

459次阅读
没有评论

共计 4037 个字符,预计需要花费 11 分钟才能阅读完成。

一、环境操作系统和软件版本介绍

1. 环境操作系统为 CentOS Linux release 7.2.1511 (Core)

可用 cat /etc/RedHat-release 查询

CentOS 7 下 Kafka 集群安装

2. 软件版本

Kafka 版本为:0.10.0.0

二、软件的基础准备

由于 Kafka 集群需要依赖 ZooKeeper 集群来协同管理,所以需要事先搭建好 ZK 集群。此文主要介绍搭建 Kafka 集群环境。

三、详细安装搭建步骤

1. 下载压缩包 kafka_2.10-0.10.0.0.tgz 到 /data/soft 目录

CentOS 7 下 Kafka 集群安装

2. 将 kafka_2.10-0.10.0.0.tgz 解压到 /data/app/Kafka 目录

tar –xzf kafka_2.10-0.10.0.0.tgz –C /data/app/kafkacluster

把文件夹重命名为 19092,进入 config 目录,修改 server.properties 文件

CentOS 7 下 Kafka 集群安装

3. 用 vi 命令打开 server.properties

1 [root@centos7 config]# vi server.properties

CentOS 7 下 Kafka 集群安装

4. 修改如下:

1 broker.id=0
2 port=19092
3 log.dirs=/data/app/kafkacluster/19093/bin/kafka-logs19092
4 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

CentOS 7 下 Kafka 集群安装

CentOS 7 下 Kafka 集群安装

CentOS 7 下 Kafka 集群安装

其他两台服务器上的 kafka 同上,先修改文件夹名称(在此文另外两个文件夹名称为 19093 和 19094)

 CentOS 7 下 Kafka 集群安装

再进入 config 目录,分别改 server.properties 名称为 server1.properties 和 server2.properties

server1.properties 中的配置需要改:

1 broker.id=1
2 port=19093
3 log.dirs=/data/app/kafkacluster/19093/bin/kafka-logs19093
4 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

server2.properties 中的配置需要改:

1 broker.id=2
2 port=19094
3 log.dirs=/data/app/kafkacluster/19094/bin/kafka-logs19094
4 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

四、启动 kafka& 测试验证

1. 首先启动独立的 ZK 集群,三台都要启动(./zkServer.sh start)

2. 进入到 kafka 的 bin 目录,然后启动服务./kafka-server-start.sh ../config/server.properties(三台服务器都要启动)

1 ./kafka-server-start.sh ../config/server1.properties
2 ./kafka-server-start.sh ../config/server2.properties

CentOS 7 下 Kafka 集群安装

另外,启动其他节点的时候,在最先开始启动的节点会显示其它节点加入的信息记录,如下所示:

1 [2017-01-18 14:44:24,352] INFO Partition [aaa,0] on broker 0: Expanding ISR for partition [aaa,0] from 0 to 0,1 (kafka.cluster.Partition)
2 [2017-01-18 14:44:37,065] INFO Partition [aaa,0] on broker 0: Expanding ISR for partition [aaa,0] from 0,1 to 0,1,2 (kafka.cluster.Partition)

CentOS 7 下 Kafka 集群安装

3. 验证启动进程

1 [root@centos7 bin]# jps
2 25778 Kafka
3 26132 Jps
4 25285 Kafka
5 25014 QuorumPeerMain
6 25064 QuorumPeerMain
7 25531 Kafka
8 25116 QuorumPeerMain

CentOS 7 下 Kafka 集群安装

4. 使用客户端进入 zk

1 [root@centos7 bin]# ./zkCli.sh -server 192.168.1.18:3001
2 Connecting to 192.168.1.18:3001

CentOS 7 下 Kafka 集群安装

5. 查看目录情况

1 [zk: 192.168.1.18:3001(CONNECTED) 0] ls /
2 [controller_epoch, controller, brokers, zookeeper, test, admin, isr_change_notification, consumers, config]
3 [zk: 192.168.1.18:3001(CONNECTED) 1]

CentOS 7 下 Kafka 集群安装

上面的显示结果中:只有 zookeeper 是 zookeeper 原生的,其他都是 Kafka 创建的

6. 创建一个 topic:

1 [root@centos7 bin]# ./kafka-topics.sh --create --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --replication-factor 3 --partitions 1 --topic test666
2 Created topic "test666".

CentOS 7 下 Kafka 集群安装

7. 查看 topic 状态:

1 [root@centos7 bin]# ./kafka-topics.sh --describe --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --topic test666
2 Topic:test666    PartitionCount:1    ReplicationFactor:3    Configs:
3     Topic: test666    Partition: 0    Leader: 0    Replicas: 0,2,1    Isr: 0,2,1

CentOS 7 下 Kafka 集群安装

输出参数解释:

第一行是对所有分区的一个描述,然后每个分区都会对应一行,因为我们只有一个分区所以下面就只加了一行。

Leader:负责处理消息的读和写,Leader 是从所有节点中随机选择的。

Replicas:列出了所有的副本节点,不管节点是否在服务中

Isr:是正在服务中的节点

由上可见,此时的 leader 是 0

下文会 kill 0,看 leader 是否更改

8. 往 test666 中发送消息:

1 [root@centos7 bin]# ./kafka-console-producer.sh --broker-list localhost:19092,localhost:19093,localhost:19094 --topic test666
2 hello kafka!
3 hello littleMonster!
4 hello world!

CentOS 7 下 Kafka 集群安装

9. 接收消息:

1 [root@centos7 bin]# ./kafka-console-consumer.sh --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --topic test666 --from-beginning
2 hello kafka!
3 hello littleMonster!
4 hello world!

CentOS 7 下 Kafka 集群安装

消息接收成功。

10. 找到为 0 的 leader 的进程,并杀死

1 [root@centos7 /]# ps -ef | grep ka

CentOS 7 下 Kafka 集群安装

1 [root@centos7 /]# kill -9 25285

11. 再次查看 topic 状态:

1 [root@centos7 bin]# ./kafka-topics.sh --describe --zookeeper 192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003 --topic test666
2 Topic:test666    PartitionCount:1    ReplicationFactor:3    Configs:
3     Topic: test666    Partition: 0    Leader: 2    Replicas: 0,2,1    Isr: 2,1

CentOS 7 下 Kafka 集群安装

由此可见,在 Isr(正在服务中的节点)项,0 已消失,新选举出的 leader 是 2。

12. 再次发送消息 CentOS 7 下 Kafka 集群安装

接收消息

CentOS 7 下 Kafka 集群安装

消息正常接收,该测试通过。

CentOS 7.2 部署 Elasticsearch+Kibana+Zookeeper+Kafka  http://www.linuxidc.com/Linux/2016-11/137636.htm

CentOS 7 下安装 Logstash ELK Stack 日志管理系统  http://www.linuxidc.com/Linux/2016-08/134165.htm

Apache Kafka 代码实例 http://www.linuxidc.com/Linux/2013-11/92754.htm

Apache Kafka 教程笔记 http://www.linuxidc.com/Linux/2014-01/94682.htm

Apache kafka 原理与特性 (0.8V)  http://www.linuxidc.com/Linux/2014-09/107388.htm

Kafka 部署与代码实例  http://www.linuxidc.com/Linux/2014-09/107387.htm

Kafka 介绍和集群环境搭建  http://www.linuxidc.com/Linux/2014-09/107382.htm

Kafka 的详细介绍 :请点这里
Kafka 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139734.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4037字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19356
评论数
4
阅读量
8320816
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费 10GB 永久存储 + WebDAV 部署 + 图床搭建,多平台联动一步到位! 大家好,我...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
飞牛NAS升级到最新版,有线无法获取IP、无线网络莫名打开的BUG问题

飞牛NAS升级到最新版,有线无法获取IP、无线网络莫名打开的BUG问题

  飞牛 NAS 升级到最新版,有线无法获取 IP、无线网络莫名打开的 BUG 问题 星哥的飞牛 N...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...