首先 更改linux 中 kafka 配置 具体如下
更改 server.properties 里面配置
broker.id =0:每一个broker在集群中的唯一表示,要求是正数。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响消费者(consumers)的消息情况
**host.name: **broker的主机地址,若是设置了,那么会绑定到这个地址上
log.dirs=/data/kafka-logs: kafka数据的存放地址,多个地址的话用逗号分割
zookeeper.connect = 192.168.71.134:2181: zookeeper集群的地址,可以是多个,多个之间用逗号分割hostname1:port1,hostname2:port2,hostname3:port3
**zookeeper.connection.timeout.ms =6000 : **ZooKeeper的连接超时时间
完成 配置 后 保存配置
关闭防火墙 或者 开放 9092 和2181 端口号
//开放9092端口号
firewall-cmd --zone=public --add-port=9092/tcp --permanent
//开放2181端口号
firewall-cmd --zone=public --add-port=2181/tcp --permanent
//查看已开放的端口号(开放完 重启防火墙之后才可看见开放端口号)
firewall-cmd --list-ports
//重启防火墙
firewall-cmd --reload
//关闭防火墙(不是永久关闭 下次开机 防火墙会自动开启)
systemctl stop firewalld.service
按照搭建单机环境搭建步骤 启动kafka 打开消费端
https://blog.csdn.net/weixin_43726822/article/details/86305135
点此查看
打开windows idea 开发工具 创建maven 项目
1 在 pom.xml 文件中 添加 jar 坐标
<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.0.0</version>
</dependency>
http://kafka.apache.org/0100/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html
(注意:每个版本的api 不一样) producer api 可进入
public static void main(String[] args) {
Properties props = new Properties(); //记得导入util 包
//与kafka 连接
props.put("bootstrap.servers", "192.168.71.134:9092"); //zookeeper.connect 一致
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); //进行组名序列化
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); //进行传值的序列化
KafkaProducer<String,String> kafkaProducer = new KafkaProducer<>(props);
//发送
kafkaProducer.send(new ProducerRecord<String, String>("test", "hello kafka"));
// test 为组名 (已经创建好的) hello kafka 为 需要传递的参数
kafkaProducer.close(); // 关闭连接
}
执行以上代码
至此 配置完成