安装Zookeeper和Kafka集群

安装Zookeeper和Kafka集群

本文介绍如何安装Zookeeper和Kafka集群。为了方便,介绍的是在一台服务器上的安装,实际应该安装在多台服务器上,但步骤是一样的。

安装Zookeeper集群

下载安装包

从官网上下载安装包:

curl https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz -o apache-zookeeper-3.7.1-bin.tar.gz

解压:

tar xvf apache-zookeeper-3.7.1-bin.tar.gz 

配置

创建目录 zk1,然后添加如下配置:

zk1/myid:

1

zk1/zk.config:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/larry/IdeaProjects/pkslow-samples/other/install-kafka-cluster/src/main/zookeeper/zk1
clientPort=2181

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

对于zk2zk3也重复同样的步骤,并修改相应的配置:

zk2/myid:

2

zk2/zk.config:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/larry/IdeaProjects/pkslow-samples/other/install-kafka-cluster/src/main/zookeeper/zk2
clientPort=2182

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

zk3/myid:

3

zk3/zk.config:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/Users/larry/IdeaProjects/pkslow-samples/other/install-kafka-cluster/src/main/zookeeper/zk3
clientPort=2183

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

启动集群

启动三个服务如下:

$ ./apache-zookeeper-3.7.1-bin/bin/zkServer.sh start ./zk1/zk.config 
ZooKeeper JMX enabled by default
Using config: ./zk1/zk.config
Starting zookeeper ... STARTED

$ ./apache-zookeeper-3.7.1-bin/bin/zkServer.sh start ./zk2/zk.config 
ZooKeeper JMX enabled by default
Using config: ./zk2/zk.config
Starting zookeeper ... STARTED

$ ./apache-zookeeper-3.7.1-bin/bin/zkServer.sh start ./zk3/zk.config 
ZooKeeper JMX enabled by default
Using config: ./zk3/zk.config
Starting zookeeper ... STARTED

查看状态

通过status命令查看:

$ ./apache-zookeeper-3.7.1-bin/bin/zkServer.sh status ./zk1/zk.config 
ZooKeeper JMX enabled by default
Using config: ./zk1/zk.config
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower


$ ./apache-zookeeper-3.7.1-bin/bin/zkServer.sh status ./zk2/zk.config 
ZooKeeper JMX enabled by default
Using config: ./zk2/zk.config
Client port found: 2182. Client address: localhost. Client SSL: false.
Mode: leader


$ ./apache-zookeeper-3.7.1-bin/bin/zkServer.sh status ./zk3/zk.config 
ZooKeeper JMX enabled by default
Using config: ./zk3/zk.config
Client port found: 2183. Client address: localhost. Client SSL: false.
Mode: follower

连接其中一个服务并添加数据:

$ ./apache-zookeeper-3.7.1-bin/bin/zkCli.sh -server localhost:2181

[zk: localhost:2181(CONNECTED) 0] create /pkslow
Created /pkslow
[zk: localhost:2181(CONNECTED) 1] create /pkslow/website www.pkslow.com
Created /pkslow/website

连接另外一个服务,并查看数据,发现与之前创建的是一样的:

$ ./apache-zookeeper-3.7.1-bin/bin/zkCli.sh -server localhost:2182

[zk: localhost:2182(CONNECTED) 1] get /pkslow/website
www.pkslow.com

目录结构如下:安装Zookeeper和Kafka集群

安装Kafka集群

下载安装包

通过官网下载如下:

curl https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz -o kafka_2.13-3.4.0.tgz

解压安装包:

tar -xzf kafka_2.13-3.4.0.tgz

配置

Broker 1的配置如下:

broker.id=1
port=9091
listeners=PLAINTEXT://:9091
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
log.dirs=/Users/larry/IdeaProjects/pkslow-samples/other/install-kafka-cluster/src/main/kafka/kafka1/kafka-logs

Broker 2的配置如下:

broker.id=2
port=9092
listeners=PLAINTEXT://:9092
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
log.dirs=/Users/larry/IdeaProjects/pkslow-samples/other/install-kafka-cluster/src/main/kafka/kafka2/kafka-logs

Broker 3的配置如下:

broker.id=3
port=9093
listeners=PLAINTEXT://:9093
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
log.dirs=/Users/larry/IdeaProjects/pkslow-samples/other/install-kafka-cluster/src/main/kafka/kafka3/kafka-logs

目录结构如下:

安装Zookeeper和Kafka集群

启动集群

启动kafka服务如下:

./kafka_2.13-3.4.0/bin/kafka-server-start.sh ./kafka1/server.properties
./kafka_2.13-3.4.0/bin/kafka-server-start.sh ./kafka2/server.properties
./kafka_2.13-3.4.0/bin/kafka-server-start.sh ./kafka3/server.properties

检查如测试

创建topic:

$ kafka_2.13-3.4.0/bin/kafka-topics.sh --create --topic pkslow-topic --bootstrap-server localhost:9091,localhost:9092,localhost:9093 --partitions 3 --replication-factor 3
Created topic pkslow-topic.

列出topic:

$ kafka_2.13-3.4.0/bin/kafka-topics.sh --list --bootstrap-server localhost:9091,localhost:9092,localhost:9093
pkslow-topic

查看topic:

