最好的方式肯定是合理化分区数量,但是一般用户都会存在不合理使用的情况。
linkin 有一个侵入式的工具CC可以实现按需负载均衡,也可以从broker拉jmx指标,手动实现根据紧缺的资源(我们一般是网络出口流量)进行reblance的操作。
利用kakfa_clients的java api连接认证的kerberos kafka集群是无法进行主题列表和创建主题的,但是我在pom.xml直接引入如下包:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>1.1.1</version>
</dependency>
利用服务端的kakfa连接zookeeper是可以不用认证的的,利用zk可以直接创建主题或者删除主题,及时下面的代码。
ZkUtils zkUtils = ZkUtils. apply ("172.14.59.190:22181", 30000, 30000, JaasUtils.
isZkSecurityEnabled());
AdminUtils.createTopic(zkUtils,"test003",1,1,new Properties (),RackAwareMode.Enforced$.MODULE$) ;
zkUtils.close();
那既然引用的kakfa包下的,那我上面的代码不更应该需要直接走kerberos认证才能删除代码吗?为何我不用认证kerberos,就可以直接删除主题呢?我想问的是这个。
你看下引用的包,都是kafka包下的呀。