Java Api Consumer 连接启用Kerberos认证的Kafka
来源:互联网 发布:蝴蝶效应3 知乎 编辑:程序博客网 时间:2024/06/11 00:03
java程序连接到一个需要Kerberos认证的kafka集群上,消费生产者生产的信息,kafka版本是2.10-0.10.0.1;
Java程序以maven构建,(怎么构建maven工程,可去问下度娘:“maven工程入门示例”)
先上pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.ht</groupId> <artifactId>kafkaTest</artifactId> <version>1.0</version> <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.0.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build></project>
然后是Jave代码,先上图,一一解释图中标识:
注释:
1:可以将所需的配置文件加载到程序;(参见:度娘--“JDK 运行参数 JAVA -Dxxx与System.setProperty()的关系”)
2:新版本的Producter和Consumer都可以直接连接brocker,不用再配置zookeeper的相关信息,所以这里是要连接的kafka的主机ip和端口号
3:设置的topic的组Id
4:设置偏移量
5:设置认证配置
6:设置所要读取的主题Topic
import java.util.Arrays;import java.util.Properties;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apache.kafka.clients.consumer.ConsumerRecords;import org.apache.kafka.clients.consumer.KafkaConsumer;public class ConsumerTest {public static void main(String[] args) {//System.setProperty("java.security.auth.login.config", "/home/kafka/kafka_client_jaas.conf"); //System.setProperty("java.security.krb5.conf", "/home/kafka/krb5.conf"); // 环境变量添加,需要输入配置文件的路径System.out.println("===================配置文件地址"+fsPath+"\\conf\\cons_client_jaas.conf"); Properties props = new Properties(); props.put("bootstrap.servers", "192.168.132.130:9092"); props.put("group.id", "group-1111"); props.put("enable.auto.commit", "false"); props.put("auto.commit.interval.ms", "1000"); props.put("auto.offset.reset", "earliest"); props.put("session.timeout.ms", "30000"); props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); props.put("security.protocol", "SASL_PLAINTEXT"); props.put("sasl.mechanism", "GSSAPI"); props.put("sasl.kerberos.service.name", "kafka");KafkaConsumer kafkaConsumer = new KafkaConsumer<>(props); kafkaConsumer.subscribe(Arrays.asList("cust_info"));while (true) { ConsumerRecords<String, String> records = kafkaConsumer.poll(1); for (ConsumerRecord<String, String> record : records) System.out.println("Partition: " + record.partition() + " Offset: " + record.offset() + " Value: " + record.value() + " ThreadID: " + Thread.currentThread().getId());}}}
以上就是所有配置,将工程通过导出为Runnable JAR file 导出为jar文件
直接运行 java -jar jar包名.jar 即可;
如果程序里没有设置1相关的配置文件,也可以运行下列命令:
java -Djava.security.auth.login.config=/home/kafka/kafka_client_jaas.conf -Djava.security.krb5.conf=/home/kafka/krb5.conf -jar jar包名.jar
阅读全文
0 0
- Java Api Consumer 连接启用Kerberos认证的Kafka
- Kafka Consumer java api 配置
- Kafka Consumer Java API实现
- java调用Kafka的Consumer
- Java通过认证kerberos连接HDFS
- Kafka Consumer的底层API- SimpleConsumer
- Kafka consumer API简介
- Kafka Consumer API样例
- Kafka New Consumer API
- Kafka Consumer API样例
- Spark连接需Kerberos认证的HBase
- Kafka详解五、Kafka Consumer的底层API- SimpleConsumer
- Kafka详解五、Kafka Consumer的底层API- SimpleConsumer
- java API 访问带有Kerberos认证的HBase时window服务器的配置
- Kafka 0.11.0.0 producer&consumer java API实例
- kafka consumer java 开发
- java kafka consumer
- windows环境 java jdbc 连接impala (kerberos认证)
- 反转部分单向链表
- 深入理解行内元素的布局
- 手把手教你写Dockerfile, 附赠MongoDB和Nginx Dockerfile编写实例
- 纪念C语言之父丹尼斯·里奇离世6周年
- C++三大特性 -- 封装
- Java Api Consumer 连接启用Kerberos认证的Kafka
- 百度编辑器的使用
- 链栈
- elk安装及使用四(logstash的安装及使用)
- tensorflow 池化操作实例 tf.nn.max_pooling
- 让我们来谈谈对Linux的认识,值得每一位运维人员深读
- openlayer朝花夕拾
- java中servlet的过滤器
- 使用SIFT实现图像配准