热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheKafka入门-Kafka-manager的基本配置和运行

ApacheKafka入门Kafka的基本配置和运行Kafka命令详细介绍Kafka-manager的基本配置和运行KafkaAPI简单用法Spring

Apache Kafka 入门
  • Kafka的基本配置和运行
  • Kafka命令详细介绍
  • Kafka-manager的基本配置和运行
  • Kafka API 简单用法
  • Spring Boot 集成Kafka

Kafka支持Linux和WIndows环境,本文运行环境使用Linux(CentOS)。

本篇为第三篇。

Kafka-manager的基本配置和运行

想要查看和管理Kafka,完全使用命令并不方便,我们可以使用雅虎开源的Kafka-manager,GitHub地址如下:

https://github.com/yahoo/kafka-manager

我们可以使用Git或者直接从Releases中下载,此处从下面的地址下载 1.3.3.7 版本:

https://github.com/yahoo/kafka-manager/releases

下载完成后解压。

注意:上面下载的是源码,下载后需要按照后面步骤进行编译。如果觉得麻烦,可以直接从下面地址下载编译好的 kafka-manager-1.3.3.7.zip。
链接: http://pan.baidu.com/s/1qY8sGoO 密码: ye7b

准备

请先准备好Java8环境!

在开始安装官方文档进行配置前,因为Kafka-manager使用的Play框架,为了编译的速度更快,先配置sbt的maven仓库,由于默认仓库速度较慢,因此使用aliyun提供的maven仓库。

通过 cd ~进入当前用户目录,然后通过命令mkdir .sbt创建.sbt目录,进入创建的该目录,使用vi创建repositories文件,编辑内容如下:

[repositories]
local
aliyun: http://maven.aliyun.com/nexus/content/groups/public
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly

配置参考:http://www.scala-sbt.org/0.13.2/docs/Detailed-Topics/Library-Management.html#override-all-resolvers-for-all-builds

然后进入解压后的 Kafka-manager 目录,执行下面的命令:

> ./sbt clean dist

如果之前从来没有用过Play框架,这个步骤会需要一定时间,主要是下载依赖的jar包,使用aliyun的私服可以让这个过程缩短很多。

命令执行完成后,在 target/universal 目录中会生产一个zip压缩包kafka-manager-1.3.3.7.zip。将压缩包拷贝到要部署的目录下解压。

在解压后的conf目录中打开 application.conf文件,修改其中的配置信息,最主要的内容为:

kafka-manager.zkhosts="localhost:2181"

配置为Kafka的 zookeeper 服务器。你还可以通过环境变量ZK_HOSTS配置这个参数值。

其他详细的配置信息参考官方文档:https://github.com/yahoo/kafka-manager

启动

在解压的目录中,使用下面的命令启动Kafka-manager。

> bin/kafka-manager

默认情况下端口为9000,你还可以通过下面的命令指定配置文件和端口:

> bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=8080

如果没有配置Java的环境变量,还可以通过下面的方式指定Java8的目录:

> bin/kafka-manager -java-home /usr/local/oracle-java-8

启动后,从浏览器打开,显示如下:

这里写图片描述

配置集群

点击【Cluster】>【Add Cluster】打开如下添加集群的配置界面:

这里写图片描述

输入集群的名字(如Kafka-Cluster-1)和 Zookeeper 服务器地址(如localhost:2181)。

选择最接近的Kafka版本(如0.10.1.0)。

注意:如果没有在 Kafka 中配置过 JMX_PORT,千万不要选择第一个复选框。

Enable JMX Polling

如果选择了该复选框,Kafka-manager 可能会无法启动。

其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1的配置错误,需要配置为>=2的值。保存成功后,提示如下。

这里写图片描述

点击【Go to cluster view.】打开当前的集群界面。

这里写图片描述

在集群界面显示了主题和Broker的个数,点击数字可以查看具体的信息。

同时在顶部多了好几个菜单,可以查看集群、Broker、主题等信息。

新建主题

点击【Topic】>【Create】可以方便的创建并配置主题。如下显示。

这里写图片描述

这里只在Topic中输入t1(或其他名字),分区和复制因子这里简单说明一下,详细的可以查看官方介绍。

这里写图片描述

在上图一个Kafka集群中,有两个服务器,每个服务器上都有2个分区。P0,P3可能属于同一个主题,也可能是两个不同的主题。

如果设置的Partitons和Replication Factor都是2,这种情况下该主题的分步就和上图中Kafka集群显示的相同,此时P0,P3是同一个主题的两个分区。P1,P2也是同一个主题的两个分区,Server1和Server2其中一个会作为Leader进行读写操作,另一个通过复制进行同步。

如果设置的Partitons和Replication Factor都是1,这时只会根据算法在某个Server上创建一个分区,可以是P0~4中的某一个(分区都是新建的,不是先存在4个然后从中取1个)。

这里我们都设置为1,点击【Create】然后进入创建的这个主题,显示如下。

这里写图片描述

这里显示了主题的基本信息,在右侧中间的Broker这里显示了当前的Broker Id为0,分区数为1,如果集群中存在多个服务,在创建该主题时,不一定会分配到哪个Broker。

这个页面的右上部分显示了针对主题的一些操作。这些操作相对命令的方式简单和直观了很多。

其他操作

关于kafka-manager的其他功能和操作可以参考官网:https://github.com/yahoo/kafka-manager。


推荐阅读
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
author-avatar
草莓公主滴窝窝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有