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

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

可用cat /etc/RedHat-release查询

2.软件版本

Kafka版本为:0.10.0.0

二、软件的基础准备

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

三、详细安装搭建步骤

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

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文件

3.用vi命令打开server.properties

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

4.修改如下:

1 broker.id=0

2 port=19092

3 log.dirs=/data/app/kafkacluster/19093/bin/kafka-logs190924 zookeeper.connect=192.168.1.18:3001,192.168.1.18:3002,192.168.1.18:3003

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

再进入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-logs190934 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-logs190944 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.properties2 ./kafka-server-start.sh ../config/server2.properties

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

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)

3.验证启动进程

1 [root@centos7 bin]# jps2 25778Kafka3 26132Jps4 25285Kafka5 25014QuorumPeerMain6 25064QuorumPeerMain7 25531Kafka8 25116 QuorumPeerMain

4.使用客户端进入zk

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

2 Connecting to 192.168.1.18:3001

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]

上面的显示结果中:只有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 test6662 Created topic "test666".

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 test6662 Topic:test666 PartitionCount:1 ReplicationFactor:3Configs:3 Topic: test666 Partition: 0 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1

输出参数解释:

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

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 test6662 hello kafka!

3 hello littleMonster!

4 hello world!

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-beginning2 hello kafka!

3 hello littleMonster!

4 hello world!

消息接收成功。

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

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

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 test6662 Topic:test666 PartitionCount:1 ReplicationFactor:3Configs:3 Topic: test666 Partition: 0 Leader: 2 Replicas: 0,2,1 Isr: 2,1

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

12.再次发送消息

接收消息

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

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

Kafka 的详细介绍:请点这里

Kafka 的下载地址:请点这里

centos7搭建Linux集群,CentOS 7下Kafka集群安装相关推荐

  1. Windows下Kafka集群搭建

    一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...

  2. centos php支持yaf,CentOS环境下给PHP7.0安装yaf扩展

    | CentOS环境下给PHP7.0安装yaf扩展 在CentOS环境下给PHP7.0安装yaf扩展,首先要知道PHP的安装目录在哪里,以我当前的路径为例,在/usr/local/php目录下. 下一 ...

  3. CentOS 7下Trojan-go一键快速安装

    CentOS 7下Trojan-go一键快速安装 安装前置程序 一键安装trojan-go 自动续签证书 安装中可能遇到的问题 Trojan-go是什么请自行百度 安装前需要自备到国外VPS,一般配置 ...

  4. Kafka学习:CentOS7下Kafka集群搭建

    文章目录 准备 集群安装 1.创建目录 2.解压缩安装包 3.修改配置文件 4.启动 5.查看集群是否安装成功 测试Kafka 1.创建测试mytopic 2.查看mytopic副本信息 3.查看已创 ...

  5. win10下kafka集群安装+集成springboot

    kafka安装+集成springboot 记录kafka安装.学习.继承springboot的过程 文章目录 kafka安装+集成springboot 前言 一.kafka + zk的安装 1.zk的 ...

  6. linux php7 mongodb,CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis

    CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis 我是想能yum就yum,所有软件的版本一直会升级,注意自己当时的版本是不是已经更新了. 首先装CentOS 7 装好cento ...

  7. CentOS 8下 MySQL 8.0 安装部署(亲测)

    MySQL 8正式版8.0.11已发布,官方表示MySQL8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!到底谁最牛呢?请看:MySQL 5.7 vs 8.0,哪个性能更牛? 下载地址 ...

  8. python2.7.10安装教程_Linux系统(CentOS)下python2.7.10安装

    本文记录了Linux系统(CentOS)安装Python,供大家参考,具体内容如下 Python(Linux) 下载地址 操作系统:Centos6.4 1.下载 下载的版本:Python-2.7.10 ...

  9. centos7切换root为mysql,CentOS 7中使用rpm方式安装MySQL 5.7后无法使用root登录解决

    最近在CentOS 7中通过rpm方式安装了最新版本的mysql-server 5.7 (mysql57-community-release-el7-7.noarch.rpm) ,发现安装成功后无法使 ...

最新文章

  1. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)...
  2. TQ210——S5PV210中断体系
  3. 蚂蚁的开放:想办法摸到10米的篮筐
  4. android功耗(23)---gps定位开发省电要点
  5. 利用ros3djs接收pointcloud2在web端显示
  6. 19-background
  7. Qt汉字显示乱码的一个简单解决方案
  8. 为什么在微信的阴影下QQ依然是中国第二大App?
  9. 过期系统激活 win7
  10. Android键盘输入法(一)——键盘类型
  11. C++ for循环的几种使用方法
  12. 前后端交互必备之js数组方法大全
  13. 阿里云个人镜像仓库日常基本使用
  14. Arcgis中地理坐标系转投影坐标系(自定义地理坐标转换)
  15. 苏州新导RFID化工厂人员定位系统中的应用,化工厂人员定位你get到了吗?
  16. 《人人都是产品经理》读书摘抄(二)
  17. 已知某分页系统,主存容量为64KB,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。(1)将十进制的逻辑地址1023、2500、3500、4500转换
  18. 红旗linux开机快吗,红旗Linux操作系统加速(转)
  19. 15分钟破解网站验证码
  20. 前5名最佳SQL数据库恢复软件

热门文章

  1. linux7补丁安全,CentOS自动打重要安全补丁
  2. z17刷机miui12教程_《蝙蝠侠3百度影音》
  3. android应用启动页面显示不出来了,Android应用中启动页出现白屏如何解决
  4. shell脚本安装python_shell脚本安装python、pip
  5. matlab isinteger,MATLAB数据类型
  6. python开发小型数据库_Python开发【第十七篇】:MySQL(一)
  7. golang interface的使用和实现(翻译整理)
  8. 第八十四节,css布局小技巧及font-awesome图标使用
  9. 进程环境之环境表【转】
  10. 使用友盟进行apk的自动更新