java kafka搭建,Apache Kafka 安装步骤

概览

安装过程总共分为 3 大块,第一 Java 环境不必多说,第二 Zookeeper 安装,第三 Kafka 安装。

概念了解

Kafka 有几个重要的概念需要先了解一下

名词

解释

broker

可以理解为 Kafka 所在的服务器

ZooKeeper

分布式服务框架在 Kafka 中的作用主要负责保存 topic,partition 元数据,和对 broker 的监控及治理,以及 partition 的 leader 选举(partition 可以有多个副本,但是只有一个处于工作状态,副本只是负责同步数据,当 leader partition 死掉了,会把一个副本的 partition 升级为 leader )

topic

主题,可以理解为消息的分类

partition

分区,从大的概念来说 topic 中的消息都是存放在 patition 中,一个 topic 可以有多个 partition, 一个 partition 可以有多个副本

offset

偏移量,在 Kafka 中 offset 是 partition 中消息序列号,可以认为是这个消息的唯一标识

segment

多个大小相等的 segment file (段) 组成了一个 partition

Java 环境安装

ZooKeeper框架安装

下载ZooKeeper

cd /opt

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

tar zvxf zookeeper-3.4.14.tar.gz

创建配置文件

cd zookeeper-3.4.14

# 创建数据目录 #

mkdir data

cd conf

cp zoo_sample.cfg zoo.cfg

修改 dataDir

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/opt/zookeeper-3.4.14/data

# the port at which the clients will connect

clientPort=2181

# the maximum number of client connections.

# increase this if you need to handle more clients

#maxClientCnxns=60

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

切到 ZK 安装目录,接下来就可以启动 zookeeper 服务器了。

启动 ZooKeeper 服务器

cd /opt/zookeeper-3.4.14 && bin/zkServer.sh start

停止 Zookeeper 服务器

cd /opt/zookeeper-3.4.14 && bin/zkServer.sh stop

重启 Zookeeper 服务器

cd /opt/zookeeper-3.4.14 && bin/zkServer.sh restart

启动响应:

[root@vm172-31-110-6 zookeeper-3.4.14]# bin/zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

启动 CLI 连接 ZK,测试连通性,会看到 Welcome to ZooKeeper! 的回显。

cd /opt/zookeeper-3.4.14 && bin/zkCli.sh

Apache Kafka安装

下载 Kafka

cd /opt

wget http://archive.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz

tar zvxf kafka_2.12-2.2.0.tgz

cd /opt/kafka_2.12-2.2.0

配置文件

config/server.properties

启动 Kafka

bin/kafka-server-start.sh config/server.properties

# 生产环境,后台运行 #

cd /opt/kafka_2.12-2.2.0 && nohup bin/kafka-server-start.sh config/server.properties &

停止 Kafka

cd /opt/kafka_2.12-2.2.0 && bin/kafka-server-stop.sh config/server.properties

基本操作

创建一个名为 Hello-Kafka 的主题,其中包含一个分区和一个副本因子。

创建 topic 后,您可以在终端窗口中获取通知,可以在 /tmp/kafka-logs 中看到创建 topic 的日志。

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic Hello-Kafka

要获取 Kafka 服务器中的 topic 列表

bin/kafka-topics.sh --list --zookeeper localhost:2181

启动生产者以发送消息

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Hello-Kafka

启动消费者以接收消息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic Hello-Kafka --from-beginning

删除主题

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic Hello-kafka

界面管理工具

总结

Apache Kafka 教程 https://www.w3cschool.cn/apache_kafka/

以上是 Kafka 安装和一些使用的简单操作,生产环境 Kafka Cluster 的配置和运维比这复杂一些,需要修改不同的配置文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java的for-each循环

for (循环变量类型 循环变量名称 : 要被遍历的对象) 例&#xff1a; for (String string:str) for(int i0;i<str.size();i){   String string str[i];} 上面代码简单点来描述就是把str里的内容依次遍历给string转载于:https://www.cnblogs.com/CYG7/p/7289497.html

3D原子映射有助于研究生命的起源

Chi Ma/Royal Ontario Museum来源&#xff1a;IEEE电气电子工程师一种相对较新的研究原子的技术可能会对地球上生命的起源提供更多的线索。科学家利用三维原子图&#xff08;特别是原子探针层析成像&#xff09;发现&#xff0c;太阳系中最古老的分子流体本可以支持氨基酸的发展…

java7 uri,细数Java8中那些让人纵享丝滑的文件操作

在丑陋的 Java I/O 编程方式诞生多年以后&#xff0c;Java终于简化了文件读写的基本操作。打开并读取文件对于大多数编程语言来是非常常用的&#xff0c;由于 I/O 糟糕的设计以至于很少有人能够在不依赖其他参考代码的情况下完成打开文件的操作。在 Java7 中对此引入了巨大的改…

混合现实未来的八大应用场景

来源&#xff1a;诚迈科技近日&#xff0c;福布斯发布了一篇关于混合现实未来的八个值得关注的领域和应用场景。文中提到&#xff1a;随着时间的推移&#xff0c;技术永远在不断进展&#xff0c;而未来技术中很可能是AR和VR的结合形式。有报告显示&#xff1a;2024年&#xff0…

也来分析为什么支付宝要做社交

也来分析为什么支付宝要做社交 近期。身边的同事和朋友似乎对使用支付宝有点“走火入魔”了。常常有人在支付宝里面请求加我为好友。大家在食堂吃饭的时候也在讨论今天加了谁谁谁为好友。一问才知道。原来假设加入好友达到一定的数量&#xff0c;将有机会在春节期间抢支付宝发出…

4个重要的量子理论实验综述