$ kafka_2.13-3.4.0/bin/kafka-topics.sh --describe --topic pkslow-topic --bootstrap-server localhost:9091,localhost:9092,localhost:9093
Topic: pkslow-topic     TopicId: 7CLy7iZeRvm8rCrn8Dw_mA PartitionCount: 3       ReplicationFactor: 3    Configs: 
        Topic: pkslow-topic     Partition: 0    Leader: 3       Replicas: 3,1,2 Isr: 3,1,2
        Topic: pkslow-topic     Partition: 1    Leader: 1       Replicas: 1,2,3 Isr: 1,2,3
        Topic: pkslow-topic     Partition: 2    Leader: 2       Replicas: 2,3,1 Isr: 2,3,1

生产者发消息到brokers:

$ kafka_2.13-3.4.0/bin/kafka-console-producer.sh --broker-list localhost:9091,localhost:9092,localhost:9093 --topic pkslow-topic
>My name is Larry Deng.
>My website is www.pkslow.com.
>

消费者从brokers收消息:

$ kafka_2.13-3.4.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:9091,localhost:9092,localhost:9093 --topic pkslow-topic --from-beginning
My name is Larry Deng.
My website is www.pkslow.com.

代码

配置可以参考 GitHub pkslow-samples

原文链接:https://www.cnblogs.com/larrydpk/p/17325843.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:安装Zookeeper和Kafka集群 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • MybatisPlus 多租户架构(Multi-tenancy)实现详解

    “MybatisPlus 多租户架构(Multi-tenancy)实现详解”旨在为需要在一个应用中支持多个租户的开发人员提供一种解决方案。在这个架构中,多个租户可以共享相同的代码库和实例,并在逻辑上隔离数据。 实现多租户架构需要考虑以下三个方面: 租户隔离 使用 Mybatis-Plus 提供的 SqlParserInterceptor 对 SQL 进行拦截…

    Java 2023年5月20日
    00
  • spring boot入门之诞生背景及优势影响

    Spring Boot入门之诞生背景及优势影响 1. 诞生背景 Spring Boot是一个开源Java项目,它是由Spring Framework团队开发的一款快速构建生产级别应用程序的框架。它的诞生背景是为了减少Spring应用程序的复杂性,同时提供一种非常便捷的方式来构建生产就绪的Spring应用程序。 传统的Spring Framework需要进行大…

    Java 2023年5月31日
    00
  • Spring 5.0集成log4j2日志管理的示例代码

    下面详细讲解一下“Spring 5.0集成log4j2日志管理的示例代码”的完整攻略。 一、前置知识 在讲解Spring 5.0集成log4j2日志管理的示例代码前,需要了解一下以下基础知识: log4j2:是一个Java的日志框架,可以帮助Java开发者在应用程序中打印日志; Spring 5.0:是一个Java应用程序框架,可以帮助开发者创建Web应用程…

    Java 2023年5月19日
    00
  • Spring Boot Logging Level设置为off时的Bug

    为了更好的解释“Spring Boot Logging Level设置为off时的Bug”问题以及解决方案,我们需要先了解以下几个问题: 什么是Logging Level Spring Boot默认的Logging Level设置 Logging Level为off时会出现什么问题 如何避免Logging Level为off导致的问题 现在我们按照这个顺序来…

    Java 2023年5月20日
    00
  • Java设计模式之java外观模式详解

    Java外观模式是一种结构型设计模式,它可以为复杂的子系统提供一个简单的接口。通过使用外观模式,我们可以将整个子系统的复杂性隐藏在一个简单的接口后面,让客户端只需要与这个简单的接口进行交互,不需要关心具体实现细节。 外观模式的使用场景 外观模式在以下情况下可以得到应用: 当一个复杂的系统需要被分成多个子系统时,可以使用外观模式对外提供一个简单的接口,以隐藏子…

    Java 2023年5月24日
    00
  • 使用Java编写一个简单的Web的监控系统

    使用Java编写一个简单的Web监控系统需要以下几个步骤: 选择合适的监控框架:选择一个合适的监控框架来实现Web的监控,比如可以选择Spring Boot Actuator、Micrometer Actuator等。这些框架已经内置了一些用于监控Web应用程序的功能,包括HTTP请求记录、应用程序指标收集等等。 设置监控端点:在监控框架中配置监控端点,使得…

    Java 2023年5月19日
    00
  • 安装Java时怎么拦截推广软件?

    下面是“安装Java时怎么拦截推广软件”的完整攻略: 1. 下载Java安装程序 首先,我们需要从Oracle官网上下载Java的安装程序,选择适合自己系统的版本,然后双击运行安装程序。 2. 进入安装向导 在开始安装Java之前,系统会询问你是否同意Oracle的许可协议,同意后点击“下一步”按钮。接着你会看到“选择安装选项”界面,我们需要选择“自定义安装…

    Java 2023年5月26日
    00
  • Springboot启动同时创建数据库和表实现方法

    下面我将为您详细讲解“Springboot启动同时创建数据库和表实现方法”的完整攻略。 策略及注意事项 网站的作者需要了解的是,在Spring Boot启动的过程中,我们可以通过执行一些脚本或类的方式来初始化数据库。常见的方法有两种: 嵌入式数据库:使用内嵌的H2、HSQLDB等数据库来实现。这种方式非常适合测试和开发环境,因为没有独立的数据库,简单易用。 …

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部