Kafka集群安装(CentOS 7环境下)

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

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 [[email protected] config]# vi server.properties

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

其他两台服务器上的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-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

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

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 [[email protected] bin]# jps
2 25778 Kafka
3 26132 Jps
4 25285 Kafka
5 25014 QuorumPeerMain
6 25064 QuorumPeerMain
7 25531 Kafka
8 25116 QuorumPeerMain

4.使用客户端进入zk

1 [[email protected] 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 [[email protected] 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".

7. 查看topic状态:

1 [[email protected] 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

输出参数解释:

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

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

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

Isr:是正在服务中的节点

由上可见,此时的leader是0

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

8.往test666中发送消息:

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

9.接收消息:

1 [[email protected] 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!

消息接收成功。

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

1 [[email protected] /]# ps -ef | grep ka

1 [[email protected] /]# kill -9 25285

11.再次查看topic状态:

1 [[email protected] 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

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

12.再次发送消息

接收消息

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

时间: 2024-10-20 15:17:49

Kafka集群安装(CentOS 7环境下)的相关文章

Zookeeper集群安装(CentOS 7环境下)

一.环境操作系统和软件版本介绍 1.环境操作系统为CentOS Linux release 7.2.1511 (Core) 可用cat /etc/redhat-release查询 2.软件版本 Zookeeper版本为:3.4.9 注意:请用java –version检查环境有无安装JDK,如显示java版本信息,表示已安装,可以进行以下步骤.如无安装,请自行安装JDK并配置环境变量,再进行以下操作! 二.详细安装步骤 1.在zookeeper官网下载压缩包到/data/soft目录,此文下载版

kafka集群搭建(windows环境下)

一.简介 Kafka 是一个实现了分布式的.具有分区.以及复制的日志的一个服务.它通过一套独特的设计提供了消息系统中间件的功能.它是一种发布订阅功能的消息系统. 1.名词介绍 Message 消息,就是要发送的内容,一般包装成一个消息对象. Topic 通俗来讲的话,就是放置"消息"的地方,也就是说消息投递的一个容器.假如把消息看作是信封的话,那么 Topic 就是一个邮箱 Partition && Log Partition 分区,可以理解为一个逻辑上的分区,像是我们

Kafka集群安装与扩容

介绍略 集群安装: 一.准备工作: 1.版本介绍: 目前我们使用版本为kafka_2.9.2-0.8.1(scala-2.9.2为kafka官方推荐版本,此外还有2.8.2和2.10.2可以选择) 2.环境准备: 安装JDK6,目前使用版本为1.6,并配置JAVA_HOME 3.配置修改: 1)拷贝线上配置到本地kafka目录. 2)需要注意的是server.properties里broker和ip的指定,必须要唯一. 3)server.properties中log.dirs必须要手动指定.此配

KafKa集群安装、配置

一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.129   主机名:kafka01 192.168.145.130              kafka02 192.168.145.131              kafka03 4.本次安装版本:kafka_2.10-0.8.2.0 5.注意事项 ①:kafka依赖zookeeper集群. ②:集

Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装

Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kafka02 √ √ kafka03 √ √ 准备工作: 网络配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 # kafka01 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=sta

zookeeper+kafka集群安装之二

zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装参考: http://blog.csdn.net/ubuntu64fan/article/details/26678877 首先了解几个kafka中的概念: kafka是一个消息队列服务器,服务称为broker, 消息发送者称为producer, 消息接收者称为consumer; 通常我们部署多个b

mysql集群安装(centos)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! mysql集群安装(centos) mysql cluster : 1. 基于NDB Cluster 的分布式数据库系统 2. mysql集群中各服务器节点不共享数据 3. 在mysql cluster中节点指的是进程,区别于其他的集群中节点指的是计算机的情况, 因而在单台计算机上可以有任意多的节点 4. 三种节点: 1)管理节点: 管理cluster内其他节点; 包括启动,停止, 备份,配置等; 在启动其他节点前需要先启动管理节点

zookeeper+kafka集群安装之一

zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames: 192.168.8.182 zk1 192.168.8.183 zk2 192.168.8.184 zk3 2) 每台机器上安装jdk, zookeeper, kafka, 配置如下: $ vi /etc/profile ... # jdk, zookeeper, kafka export KA

kafka集群安装与配置

一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/apache/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz 解压该文件: tar zxvf kafka_2.10-0.8.2.2.tgz 注意kafka依赖于zookeeper和scala,以上tgz文件名中的2.10即为scala的版本号 zk和scala的安装在此不再赘述