文章原载于&#xff1a;大数据01 量子理论量子理论是一个容易让人迷惑的理论&#xff0c;因此&#xff0c;如果我们想准确地了解其概况&#xff0c;就需要非常谨慎。与大多数自牛顿著作和其他17世纪晚期科学家著作问世以来出现的物理学成果一样&#xff0c;量子理论是一个以数学…

php中intval函数用法,php intval函数用法总结

语法&#xff1a;int intval ( $var, $base )参数&#xff1a;此函数接受两个参数&#xff0c;其中一个是必需的&#xff0c;而另一个是可选的。参数如下所述&#xff1a;$var&#xff1a;这是一个必需参数&#xff0c;用作需要转换为整数值的变量。$base&#xff1a;它是一个可…

转:mysql group by 用法解析(详细)

group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计&#xff0c;最终得到一个分组汇总表。 SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。 某个员工信息表结构和数据如下&#xff1a; id name…

前沿|《细胞》:绕过眼睛植入幻觉,科学家成功在盲人脑海中呈现指定图像!...

该文章内容转载自学术头条对于全球 5000 多万盲人来说&#xff0c;重见光明是一个遥不可及的梦想。而为了与盲人朋友进行交互&#xff0c;我们发明了盲文&#xff0c;用各种凸起的字符集合来表达各种意思。但这种通过手指触摸来识别的方式太过低效。随着脑科学研究的深入&#…

mysql error1045 yes,MySQLERROR1045(28000)错误的解决办法

错误现象&#xff1a;ERROR 1045 (28000): Access denied for userODBClocalhost(using password: NO)ERROR 1045 (28000): Access denied for userODBClocalhost(using password: YES)windows下&#xff0c;以上两个错误的解决方法&#xff0c;本人亲测有效&#xff0c;现分享…

软件测试常考面试题-软件测试面试宝典 ---面试过程中踩过的坑

问&#xff1a;你在测试中发现了一个 bug &#xff0c;但是开发经理认为这不是一个 bug &#xff0c;你应该怎样解决。 首先&#xff0c;将问题提交到缺陷管理库里面进行备案。 然后&#xff0c;要获取判断的依据和标准&#xff1a; 根据需求说明书、产品说明、设计文档等&am…

Soft robotics:造仿生昆虫机器人柔性骨骼新技术,只需2小时,成本不到7块!

来源&#xff1a;量子位原标题&#xff1a;只需2小时&#xff0c;成本不到7块&#xff0c;你我皆可制作的3D机器人机器人的骨架能像昆虫那般灵活、健壮吗&#xff1f;这个问题一直困扰着研究人员。以往&#xff0c;要么制作工艺太过复杂&#xff0c;耗的时间长&#xff1b;要么…

向量归一化的matlab程序,向量X的归一化及其Matlab简单示例

徐海蛟博士归一化是要把需要处理的数据经过处理后限制在一定范围内&#xff0c;例如&#xff1a;[-1,1]或[0,1]。归一化是为了后续数据处理的方便&#xff0c;也使得算法程序收敛加快。在Matlab里面&#xff0c;归一化的方法共有3种:(1)mapminmax% 范围映射(2)mapstd% 均值与偏…

vue中检测对象和数组值变化的问题

今天工作中遇到改变vue data中某个对象的值&#xff0c;却无法触发视图更新的问题。看了看官方文档&#xff0c;怎么解决的呢&#xff1f; 1、检测对象的变化 受现代 JavaScript 的限制&#xff08;以及废弃 Object.observe&#xff09;&#xff0c;Vue 不能检测到对象属性的添…

2019-2020年半导体行业深度报告

来源&#xff1a;华安证券新科技起点&#xff0c;不可缺芯半导体位于电子行业中游。通过集成电路、分立器件、被动器件在 PCB 上组合形 成模组&#xff0c;构成了手机、电脑、工业、航空航天、军事装备等电子产品的核心。这些产 品又直接影响到国家的发展、社会的进步以及个人的…

php tool pagination,php实现分页工具类分享

代码&#xff1a;/*** 把中间的看成一个可以滑动的固定长度的尺子** 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子&#xff0c;* 然后$this->_totalPages就是一个给定长度的木块&#xff0c;尺子在这个* 木块上滑动。情况两种&#xff1a;* 1. 尺子长度大于…

js题集15

1.CORS和JSONP区别&#xff1f; 2.如何规避同源策略&#xff1f; eg&#xff1a;访问iframe 3.如何实现 一个算法的不变的部分&#xff0c;并将可变的行为留给子类来实现 简单写一个demo转载于:https://www.cnblogs.com/tong24/p/7305772.html

5G 智慧城市安全参考架构概述

来源&#xff1a;安全内参2020年5月12日&#xff0c;IMT-2020(5G)推进组安全工作组发布了《5G智慧城市安全需求与架构白皮书》&#xff0c;本文节选自该白皮书&#xff0c;主要概述了5G 智慧城市安全参考框架。该框架是参考GB/T 37971-2019《信息安全技术 智慧城市安全体系框架…

vue 学习笔记—路由篇

一.关于三种路由 动态路由 就是path:good/:ops 这种 用 $route.params接收  <router-link>是用来跳转 <router-view></router-view>用来盛放内容的容易 在routes 里面进行配置 [{ path:,name:,component:}] path为router-link的路径 component为 …

MEMS传感器的未来在哪?

来源&#xff1a;MEMS技术1 引言陀螺是用于测量载体相对惯性空间旋转运动中运动角速度和角度的传感器&#xff0c;是运动控制、姿态监测、导航制导等领域的核心器件&#xff0c;在工业和国防领域具有广泛且重要的应用。陀螺从原理上可分为基于高速旋转刚体的定轴性与进动性工作…