加米谷大数据:Kafka之Manager详解 |
您所在的位置:网站首页 › kafka生产命令 › 加米谷大数据:Kafka之Manager详解 |
原标题:加米谷大数据:Kafka之Manager详解 作为一个分布式的消息发布-订阅系统,Apache Kafka在 Yahoo内部已经被很多团队所使用,例如媒体分析团队就将其应 用到了实时分析流水线中,同时,Yahoo整个Kafka集群处理的峰值带宽超过了 20Gbps(压缩数据)。为了让开发者和服 务工程师能够更加简单地维护Kafka集群,Yahoo构建了一个基于Web的管理工具,称为Kafka Manager,日前该项目已经 在GitHub上开源。 通过Kafka Manager用户能够更容易地发现集群中哪些主题或者分区分布不均匀,同时能够管理多个集群,能够更容易地 检查集群的状态,能够创建主题,执行首选的副 本选择,能够基于集群当前的状态生成分区分配,并基于生成的分配执 行分区的重分配,此外,Kafka Manager还是一个非常好的可以快速查看集群状态的工具。 Kafka Manager使用Scala语言编写,其Web控制台基于Play Framework实现,除此之外,Yahoo还迁移了一些Apache Kafka的帮助程序以便能够与Apache Curator框架一起工作。 安装Kafka Manager需要Kafka 0.8.1.1或者0.8.2-beta、sbt 0.13.x以及Java 7+,同时还必须要配置一个zookeeper的 主机用来管理Kafka Manager的状态。如果想要了解更多与安装配置相关的信息,可以点击这里。另外,在HackerNews上 还有一些有关于该开源项目的讨论,感兴趣的读者不妨查看这里。 Kafka在雅虎 Kafka在雅虎内部被很多团队使用,媒体团队用它做实时分析流水线,可以处理高达20Gbps(压缩数据)的峰值带宽。 为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的 的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快 速浏览这个集群的工具。 该软件是用Scala语言编写的。目前(2015年02月03日)雅虎已经开源了Kafka Manager工具。这款Kafka集群管理工具主要 展开全文支持以下几个功能: 1、管理几个不同的集群; 2、很容易地检查集群的状态(topics, brokers, 副本的分布, 分区的分布); 3、选择副本; 4、产生分区分配(Generate partition assignments)基于集群的当前状态; 5、重新分配分区。 以下是该集群管理工具的截图 配置 系统最少需要配置zookeepe集群的地址,可以在kafka-manager安装包的conf目录下面的application.conf文件中进行配 置。例如: kafka-manager.zkhosts="my.zookeeper.host.com:2181" 你可以指定多个zookeeper地址,用逗号分隔: kafka-manager.zkhosts="my.zookeeper.host.com:2181,other.zookeeper.host.com:2181" 另外, 如果你不想硬编码,可以使用环境变量ZK_HOSTS。 ZK_HOSTS="my.zookeeper.host.com:2181" 部署 下面的命令创建一个可部署应用的zip文件。 sbt clean dist 请参阅在生产部署的框架文档。 如果java不在您的路径,或者你需要建立针对特定的Java版本,请使用以下(例子中假设的是Java8): $ PATH=/usr/local/oracle-java-8/bin:$PATH \ JAVA_HOME=/usr/local/oracle-java-8 \ /path/to/sbt -java-home /usr/local/oracle-java-8 dist clean 这确保你的路径中的 java' 和 'javac' 的二进制文件是 oracle 发布的 java8 版本中的。下一步,监听JAVA_HOME 的 所有工具,它指向它们的 oracle 发布的 java8 位置。最后,它告诉 sbt 使用 oracle 发布的 java8 位置。 启动服务 解压刚刚的zip文件,然后启动它: $ bin/kafka-manager 默认情况下,端口为9000。可覆盖,例如: $ bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=8080 再如果java不在你的路径中,或你需要针对不同的版本,增加-java-home选项: $ bin/kafka-manager -java-home /usr/local/oracle-java-8 打包 如果你像创建Debian或ROM安装包,你可以使用下面命令打包: sbt debian:packageBin sbt rpm:packageBin 信用 Logo/favicon used is from Apache Kafka. Most of the utils code has been adapted to work with Apache Curator from Apache Kafka. 许可证 Apache Licensed. See accompanying LICENSE file返回搜狐,查看更多 责任编辑: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |