安装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日

相关文章

  • jsp和servlet中实现页面跳转的方式实例总结

    让我来为你详细讲解在JSP和Servlet中实现页面跳转的方式。 1. 前言 通常情况下,当用户访问我们的Web应用程序时,我们需要展示若干个页面给用户。这些页面之间需要相互跳转,让用户能够顺畅地操作网站。在JSP和Servlet中有多种方式实现页面跳转,接下来我将会对这些方式做出总结。 2. response.sendRedirect()方法 respon…

    Java 2023年6月15日
    00
  • vscode搭建java开发环境的实现步骤

    以下是VS Code搭建Java开发环境的实现步骤。 环境要求 VS Code Java开发工具包(JDK) VS Code插件:Java Extension Pack 步骤一:安装JDK 在官方网站 下载JDK,根据自己电脑的系统选择对应的JDK版本进行下载和安装。 安装完成后,配置JAVA_HOME环境变量,将其指向JDK的安装目录。 步骤二:安装VS …

    Java 2023年5月19日
    00
  • java向数据库插入数据显示乱码的几种问题解决

    下面我将详细讲解“java向数据库插入数据显示乱码的几种问题解决”的完整攻略。 问题描述 在使用Java向数据库插入数据时,有时会出现插入的数据显示乱码的情况。这时需要针对性地解决这个问题。 解决方案 Java向数据库插入数据出现乱码的情况,主要是因为字符集不统一导致。下面就来介绍几种解决方式。 1.配置JDBC连接的字符集 在Java程序连接数据库时,可以…

    Java 2023年5月20日
    00
  • Java Servlet输出中文乱码问题解决方案

    针对“Java Servlet输出中文乱码问题解决方案”,我来给你一个完整的攻略。具体步骤如下: 1. 设置请求和响应的编码方式 在Servlet中,我们需要设置请求和响应的编码方式为utf-8,即: request.setCharacterEncoding("utf-8"); // 设置请求编码方式为utf-8 response.set…

    Java 2023年5月20日
    00
  • 这是我的战争前期前五天玩法介绍

    我的战争前期前五天玩法介绍 在《我的战争》游戏中,前期的五天非常关键,这里提供一些玩家可以使用的策略来存活和发展。 1. 初期资源的获取 在游戏的开始,资源非常有限,但是这并不意味着你不能快速发展。第一天,最重要的任务是保持活下来,建立一个可以保护你的基地。最好的方法是寻找资源点并获得最初的几个资源,例如金属和木材,而不是在第一天建造建筑。 2. 建立初期的…

    Java 2023年6月16日
    00
  • java实现可视化界面肯德基(KFC)点餐系统代码实例

    Java实现可视化界面肯德基(KFC)点餐系统 1. 系统介绍 本系统是基于Java编程语言实现的可视化界面肯德基(KFC)点餐系统。该系统通过图形用户界面(GUI)实现了用户对菜品的选择,购物车的添加与删除等基本操作。本系统的目标是帮助用户更加方便、快捷地选择自己喜欢的肯德基(KFC)菜品,并实现订单的管理和处理。 2. 系统实现 2.1 系统功能 本系统…

    Java 2023年5月24日
    00
  • 详细总结IDEA中打jar包的两种方式

    下面我会详细讲解“详细总结IDEA中打jar包的两种方式”的完整攻略。通常情况下,我们需要将我们的Java项目打成可执行的jar包,以便将程序部署在不同的环境中。在IDEA中,有两种常见的方式可以用来打jar包,分别是通过Maven插件打包和通过IDEA的构建工具打包。 通过Maven插件打包 步骤如下: 在pom.xml文件中,添加以下的plugin代码块…

    Java 2023年5月26日
    00
  • Java实现多个数组间的排列组合

    Java实现多个数组间的排列组合,可以通过使用递归实现。具体步骤如下: 1.定义递归方法,其中参数包括原始数组列表、临时结果列表、深度(代表当前已经处理完的数组层数)、结果列表(存储最终结果) 2.当深度达到原始数组列表的大小时,将临时结果列表添加到结果列表中 3.遍历当前原始数组,逐个取出数组中的元素,添加到临时结果列表中 4.每取出一个数组元素,深度加1…

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