Kafka Topic Api
Pom:
- <dependency>
- <groupId>org.apache.kafka</groupId>
- <artifactId>kafka_2.10</artifactId>
- <version>0.10.1.0</version>
- </dependency>
JavaCode:
- package com;
- import kafka.admin.AdminUtils;
- import kafka.admin.RackAwareMode;
- import kafka.server.ConfigType;
- import kafka.utils.ZkUtils;
- import org.apache.kafka.common.security.JaasUtils;
- import org.junit.Test;
- import scala.collection.JavaConversions;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- /**
- *
- *
- * 测试kafka Topic CRUD
- * @author chenwen
- *
- */
- public class TestKafkaApi {
- /**
- *
- * 创建topic
- */
- @Test
- public void createTopic() {
- ZkUtils zkUtils = ZkUtils.apply("172.16.11.224:2181", 30000, 30000, JaasUtils.isZkSecurityEnabled());
- // 创建一个单分区单副本名为test的topic
- AdminUtils.createTopic(zkUtils, "test",
- 1, // 分区数
- 1, // 副本数
- new Properties(),
- RackAwareMode.Enforced$.MODULE$);
- zkUtils.close();
- }
- /**
- *
- * 删除topic
- *
- */
- @Test
- public void deleteTopic() {
- ZkUtils zkUtils = ZkUtils.apply("172.16.11.224:2181", 30000, 30000, JaasUtils.isZkSecurityEnabled());
- // 删除topic 'test'
- AdminUtils.deleteTopic(zkUtils, "test");
- zkUtils.close();
- }
- /**
- *
- * 查询某个topic的属性
- *
- */
- @Test
- public void query() {
- ZkUtils zkUtils = ZkUtils.apply("172.16.11.224:2181", 30000, 30000, JaasUtils.isZkSecurityEnabled());
- // 获取topic 'test'的topic属性属性
- Properties props = AdminUtils.fetchEntityConfig(zkUtils, ConfigType.Topic(), "__consumer_offsets");
- // 查询topic-level属性
- Iterator it = props.entrySet().iterator();
- while(it.hasNext()){
- Map.Entry entry=(Map.Entry)it.next();
- Object key = entry.getKey();
- Object value = entry.getValue();
- System.out.println(key + " = " + value);
- }
- zkUtils.close();
- }
- /**
- *
- * 判断某个topic是否存在
- *
- * @param topicName
- */
- @Test
- public void topicExists(String topicName) {
- ZkUtils zkUtils = ZkUtils.apply("zkHost", 30000, 30000, JaasUtils.isZkSecurityEnabled());
- boolean exists = AdminUtils.topicExists(zkUtils,topicName);
- }
- /**
- *
- * 获取topiclist
- */
- @Test
- public void getTopicList() {
- ZkUtils zkUtils = ZkUtils.apply("zkHost", 30000, 30000, JaasUtils.isZkSecurityEnabled());
- List<String> allTopicList = JavaConversions.seqAsJavaList(zkUtils.getAllTopics());
- }
- }
Kafka Topic Api的更多相关文章
- Kafka Consumer API样例
Kafka Consumer API样例 1. 自动确认Offset 说明参照:http://blog.csdn.net/xianzhen376/article/details/51167333 Pr ...
- Kafka消费者APi
Kafka客户端从集群中消费消息,并透明地处理kafka集群中出现故障服务器,透明地调节适应集群中变化的数据分区.也和服务器交互,平衡均衡消费者. public class KafkaConsumer ...
- Kafka(五)Kafka的API操作和拦截器
一 kafka的API操作 1.1 环境准备 1)在eclipse中创建一个java工程 2)在工程的根目录创建一个lib文件夹 3)解压kafka安装包,将安装包libs目录下的jar包拷贝到工程的 ...
- kafka restful api功能介绍与使用
前述 采用confluent kafka-rest proxy实现kafka restful service时候(具体参考上一篇笔记),通过http协议数据传输,需要注意的是采用了base64编码(或 ...
- Kafka笔记整理(二):Kafka Java API使用
下面的测试代码使用的都是下面的topic: $ kafka-topics.sh --describe hadoop --zookeeper uplooking01:,uplooking02:,uplo ...
- 《Kafka笔记》3、Kafka高级API
目录 1 Kafka高级API特性 1.1 Offset的自动控制 1.1.1 消费者offset初始策略 1.1.2 消费者offset自动提交策略 1.2 Acks & Retries(应 ...
- Kafka之 API实战
Kafka之 API实战 一.环境准备 1)启动zk和kafka集群,在kafka集群中打开一个消费者 [hadoop1 kafka]$ bin/kafka-console-consumer.sh \ ...
- Kafka Topic Partition Replica Assignment实现原理及资源隔离方案
本文共分为三个部分: Kafka Topic创建方式 Kafka Topic Partitions Assignment实现原理 Kafka资源隔离方案 1. Kafka Topic创建方式 ...
- Exception in thread "main" org.I0Itec.zkclient.exception.ZkAuthFailedException: Authentication failure is thrown while creating kafka topic
Exception in thread "main" org.I0Itec.zkclient.exception.ZkAuthFailedException: Authentica ...
随机推荐
- Future FutrueTask Callable类源码说明以及原理使用
1.Future Callable FutureTask 源码说明 JDK内置的Future主要使用到了Callable接口和FutureTask类. Callable是类似于Runnable的接口, ...
- Android为TV端助力 遥控器的映射
第一编写kl文件时先在盒子上输入getevent -v查看设备信息,设备信息里有vendor.product.version, 假如分别是xxxx,yyyy,zzzz,那么你的文件名就要命名为Vend ...
- 自己动手写Android插件化框架,让老板对你刮目相看
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由达文西发表于云+社区专栏 最近在工作中接触到了Android插件内的开发,发现自己这种技术还缺乏最基本的了解,以至于在一些基本问题上浪 ...
- git 入门教程之知识速查
知识速查 创建版本库 初始化项目 git init 从零开始创建项目 示例 git init 克隆项目 git clone 将已有项目拷贝到本地 示例 git clone git@github.com ...
- 修改minifest使桌面软件支持高dpi
在VisualStudio中可以很方便的设置manifest以支持高dpi的用户界面.当然也可以手工修改manifest文件来添加对高dpi的支持. QQ在高dpi方面做的尤其差,对高dpi的支持迟迟 ...
- [20181007]12cR2 Using SQL Patch 2.txt
[20181007]12cR2 Using SQL Patch 2.txt --//12cR2 已经把sql打补丁集成进入dbms_sqldiag,不是11g的 DBMS_SQLDIAG_INTERN ...
- C#-结构体(十)
结构体概念 在C#中,结构体是值类型,一般适用于表示类似Point.Rectangle.Color的对象 值类型能够降低对堆的管理.使用.降低垃圾回收,表现出更好的性能.可是值类型也有不好的一面.会涉 ...
- c# 建立到数据源的连接 以及获取项目配置文件的属性
两种连接数据库的写法: <connectionStrings> <add name="HRModelsContainer" connectionString=&q ...
- 几种方法来实现scp拷贝时无需输入密码
欢迎转载!转载时请注明出处:http://blog.csdn.net/nfer_zhuang/article/details/42646849 前言 我在工作中经常要将一些文件传输到另外一个服务器上, ...
- cURL模拟POST提交数据
首先,是这个代码: <?php //curl模拟post提交数据$url = "http://127.0.0.1/immoc/output.php";$post_data = ...